diff '--color=auto' -ruN patchutils-0.4.4/aclocal.m4 patchutils-0.4.4.1/aclocal.m4
--- patchutils-0.4.4/aclocal.m4	2025-09-26 14:59:20.000000000 +0200
+++ patchutils-0.4.4.1/aclocal.m4	2026-02-07 15:51:30.000000000 +0100
@@ -1857,6 +1857,7 @@
 m4_include([m4/stdlib_h.m4])
 m4_include([m4/strerror.m4])
 m4_include([m4/string_h.m4])
+m4_include([m4/stringeq.m4])
 m4_include([m4/sys_socket_h.m4])
 m4_include([m4/sys_stat_h.m4])
 m4_include([m4/sys_types_h.m4])
diff '--color=auto' -ruN patchutils-0.4.4/config.guess patchutils-0.4.4.1/config.guess
--- patchutils-0.4.4/config.guess	2025-09-26 14:59:22.000000000 +0200
+++ patchutils-0.4.4.1/config.guess	2026-02-07 15:51:33.000000000 +0100
@@ -1,10 +1,10 @@
-#!/usr/bin/sh
+#! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2024 Free Software Foundation, Inc.
+#   Copyright 1992-2025 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268 # see below for rationale
 
-timestamp='2024-07-27'
+timestamp='2025-07-10'
 
 # 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
@@ -60,7 +60,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2024 Free Software Foundation, Inc.
+Copyright 1992-2025 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."
@@ -1597,8 +1597,11 @@
     *:Unleashed:*:*)
 	GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
 	;;
-    *:Ironclad:*:*)
-	GUESS=$UNAME_MACHINE-unknown-ironclad
+    x86_64:[Ii]ronclad:*:*|i?86:[Ii]ronclad:*:*)
+	GUESS=$UNAME_MACHINE-pc-ironclad-mlibc
+	;;
+    *:[Ii]ronclad:*:*)
+	GUESS=$UNAME_MACHINE-unknown-ironclad-mlibc
 	;;
 esac
 
@@ -1808,8 +1811,8 @@
 exit 1
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-format: "%Y-%02m-%02d"
 # time-stamp-end: "'"
 # End:
diff '--color=auto' -ruN patchutils-0.4.4/config.h.in patchutils-0.4.4.1/config.h.in
--- patchutils-0.4.4/config.h.in	2025-09-26 14:59:22.000000000 +0200
+++ patchutils-0.4.4.1/config.h.in	2026-02-07 15:51:32.000000000 +0100
@@ -161,6 +161,9 @@
 /* Define to 1 when the gnulib module strerror should be tested. */
 #undef GNULIB_TEST_STRERROR
 
+/* Define to 1 when the gnulib module stringeq should be tested. */
+#undef GNULIB_TEST_STRINGEQ
+
 /* Define to 1 when the gnulib module vfprintf should be tested. */
 #undef GNULIB_TEST_VFPRINTF
 
@@ -223,6 +226,10 @@
    */
 #undef HAVE_DECL_GETW
 
+/* Define to 1 if you have the declaration of 'memeq', and to 0 if you don't.
+   */
+#undef HAVE_DECL_MEMEQ
+
 /* 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
@@ -235,6 +242,10 @@
    */
 #undef HAVE_DECL_PUTW
 
+/* Define to 1 if you have the declaration of 'streq', and to 0 if you don't.
+   */
+#undef HAVE_DECL_STREQ
+
 /* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you
    don't. */
 #undef HAVE_DECL_STRERROR_R
@@ -294,7 +305,7 @@
 /* Define to 1 if malloc (0) returns nonnull. */
 #undef HAVE_MALLOC_0_NONNULL
 
-/* Define if malloc, realloc, and calloc set errno on allocation failure. */
+/* Define if malloc and calloc set errno on allocation failure. */
 #undef HAVE_MALLOC_POSIX
 
 /* Define to 1 if malloc-like functions do not allocate objects larger than
@@ -392,6 +403,9 @@
 /* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H
 
+/* Define to 1 if you have the <sys/process.h> header file. */
+#undef HAVE_SYS_PROCESS_H
+
 /* Define to 1 if you have the <sys/socket.h> header file. */
 #undef HAVE_SYS_SOCKET_H
 
@@ -416,6 +430,9 @@
 /* Define if you have a global __progname variable */
 #undef HAVE_VAR___PROGNAME
 
+/* Define to 1 if you have the 'vasprintf' function. */
+#undef HAVE_VASPRINTF
+
 /* Define to 1 if you have the <wchar.h> header file. */
 #undef HAVE_WCHAR_H
 
@@ -467,7 +484,7 @@
    if isdigit is mistakenly implemented via a static inline function,
    a program containing an extern inline function that calls isdigit
    may not work since C99 through C23 prohibit extern inline functions
-   from calling static functions (ISO C 23 section 6.7.5.(2)).
+   from calling static functions (ISO C 23 § 6.7.5 ¶ 3)).
    Although a future C standard will likely relax this restriction
    <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3622.txt>,
    respect it for now.  This bug is known to occur on:
@@ -1182,22 +1199,25 @@
 #endif
 
 /* _GL_ATTRIBUTE_CONST declares:
-   It is OK for a compiler to move calls to the function and to omit
-   calls to the function if another call has the same arguments or the
-   result is not used.
-   This attribute is safe for a function that neither depends on
-   nor affects state, and always returns exactly once -
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached return value, even if the state changes between calls.
+   It is also OK to omit a call if the result is not used.
+   This attribute is safe if the function does not change observable state,
+   returns a value determined solely by its arguments' values
+   without examining state, and always returns exactly once -
    e.g., does not raise an exception, call longjmp, or loop forever.
    (This attribute is stricter than _GL_ATTRIBUTE_PURE because the
-   function cannot observe state.  It is stricter than
-   _GL_ATTRIBUTE_UNSEQUENCED because the function must return exactly
-   once and cannot depend on state addressed by its arguments.)  */
+   function cannot observe state.  Unlike _GL_ATTRIBUTE_UNSEQUENCED
+   the function must return exactly once and cannot access state
+   addressed by its pointer arguments or that happens to have the same
+   value for all calls to the function, but the function is allowed to
+   return a pointer to storage that can be modified later.  */
 /* Applies to: functions.  */
 #ifndef _GL_ATTRIBUTE_CONST
 # if _GL_HAS_ATTRIBUTE (const)
 #  define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
 # else
-#  define _GL_ATTRIBUTE_CONST _GL_ATTRIBUTE_UNSEQUENCED
+#  define _GL_ATTRIBUTE_CONST
 # endif
 #endif
 
@@ -1358,7 +1378,9 @@
 
 /* _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.  */
+   used.  However, 'int _GL_UNNAMED (i)' is preferable to
+   '_GL_ATTRIBUTE_MAYBE_UNUSED int i' when parameter I is unused
+   regardless of preprocessor macro settings.  */
 /* Applies to:
      - function, variable,
      - struct, union, struct/union member,
@@ -1512,39 +1534,40 @@
 #endif
 
 /* _GL_ATTRIBUTE_PURE declares:
-   It is OK for a compiler to move calls to the function and to omit
-   calls to the function if another call has the same arguments or the
-   result is not used, and if observable state is the same.
-   This attribute is safe for a function that does not affect observable state
-   and always returns exactly once.
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached return value, if observable state is the same.
+   It is also OK to omit a call if the return value is not used.
+   This attribute is safe if the function does not change observable state,
+   returns a value determined solely by its arguments's values
+   together with observable state, and always returns exactly once.
    (This attribute is looser than _GL_ATTRIBUTE_CONST because the function
-   can depend on observable state.  It is stricter than
-   _GL_ATTRIBUTE_REPRODUCIBLE because the function must return exactly
-   once and cannot affect state addressed by its arguments.)  */
+   can depend on observable state.
+   Unlike _GL_ATTRIBUTE_REPRODUCIBLE the function must return exactly
+   once and cannot change state addressed by its arguments, but the
+   function can return a pointer to storage whose contents change later.)  */
 /* Applies to: functions.  */
 #ifndef _GL_ATTRIBUTE_PURE
 # if _GL_HAS_ATTRIBUTE (pure)
 #  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
 # else
-#  define _GL_ATTRIBUTE_PURE _GL_ATTRIBUTE_REPRODUCIBLE
+#  define _GL_ATTRIBUTE_PURE
 # endif
 #endif
 
 /* _GL_ATTRIBUTE_REPRODUCIBLE declares:
-   It is OK for a compiler to move calls to the function and to omit duplicate
-   calls to the function with the same arguments, so long as the state
-   addressed by its arguments is the same and is updated in time for
-   the rest of the program.
-   This attribute is safe for a function that is effectless and idempotent; see
-   ISO C 23 § 6.7.12.7 for a definition of these terms.
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached value returned either directly or indirectly via
+   a pointer, if other observable state is the same;
+   however, pointer arguments cannot alias.
+   This attribute is safe for a function that is effectless and idempotent;
+   see ISO C 23 § 6.7.13.8 for a definition of these terms.
    (This attribute is looser than _GL_ATTRIBUTE_UNSEQUENCED because
-   the function need not be stateless and idempotent.  It is looser
-   than _GL_ATTRIBUTE_PURE because the function need not return
-   exactly once and can affect state addressed by its arguments.)
+   the function need not be stateless or independent.
+   Unlike _GL_ATTRIBUTE_PURE the function need not return exactly once
+   and can change state addressed by its pointer arguments, but the
+   function cannot return a pointer to storage whose contents change later.)
    See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
-   <https://stackoverflow.com/questions/76847905/>.
-   ATTENTION! Efforts are underway to change the meaning of this attribute.
-   See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>.  */
+   <https://stackoverflow.com/questions/76847905/>.  */
 /* Applies to: functions, pointer to functions, function types.  */
 #ifndef _GL_ATTRIBUTE_REPRODUCIBLE
 /* This may be revisited when gcc and clang support [[reproducible]] or possibly
@@ -1584,20 +1607,22 @@
 #endif
 
 /* _GL_ATTRIBUTE_UNSEQUENCED declares:
-   It is OK for a compiler to move calls to the function and to omit duplicate
-   calls to the function with the same arguments, so long as the state
-   addressed by its arguments is the same.
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached value returned either directly or indirectly via
+   a pointer, if the state addressed by its pointer arguments is the same;
+   however, pointer arguments cannot alias.
    This attribute is safe for a function that is effectless, idempotent,
-   stateless, and independent; see ISO C 23 § 6.7.12.7 for a definition of
+   stateless, and independent; see ISO C 23 § 6.7.13.8 for a definition of
    these terms.
    (This attribute is stricter than _GL_ATTRIBUTE_REPRODUCIBLE because
-   the function must be stateless and independent.  It is looser than
-   _GL_ATTRIBUTE_CONST because the function need not return exactly
-   once and can depend on state addressed by its arguments.)
+   the function must be stateless and independent.  Unlike
+   _GL_ATTRIBUTE_CONST the function need not return exactly once, and
+   can depend on state accessed via its pointer arguments or that
+   happens to have the same value for all calls to the function, but
+   the function cannot return a pointer to storage whose contents
+   change later.)
    See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
-   <https://stackoverflow.com/questions/76847905/>.
-   ATTENTION! Efforts are underway to change the meaning of this attribute.
-   See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>.  */
+   <https://stackoverflow.com/questions/76847905/>.  */
 /* Applies to: functions, pointer to functions, function types.  */
 #ifndef _GL_ATTRIBUTE_UNSEQUENCED
 /* This may be revisited when gcc and clang support [[unsequenced]] or possibly
@@ -1636,6 +1661,21 @@
 # endif
 #endif
 
+/* _GL_UNNAMED (ID) is the "name" of an unnamed function parameter.
+   Each of the function's unnamed parameters should have a unique "name".
+   The "name" cannot be used.  This ports both to C17 and earlier, which
+   lack unnamed parameters, and to C++ and later C, which have them.  */
+/* Applies to:
+     - function parameters.  */
+#ifndef _GL_UNNAMED
+# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 202311 \
+      && !defined __cplusplus)
+#  define _GL_UNNAMED(id) unnamed_##id _GL_ATTRIBUTE_UNUSED
+# else
+#  define _GL_UNNAMED(id)
+# endif
+#endif
+
 /* The following attributes enable detection of multithread-safety problems
    and resource leaks at compile-time, by clang ≥ 15, when the warning option
    -Wthread-safety is enabled.  For usage, see
diff '--color=auto' -ruN patchutils-0.4.4/config.sub patchutils-0.4.4.1/config.sub
--- patchutils-0.4.4/config.sub	2025-09-26 14:59:22.000000000 +0200
+++ patchutils-0.4.4.1/config.sub	2026-02-07 15:51:33.000000000 +0100
@@ -1,10 +1,10 @@
-#!/usr/bin/sh
+#! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2024 Free Software Foundation, Inc.
+#   Copyright 1992-2025 Free Software Foundation, Inc.
 
 # shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
 
-timestamp='2024-05-27'
+timestamp='2025-07-10'
 
 # 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
@@ -76,7 +76,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2024 Free Software Foundation, Inc.
+Copyright 1992-2025 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."
@@ -145,6 +145,7 @@
 			| kfreebsd*-gnu* \
 			| knetbsd*-gnu* \
 			| kopensolaris*-gnu* \
+			| ironclad-* \
 			| linux-* \
 			| managarm-* \
 			| netbsd*-eabi* \
@@ -242,7 +243,6 @@
 					| rombug \
 					| semi \
 					| sequent* \
-					| siemens \
 					| sgi* \
 					| siemens \
 					| sim \
@@ -261,7 +261,7 @@
 						basic_machine=$field1-$field2
 						basic_os=
 						;;
-					zephyr*)
+					tock* | zephyr*)
 						basic_machine=$field1-unknown
 						basic_os=$field2
 						;;
@@ -1194,7 +1194,7 @@
 	xscale-* | xscalee[bl]-*)
 		cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
 		;;
-	arm64-* | aarch64le-*)
+	arm64-* | aarch64le-* | arm64_32-*)
 		cpu=aarch64
 		;;
 
@@ -1321,6 +1321,7 @@
 			| i960 \
 			| ia16 \
 			| ia64 \
+			| intelgt \
 			| ip2k \
 			| iq2000 \
 			| javascript \
@@ -1522,6 +1523,10 @@
 		kernel=nto
 		os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
 		;;
+	ironclad*)
+		kernel=ironclad
+		os=`echo "$basic_os" | sed -e 's|ironclad|mlibc|'`
+		;;
 	linux*)
 		kernel=linux
 		os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
@@ -1976,6 +1981,7 @@
 	| atheos* \
 	| auroraux* \
 	| aux* \
+	| banan_os* \
 	| beos* \
 	| bitrig* \
 	| bme* \
@@ -2022,7 +2028,6 @@
 	| ios* \
 	| iris* \
 	| irix* \
-	| ironclad* \
 	| isc* \
 	| its* \
 	| l4re* \
@@ -2118,6 +2123,7 @@
 	| sysv* \
 	| tenex* \
 	| tirtos* \
+	| tock* \
 	| toppers* \
 	| tops10* \
 	| tops20* \
@@ -2214,6 +2220,8 @@
 		;;
 	uclinux-uclibc*- | uclinux-gnu*- )
 		;;
+	ironclad-mlibc*-)
+		;;
 	managarm-mlibc*- | managarm-kernel*- )
 		;;
 	windows*-msvc*-)
@@ -2249,6 +2257,8 @@
 		;;
 	*-eabi*- | *-gnueabi*-)
 		;;
+	ios*-simulator- | tvos*-simulator- | watchos*-simulator- )
+		;;
 	none--*)
 		# None (no kernel, i.e. freestanding / bare metal),
 		# can be paired with an machine code file format
@@ -2347,8 +2357,8 @@
 exit
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-format: "%Y-%02m-%02d"
 # time-stamp-end: "'"
 # End:
diff '--color=auto' -ruN patchutils-0.4.4/configure patchutils-0.4.4.1/configure
--- patchutils-0.4.4/configure	2025-09-26 14:59:22.000000000 +0200
+++ patchutils-0.4.4.1/configure	2026-02-07 15:51:32.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for patchutils 0.4.4.
+# Generated by GNU Autoconf 2.72 for patchutils 0.4.4.1.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
@@ -601,8 +601,8 @@
 # Identity of this package.
 PACKAGE_NAME='patchutils'
 PACKAGE_TARNAME='patchutils'
-PACKAGE_VERSION='0.4.4'
-PACKAGE_STRING='patchutils 0.4.4'
+PACKAGE_VERSION='0.4.4.1'
+PACKAGE_STRING='patchutils 0.4.4.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -755,7 +755,9 @@
 GL_GNULIB_STRPBRK
 GL_GNULIB_STRNLEN
 GL_GNULIB_STRNDUP
+GL_GNULIB_STRNCPY
 GL_GNULIB_STRNCAT
+GL_GNULIB_STRINGEQ
 GL_GNULIB_STRDUP
 GL_GNULIB_STRCHRNUL
 GL_GNULIB_STPNCPY
@@ -783,6 +785,7 @@
 REPLACE_STRSTR
 REPLACE_STRNLEN
 REPLACE_STRNDUP
+REPLACE_STRNCPY
 REPLACE_STRNCAT
 REPLACE_STRDUP
 REPLACE_STRCHRNUL
@@ -806,6 +809,7 @@
 HAVE_STRPBRK
 HAVE_DECL_STRNLEN
 HAVE_DECL_STRNDUP
+HAVE_DECL_STREQ
 HAVE_DECL_STRDUP
 HAVE_STRCHRNUL
 HAVE_STPNCPY
@@ -815,6 +819,7 @@
 HAVE_MEMSET_EXPLICIT
 HAVE_MEMPCPY
 HAVE_DECL_MEMMEM
+HAVE_DECL_MEMEQ
 HAVE_FFSLL
 HAVE_FFSL
 HAVE_EXPLICIT_BZERO
@@ -822,12 +827,12 @@
 LOCALE_EN_UTF8
 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H
 NEXT_STDLIB_H
+GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE
+GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE
 GL_COND_OBJ_STDIO_WRITE_FALSE
 GL_COND_OBJ_STDIO_WRITE_TRUE
 GL_COND_OBJ_STDIO_READ_FALSE
 GL_COND_OBJ_STDIO_READ_TRUE
-GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE
-GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE
 NEXT_AS_FIRST_DIRECTIVE_STDIO_H
 NEXT_STDIO_H
 GL_GENERATE_STDINT_H_FALSE
@@ -1023,6 +1028,7 @@
 REPLACE__EXIT
 HAVE_DECL_UNSETENV
 HAVE_UNLOCKPT
+HAVE_SYS_PROCESS_H
 HAVE_SYS_LOADAVG_H
 HAVE_STRUCT_RANDOM_DATA
 HAVE_STRTOULL
@@ -1254,6 +1260,7 @@
 NEXT_FCNTL_H
 GL_GNULIB_MDA_OPEN
 GL_GNULIB_MDA_CREAT
+GL_GNULIB_OPENAT2
 GL_GNULIB_OPENAT
 GL_GNULIB_OPEN
 GL_GNULIB_NONBLOCKING
@@ -1265,6 +1272,7 @@
 REPLACE_OPEN
 REPLACE_FCNTL
 REPLACE_CREAT
+HAVE_OPENAT2
 HAVE_OPENAT
 HAVE_FCNTL
 GL_COND_OBJ_ERROR_FALSE
@@ -2173,7 +2181,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 patchutils 0.4.4 to adapt to many kinds of systems.
+'configure' configures patchutils 0.4.4.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2244,7 +2252,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of patchutils 0.4.4:";;
+     short | recursive ) echo "Configuration of patchutils 0.4.4.1:";;
    esac
   cat <<\_ACEOF
 
@@ -2350,7 +2358,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-patchutils configure 0.4.4
+patchutils configure 0.4.4.1
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
@@ -3033,7 +3041,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by patchutils $as_me 0.4.4, which was
+It was created by patchutils $as_me 0.4.4.1, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -3647,6 +3655,7 @@
 as_fn_append ac_func_c_list " fcntl HAVE_FCNTL"
 as_fn_append ac_func_c_list " symlink HAVE_SYMLINK"
 as_fn_append ac_func_c_list " getdtablesize HAVE_GETDTABLESIZE"
+as_fn_append ac_header_c_list " sys/process.h sys_process_h HAVE_SYS_PROCESS_H"
 as_fn_append ac_func_c_list " getexecname HAVE_GETEXECNAME"
 as_fn_append ac_header_c_list " limits.h limits_h HAVE_LIMITS_H"
 as_fn_append ac_header_c_list " xlocale.h xlocale_h HAVE_XLOCALE_H"
@@ -4526,7 +4535,7 @@
 
 # Define the identity of the package.
  PACKAGE='patchutils'
- VERSION='0.4.4'
+ VERSION='0.4.4.1'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -6777,8 +6786,8 @@
 fi
 if test "$enable_largefile,$enable_year2038" != no,no
 then :
-  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to support large files" >&5
-printf %s "checking for $CC option to support large files... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CPPFLAGS option for large files" >&5
+printf %s "checking for $CPPFLAGS option for large files... " >&6; }
 if test ${ac_cv_sys_largefile_opts+y}
 then :
   printf %s "(cached) " >&6
@@ -6880,8 +6889,8 @@
 
 if test "$enable_year2038" != no
 then :
-  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to support timestamps after 2038" >&5
-printf %s "checking for $CC option to support timestamps after 2038... " >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CPPFLAGS option for timestamps after 2038" >&5
+printf %s "checking for $CPPFLAGS option for timestamps after 2038... " >&6; }
 if test ${ac_cv_sys_year2038_opts+y}
 then :
   printf %s "(cached) " >&6
@@ -7024,10 +7033,12 @@
   printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h
 
 
+  # Code from module stdio-windows:
   # Code from module stdlib-h:
   # Code from module strerror:
   # Code from module strerror-override:
   # Code from module string-h:
+  # Code from module stringeq:
   # Code from module sys_stat-h:
   # Code from module sys_types-h:
 
@@ -9672,6 +9683,7 @@
 
     HAVE_FCNTL=1;
   HAVE_OPENAT=1;
+  HAVE_OPENAT2=0;
   REPLACE_CREAT=0;
   REPLACE_FCNTL=0;
   REPLACE_OPEN=0;
@@ -9700,6 +9712,10 @@
 
 
 
+  GL_GNULIB_OPENAT2=0
+
+
+
   GL_GNULIB_MDA_CREAT=1
 
 
@@ -10857,6 +10873,7 @@
   HAVE_STRTOULL=1;
   HAVE_STRUCT_RANDOM_DATA=1;
   HAVE_SYS_LOADAVG_H=0;
+  HAVE_SYS_PROCESS_H=0;
   HAVE_UNLOCKPT=1;
   HAVE_DECL_UNSETENV=1;
   REPLACE__EXIT=0;
@@ -10906,6 +10923,7 @@
 
 
 
+
   GL_GNULIB__EXIT=0
 
 
@@ -12054,14 +12072,14 @@
 
 
 
-  { 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; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether malloc, calloc set errno on failure" >&5
+printf %s "checking whether malloc, calloc set errno on failure... " >&6; }
 if test ${gl_cv_func_malloc_posix+y}
 then :
   printf %s "(cached) " >&6
 else case e in #(
   e)
-                                    case "$host_os" in
+                                          case "$host_os" in
         mingw* | windows*)
                                         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -12090,6 +12108,7 @@
           ;;
         solaris*)
 
+
           gl_cv_func_malloc_posix=no ;;
         *)
           gl_cv_func_malloc_posix=yes ;;
@@ -14081,6 +14100,7 @@
     HAVE_EXPLICIT_BZERO=1;
   HAVE_FFSL=1;
   HAVE_FFSLL=1;
+  HAVE_DECL_MEMEQ=0;
   HAVE_DECL_MEMMEM=1;
   HAVE_MEMPCPY=1;
   HAVE_MEMSET_EXPLICIT=1;
@@ -14090,6 +14110,7 @@
   HAVE_STPNCPY=1;
   HAVE_STRCHRNUL=1;
   HAVE_DECL_STRDUP=1;
+  HAVE_DECL_STREQ=0;
   HAVE_DECL_STRNDUP=1;
   HAVE_DECL_STRNLEN=1;
   HAVE_STRPBRK=1;
@@ -14113,6 +14134,7 @@
   REPLACE_STRCHRNUL=0;
   REPLACE_STRDUP=0;
   REPLACE_STRNCAT=0;
+  REPLACE_STRNCPY=0;
   REPLACE_STRNDUP=0;
   REPLACE_STRNLEN=0;
   REPLACE_STRSTR=0;
@@ -14250,10 +14272,18 @@
 
 
 
+  GL_GNULIB_STRINGEQ=0
+
+
+
   GL_GNULIB_STRNCAT=0
 
 
 
+  GL_GNULIB_STRNCPY=0
+
+
+
   GL_GNULIB_STRNDUP=0
 
 
@@ -14476,6 +14506,26 @@
 
 
 
+ac_fn_check_decl "$LINENO" "streq" "ac_cv_have_decl_streq" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_streq" = xyes
+then :
+  ac_have_decl=1
+else case e in #(
+  e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_STREQ $ac_have_decl" >>confdefs.h
+
+ac_fn_check_decl "$LINENO" "memeq" "ac_cv_have_decl_memeq" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_memeq" = xyes
+then :
+  ac_have_decl=1
+else case e in #(
+  e) ac_have_decl=0 ;;
+esac
+fi
+printf "%s\n" "#define HAVE_DECL_MEMEQ $ac_have_decl" >>confdefs.h
+
 
 
 
@@ -15181,7 +15231,7 @@
       -Wno-sign-conversion
       -Wno-type-limits
       #endif
-      #if (__GNUC__ + (__GNUC_MINOR__ >= 4) > 4 && !defined __clang__) || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      #if (__GNUC__ + (__GNUC_MINOR__ >= 1) > 6 && !defined __clang__) || (__clang_major__ + (__clang_minor__ >= 9) > 3)
       -Wno-unused-const-variable
       #endif
       #if (__GNUC__ + (__GNUC_MINOR__ >= 5) > 4 && !defined __clang__)
@@ -16390,6 +16440,7 @@
     int main ()
     {
       FILE *in = fopen ("./conftest.data", "r");
+      int result = 0;
       if (!in)
         return 1;
       {
@@ -16399,7 +16450,7 @@
         size_t siz = 0;
         int len = getdelim (&line, &siz, '\n', in);
         if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
-          { free (line); fclose (in); return 2; }
+          result |= 2;
         free (line);
       }
       {
@@ -16408,11 +16459,11 @@
         char *line = NULL;
         size_t siz = (size_t)(~0) / 4;
         if (getdelim (&line, &siz, '\n', in) == -1)
-          { fclose (in); return 3; }
+          result |= 4;
         free (line);
       }
       fclose (in);
-      return 0;
+      return result;
     }
 
 _ACEOF
@@ -16430,6 +16481,7 @@
 
            ;;
        esac
+       rm -f conftest.data
        ;;
 esac
 fi
@@ -16746,6 +16798,7 @@
     int main ()
     {
       FILE *in = fopen ("./conftest.data", "r");
+      int result = 0;
       if (!in)
         return 1;
       {
@@ -16755,7 +16808,7 @@
         size_t siz = 0;
         int len = getline (&line, &siz, in);
         if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
-          { free (line); fclose (in); return 2; }
+          result |= 2;
         free (line);
       }
       {
@@ -16764,11 +16817,11 @@
         char *line = NULL;
         size_t siz = (size_t)(~0) / 4;
         if (getline (&line, &siz, in) == -1)
-          { fclose (in); return 3; }
+          result |= 4;
         free (line);
       }
       fclose (in);
-      return 0;
+      return result;
     }
 
 _ACEOF
@@ -16784,6 +16837,7 @@
 esac
 fi
 
+       rm -f conftest.data
        ;;
 esac
 fi
@@ -16852,6 +16906,12 @@
 
 
 
+  if test $ac_cv_header_sys_process_h = yes; then
+    HAVE_SYS_PROCESS_H=1
+  else
+    HAVE_SYS_PROCESS_H=0
+  fi
+
 
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getprogname" >&5
 printf %s "checking for getprogname... " >&6; }
@@ -17926,40 +17986,6 @@
 
 
 
-  USES_MSVCRT=0
-  case "$host_os" in
-    mingw* | windows*)
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-  #ifndef _UCRT
-   Special
-  #endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP_TRADITIONAL "Special" >/dev/null 2>&1
-then :
-  USES_MSVCRT=1
-fi
-rm -rf conftest*
-
-      ;;
-  esac
-
-     if test $USES_MSVCRT = 1; then
-  GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE=
-  GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE='#'
-else
-  GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE='#'
-  GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE=
-fi
-:
-    if test -z "${GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE}" && test -z "${GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE}"; then
-    GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE='#'
-    GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE='#'
-  fi
-
 
      if test $REPLACE_STDIO_READ_FUNCS = 1; then
   GL_COND_OBJ_STDIO_READ_TRUE=
@@ -18322,6 +18348,48 @@
 
 
 
+  USES_MSVCRT=0
+  case "$host_os" in
+    mingw* | windows*)
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+  #ifndef _UCRT
+   Special
+  #endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP_TRADITIONAL "Special" >/dev/null 2>&1
+then :
+  USES_MSVCRT=1
+fi
+rm -rf conftest*
+
+      ;;
+  esac
+
+     if test $USES_MSVCRT = 1; then
+  GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE=
+  GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE='#'
+else
+  GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE='#'
+  GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE=
+fi
+:
+    if test -z "${GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE}" && test -z "${GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE}"; then
+    GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE='#'
+    GL_COND_OBJ_STDIO_CONSOLESAFE_FALSE='#'
+  fi
+
+  ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf"
+if test "x$ac_cv_func_vasprintf" = xyes
+then :
+  printf "%s\n" "#define HAVE_VASPRINTF 1" >>confdefs.h
+
+fi
+
+
 
 
 
@@ -18492,6 +18560,44 @@
 
 
 
+  if test $ac_cv_have_decl_streq != no; then
+    HAVE_DECL_STREQ=1
+  fi
+
+
+
+
+  if test $ac_cv_have_decl_memeq != no; then
+    HAVE_DECL_MEMEQ=1
+  fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+          GL_GNULIB_STRINGEQ=1
+
+
+
+
+
+printf "%s\n" "#define GNULIB_TEST_STRINGEQ 1" >>confdefs.h
+
+
+
+
+
+
 
 
 
@@ -19283,7 +19389,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by patchutils $as_me 0.4.4, which was
+This file was extended by patchutils $as_me 0.4.4.1, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19351,7 +19457,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-patchutils config.status 0.4.4
+patchutils config.status 0.4.4.1
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 
diff '--color=auto' -ruN patchutils-0.4.4/configure.ac patchutils-0.4.4.1/configure.ac
--- patchutils-0.4.4/configure.ac	2025-09-26 14:28:21.000000000 +0200
+++ patchutils-0.4.4.1/configure.ac	2026-02-07 15:38:31.000000000 +0100
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([patchutils],[0.4.4])
+AC_INIT([patchutils],[0.4.4.1])
 AC_CONFIG_SRCDIR(patchutils.spec.in)
 AC_CONFIG_HEADERS(config.h)
 
diff '--color=auto' -ruN patchutils-0.4.4/doc/combinediff.1 patchutils-0.4.4.1/doc/combinediff.1
--- patchutils-0.4.4/doc/combinediff.1	2025-09-26 15:02:40.000000000 +0200
+++ patchutils-0.4.4.1/doc/combinediff.1	2026-02-07 15:52:23.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: combinediff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 23 Jan 2009
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/dehtmldiff.1 patchutils-0.4.4.1/doc/dehtmldiff.1
--- patchutils-0.4.4/doc/dehtmldiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/dehtmldiff.1	2026-02-07 15:52:25.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: dehtmldiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 17 January 2003
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/editdiff.1 patchutils-0.4.4.1/doc/editdiff.1
--- patchutils-0.4.4/doc/editdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/editdiff.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/rediff.1
+.so rediff.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/espdiff.1 patchutils-0.4.4.1/doc/espdiff.1
--- patchutils-0.4.4/doc/espdiff.1	2025-09-26 15:02:42.000000000 +0200
+++ patchutils-0.4.4.1/doc/espdiff.1	2026-02-07 15:52:26.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: espdiff
 .\"    Author: Mike Harris <mharris@redhat.com>
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 5 March 2003
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/filterdiff.1 patchutils-0.4.4.1/doc/filterdiff.1
--- patchutils-0.4.4/doc/filterdiff.1	2025-09-26 15:02:40.000000000 +0200
+++ patchutils-0.4.4.1/doc/filterdiff.1	2026-02-07 15:52:23.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: filterdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 23 Jan 2009
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/fixcvsdiff.1 patchutils-0.4.4.1/doc/fixcvsdiff.1
--- patchutils-0.4.4/doc/fixcvsdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/fixcvsdiff.1	2026-02-07 15:52:23.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: fixcvsdiff
 .\"    Author: Amir Karger <karger@post.harvard.edu>
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 7 Dec 2001
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/flipdiff.1 patchutils-0.4.4.1/doc/flipdiff.1
--- patchutils-0.4.4/doc/flipdiff.1	2025-09-26 15:02:42.000000000 +0200
+++ patchutils-0.4.4.1/doc/flipdiff.1	2026-02-07 15:52:26.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: flipdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 23 January 2009
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/gitdiff.1 patchutils-0.4.4.1/doc/gitdiff.1
--- patchutils-0.4.4/doc/gitdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/gitdiff.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/patchview.1
+.so patchview.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/gitdiffview.1 patchutils-0.4.4.1/doc/gitdiffview.1
--- patchutils-0.4.4/doc/gitdiffview.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/gitdiffview.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/patchview.1
+.so patchview.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/gitshow.1 patchutils-0.4.4.1/doc/gitshow.1
--- patchutils-0.4.4/doc/gitshow.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/gitshow.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/patchview.1
+.so patchview.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/gitshowview.1 patchutils-0.4.4.1/doc/gitshowview.1
--- patchutils-0.4.4/doc/gitshowview.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/gitshowview.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/patchview.1
+.so patchview.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/grepdiff.1 patchutils-0.4.4.1/doc/grepdiff.1
--- patchutils-0.4.4/doc/grepdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/grepdiff.1	2026-02-07 15:52:24.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: grepdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 10 Feb 2011
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/interdiff.1 patchutils-0.4.4.1/doc/interdiff.1
--- patchutils-0.4.4/doc/interdiff.1	2025-09-26 15:02:40.000000000 +0200
+++ patchutils-0.4.4.1/doc/interdiff.1	2026-02-07 15:52:22.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: interdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 23 June 2009
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/lsdiff.1 patchutils-0.4.4.1/doc/lsdiff.1
--- patchutils-0.4.4/doc/lsdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/lsdiff.1	2026-02-07 15:52:23.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: lsdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 23 Jan 2009
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/patchview.1 patchutils-0.4.4.1/doc/patchview.1
--- patchutils-0.4.4/doc/patchview.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/patchview.1	2026-02-07 15:52:24.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: patchview
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 02 Jul 2020
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/recountdiff.1 patchutils-0.4.4.1/doc/recountdiff.1
--- patchutils-0.4.4/doc/recountdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/recountdiff.1	2026-02-07 15:52:25.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: recountdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 5 July 2002
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/rediff.1 patchutils-0.4.4.1/doc/rediff.1
--- patchutils-0.4.4/doc/rediff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/rediff.1	2026-02-07 15:52:24.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: rediff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 13 May 2002
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/splitdiff.1 patchutils-0.4.4.1/doc/splitdiff.1
--- patchutils-0.4.4/doc/splitdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/splitdiff.1	2026-02-07 15:52:24.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: splitdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 4 Nov 2014
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/doc/svndiff.1 patchutils-0.4.4.1/doc/svndiff.1
--- patchutils-0.4.4/doc/svndiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/svndiff.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/patchview.1
+.so patchview.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/svndiffview.1 patchutils-0.4.4.1/doc/svndiffview.1
--- patchutils-0.4.4/doc/svndiffview.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/svndiffview.1	2026-02-07 15:52:24.000000000 +0100
@@ -1 +1 @@
-.so man1/patchview.1
+.so patchview.1
diff '--color=auto' -ruN patchutils-0.4.4/doc/unwrapdiff.1 patchutils-0.4.4.1/doc/unwrapdiff.1
--- patchutils-0.4.4/doc/unwrapdiff.1	2025-09-26 15:02:41.000000000 +0200
+++ patchutils-0.4.4.1/doc/unwrapdiff.1	2026-02-07 15:52:25.000000000 +0100
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: unwrapdiff
 .\"    Author: 
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
 .\"      Date: 17 January 2003
 .\"    Manual: Man pages
 .\"    Source: patchutils
diff '--color=auto' -ruN patchutils-0.4.4/lib/alloca.in.h patchutils-0.4.4.1/lib/alloca.in.h
--- patchutils-0.4.4/lib/alloca.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/alloca.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2025 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2026 Free Software Foundation,
    Inc.
 
    This file is free software: you can redistribute it and/or modify
diff '--color=auto' -ruN patchutils-0.4.4/lib/arg-nonnull.h patchutils-0.4.4.1/lib/arg-nonnull.h
--- patchutils-0.4.4/lib/arg-nonnull.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/arg-nonnull.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/assert.in.h patchutils-0.4.4.1/lib/assert.in.h
--- patchutils-0.4.4/lib/assert.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/assert.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <assert.h>
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/basename-lgpl.c patchutils-0.4.4.1/lib/basename-lgpl.c
--- patchutils-0.4.4/lib/basename-lgpl.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/basename-lgpl.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2025 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2026 Free Software
    Foundation, Inc.
 
    This file is free software: you can redistribute it and/or modify
@@ -29,13 +29,11 @@
 last_component (char const *name)
 {
   char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
-  char const *p;
-  bool last_was_slash = false;
-
   while (ISSLASH (*base))
     base++;
 
-  for (p = base; *p; p++)
+  bool last_was_slash = false;
+  for (char const *p = base; *p; p++)
     {
       if (ISSLASH (*p))
         last_was_slash = true;
@@ -53,8 +51,6 @@
 base_len (char const *name)
 {
   size_t len;
-  size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
-
   for (len = strlen (name);  1 < len && ISSLASH (name[len - 1]);  len--)
     continue;
 
@@ -62,6 +58,7 @@
       && ISSLASH (name[0]) && ISSLASH (name[1]) && ! name[2])
     return 2;
 
+  size_t prefix_len = FILE_SYSTEM_PREFIX_LEN (name);
   if (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE && prefix_len
       && len == prefix_len && ISSLASH (name[prefix_len]))
     return prefix_len + 1;
diff '--color=auto' -ruN patchutils-0.4.4/lib/basename-lgpl.h patchutils-0.4.4.1/lib/basename-lgpl.h
--- patchutils-0.4.4/lib/basename-lgpl.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/basename-lgpl.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Extract the last component (base name) of a file name.
 
-   Copyright (C) 1998, 2001, 2003-2006, 2009-2025 Free Software Foundation,
+   Copyright (C) 1998, 2001, 2003-2006, 2009-2026 Free Software Foundation,
    Inc.
 
    This file is free software: you can redistribute it and/or modify
diff '--color=auto' -ruN patchutils-0.4.4/lib/c++defs.h patchutils-0.4.4.1/lib/c++defs.h
--- patchutils-0.4.4/lib/c++defs.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/c++defs.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2025 Free Software Foundation, Inc.
+   Copyright (C) 2010-2026 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
@@ -127,6 +127,16 @@
 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
   _GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
 
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
+   parenthesized func otherwise.  Parenthesization is needed in C23 if
+   the function is like strchr and so is a qualifier-generic macro
+   that expands to something more complicated.  */
+#ifdef __cplusplus
+# define _GL_FUNCDECL_SYS_NAME(func) func
+#else
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
+#endif
+
 /* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
    declares the system function, named func, with the given prototype,
    consisting of return type, parameters, and attributes.
@@ -139,7 +149,7 @@
      _GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
  */
 #define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
-  _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
+  _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
 
 /* _GL_CXXALIAS_RPL (func, rettype, parameters);
    declares a C++ alias called GNULIB_NAMESPACE::func
diff '--color=auto' -ruN patchutils-0.4.4/lib/cloexec.c patchutils-0.4.4.1/lib/cloexec.c
--- patchutils-0.4.4/lib/cloexec.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/cloexec.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* cloexec.c - set or clear the close-on-exec descriptor flag
 
-   Copyright (C) 1991, 2004-2006, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 1991, 2004-2006, 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/cloexec.h patchutils-0.4.4.1/lib/cloexec.h
--- patchutils-0.4.4/lib/cloexec.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/cloexec.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* cloexec.c - set or clear the close-on-exec descriptor flag
 
-   Copyright (C) 2004, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/close.c patchutils-0.4.4.1/lib/close.c
--- patchutils-0.4.4/lib/close.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/close.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2025 Free Software Foundation, Inc.
+   Copyright (C) 2008-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/dup2.c patchutils-0.4.4.1/lib/dup2.c
--- patchutils-0.4.4/lib/dup2.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/dup2.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Duplicate an open file descriptor to a specified file descriptor.
 
-   Copyright (C) 1999, 2004-2007, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2004-2007, 2009-2026 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
@@ -70,8 +70,6 @@
 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.  */
@@ -93,7 +91,7 @@
       return -1;
     }
 
-  result = dup2_nothrow (fd, desired_fd);
+  int result = dup2_nothrow (fd, desired_fd);
 
   if (result == 0)
     result = desired_fd;
@@ -110,14 +108,11 @@
 static int
 klibc_dup2dirfd (int fd, int desired_fd)
 {
-  int tempfd;
-  int dupfd;
-
-  tempfd = open ("NUL", O_RDONLY);
-  if (tempfd == -1)
-    return -1;
+  int tempfd = open ("NUL", O_RDONLY);
+  if (tempfd < 0)
+    return tempfd;
 
-  if (tempfd == desired_fd)
+  if (tempfd >= desired_fd)
     {
       close (tempfd);
 
@@ -125,10 +120,32 @@
       if (__libc_Back_ioFHToPath (fd, path, sizeof (path)))
         return -1;
 
-      return open(path, O_RDONLY);
+      for (;;)
+        {
+          close (desired_fd);
+
+          int dupfd = open (path, O_RDONLY);
+          if (dupfd < 0)
+            return dupfd;
+
+          if (dupfd == desired_fd)
+            return dupfd;
+
+          /* If lower FD was closed by other threads, fill again.  */
+          if (dupfd < desired_fd)
+            {
+              tempfd = dupfd;
+              break;
+            }
+
+          /* desired_fd was opened by other threads. Try again.  */
+          /* FIXME: Closing desired_fd opened by other threads may lead to
+             unexpected behavior.  */
+          close (dupfd);
+        }
     }
 
-  dupfd = klibc_dup2dirfd (fd, desired_fd);
+  int dupfd = klibc_dup2dirfd (fd, desired_fd);
 
   close (tempfd);
 
@@ -138,16 +155,16 @@
 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))
+  int dupfd = dup2 (fd, desired_fd);
+  if (dupfd < 0 && errno == ENOTSUP)
     {
-      close (desired_fd);
+      struct stat sbuf;
+      if (!fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
+        {
+          close (desired_fd);
 
-      return klibc_dup2dirfd (fd, desired_fd);
+          return klibc_dup2dirfd (fd, desired_fd);
+        }
     }
 
   return dupfd;
@@ -159,8 +176,6 @@
 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.
@@ -176,13 +191,14 @@
     return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
 #endif
 
-  result = dup2 (fd, desired_fd);
+  int result = dup2 (fd, desired_fd);
 
   /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x.  */
-  if (result == -1 && errno == EMFILE)
+  if (result < 0 && errno == EMFILE)
     errno = EBADF;
+
 #if REPLACE_FCHDIR
-  if (fd != desired_fd && result != -1)
+  if (! (result < 0 || fd == desired_fd))
     result = _gl_register_dup (fd, result);
 #endif
   return result;
diff '--color=auto' -ruN patchutils-0.4.4/lib/errno.in.h patchutils-0.4.4.1/lib/errno.in.h
--- patchutils-0.4.4/lib/errno.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/errno.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2025 Free Software Foundation, Inc.
+   Copyright (C) 2008-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/error.c patchutils-0.4.4.1/lib/error.c
--- patchutils-0.4.4/lib/error.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/error.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-2025 Free Software Foundation, Inc.
+   Copyright (C) 1990-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/error.in.h patchutils-0.4.4.1/lib/error.in.h
--- patchutils-0.4.4/lib/error.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/error.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Declarations for error-reporting functions.
-   Copyright (C) 1995-1997, 2003, 2006, 2008-2025 Free Software Foundation,
+   Copyright (C) 1995-1997, 2003, 2006, 2008-2026 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
 
diff '--color=auto' -ruN patchutils-0.4.4/lib/fcntl.c patchutils-0.4.4.1/lib/fcntl.c
--- patchutils-0.4.4/lib/fcntl.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/fcntl.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Provide file descriptor control.
 
-   Copyright (C) 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2009-2026 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
@@ -29,8 +29,8 @@
 #include <unistd.h>
 
 #ifdef __KLIBC__
-# define INCL_DOS
-# include <os2.h>
+# include <emx/io.h>
+# include <InnoTekLIBC/backend.h>
 #endif
 
 #if defined _WIN32 && ! defined __CYGWIN__
@@ -56,19 +56,15 @@
 {
   /* 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;
     }
+
+  HANDLE old_handle = (HANDLE) _get_osfhandle (oldfd);
+  int mode;
   if (old_handle == INVALID_HANDLE_VALUE
       || (mode = _setmode (oldfd, O_BINARY)) == -1)
     {
@@ -80,6 +76,11 @@
   _setmode (oldfd, mode);
   flags |= mode;
 
+  HANDLE curr_process = GetCurrentProcess ();
+  BOOL inherit = flags & O_CLOEXEC ? FALSE : TRUE;
+  unsigned char fds_to_close[OPEN_MAX_MAX / CHAR_BIT];
+  unsigned int fds_to_close_bound = 0;
+  int result;
   for (;;)
     {
       HANDLE new_handle;
@@ -146,9 +147,8 @@
   /* Close the previous fds that turned out to be too small.  */
   {
     int saved_errno = errno;
-    unsigned int duplicated_fd;
 
-    for (duplicated_fd = 0;
+    for (unsigned int duplicated_fd = 0;
          duplicated_fd < fds_to_close_bound * CHAR_BIT;
          duplicated_fd++)
       if ((fds_to_close[duplicated_fd / CHAR_BIT]
@@ -206,8 +206,9 @@
 #endif
 {
   va_list arg;
-  int result = -1;
   va_start (arg, action);
+
+  int result = -1;
   switch (action)
     {
     case F_DUPFD:
@@ -433,7 +434,9 @@
         break;
       }
     }
+
   va_end (arg);
+
   return result;
 }
 
@@ -540,78 +543,115 @@
 #undef fcntl
 
 #ifdef __KLIBC__
-
 static int
-klibc_fcntl (int fd, int action, /* arg */...)
+klibc_dupdirfd (int fd, int minfd)
 {
-  va_list arg_ptr;
-  int arg;
-  struct stat sbuf;
-  int result;
+  int tempfd = open ("NUL", O_RDONLY);
+  if (tempfd == -1)
+    return -1;
 
-  va_start (arg_ptr, action);
-  arg = va_arg (arg_ptr, int);
-  result = fcntl (fd, action, arg);
-  /* EPERM for F_DUPFD, ENOTSUP for others */
-  if (result == -1 && (errno == EPERM || errno == ENOTSUP)
-      && !fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
+  if (tempfd >= minfd)
     {
-      ULONG ulMode;
+      close (tempfd);
 
-      switch (action)
-        {
-        case F_DUPFD:
-          /* Find available fd */
-          while (fcntl (arg, F_GETFL) != -1 || errno != EBADF)
-            arg++;
+      char path[_MAX_PATH];
+      if (__libc_Back_ioFHToPath (fd, path, sizeof (path)))
+        return -1;
 
-          result = dup2 (fd, arg);
-          break;
+      int dupfd = open (path, O_RDONLY);
+      if (dupfd == -1)
+        return -1;
 
-        /* Using underlying APIs is right ? */
-        case F_GETFD:
-          if (DosQueryFHState (fd, &ulMode))
-            break;
-
-          result = (ulMode & OPEN_FLAGS_NOINHERIT) ? FD_CLOEXEC : 0;
-          break;
+      if (dupfd >= minfd)
+        return dupfd;
 
-        case F_SETFD:
-          if (arg & ~FD_CLOEXEC)
-            break;
+      /* Lower FD was closed by other threads. Fill again.  */
+      tempfd = dupfd;
+    }
 
-          if (DosQueryFHState (fd, &ulMode))
-            break;
+  int dupfd = klibc_dupdirfd (fd, minfd);
 
-          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);
+  close (tempfd);
 
-          if (DosSetFHState (fd, ulMode))
-            break;
+  return dupfd;
+}
 
-          result = 0;
-          break;
+static int
+klibc_fcntl (int fd, int action, /* arg */...)
+{
+  va_list arg_ptr;
+  va_start (arg_ptr, action);
 
-        case F_GETFL:
-          result = 0;
-          break;
+  int arg = va_arg (arg_ptr, int);
+  int result = fcntl (fd, action, arg);
+  /* EPERM for F_DUPFD, ENOTSUP for others */
+  if (result == -1 && (errno == EPERM || errno == ENOTSUP))
+    {
+      struct stat sbuf;
+      if (!fstat (fd, &sbuf) && S_ISDIR (sbuf.st_mode))
+        {
+          switch (action)
+            {
+            case F_DUPFD:
+              result = klibc_dupdirfd (fd, arg);
+              break;
+
+            case F_GETFD:
+              {
+                PLIBCFH pFH = __libc_FH (fd);
+                if (!pFH)
+                  {
+                    errno = EBADF;
+                    break;
+                }
+
+                result = (pFH->fFlags & ((FD_CLOEXEC << __LIBC_FH_FDFLAGS_SHIFT )
+                                         | O_NOINHERIT)) ? FD_CLOEXEC : 0;
+              }
+              break;
+
+            case F_SETFD:
+              {
+                if (arg & ~FD_CLOEXEC)
+                  break;
+
+                PLIBCFH pFH = __libc_FH (fd);
+                if (!pFH)
+                  {
+                    errno = EBADF;
+                    break;
+                  }
+
+                unsigned fFlags = pFH->fFlags;
+                if (arg & FD_CLOEXEC)
+                  fFlags |= (FD_CLOEXEC << __LIBC_FH_FDFLAGS_SHIFT) | O_NOINHERIT;
+                else
+                  fFlags &= ~((FD_CLOEXEC << __LIBC_FH_FDFLAGS_SHIFT) | O_NOINHERIT);
+
+                result = __libc_FHSetFlags (pFH, fd, fFlags);
+                if (result < 0)
+                  {
+                    errno = -result;
+                    result = -1;
+                  }
+              }
+              break;
+
+            case F_GETFL:
+              result = 0;
+              break;
 
-        case F_SETFL:
-          if (arg != 0)
-            break;
+            case F_SETFL:
+              if (arg != 0)
+                break;
 
-          result = 0;
-          break;
+              result = 0;
+              break;
 
-        default:
-          errno = EINVAL;
-          break;
+            default:
+              errno = EINVAL;
+              break;
+            }
         }
     }
 
diff '--color=auto' -ruN patchutils-0.4.4/lib/fcntl.in.h patchutils-0.4.4.1/lib/fcntl.in.h
--- patchutils-0.4.4/lib/fcntl.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/fcntl.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2025 Free Software Foundation, Inc.
+   Copyright (C) 2006-2026 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
@@ -122,7 +122,6 @@
 # endif
 _GL_CXXALIASWARN (creat);
 #elif defined GNULIB_POSIXCHECK
-# undef creat
 /* Assume creat is always declared.  */
 _GL_WARN_ON_USE (creat, "creat is not always POSIX compliant - "
                  "use gnulib module creat for portability");
@@ -165,7 +164,6 @@
 # endif
 _GL_CXXALIASWARN (fcntl);
 #elif defined GNULIB_POSIXCHECK
-# undef fcntl
 # if HAVE_RAW_DECL_FCNTL
 _GL_WARN_ON_USE (fcntl, "fcntl is not always POSIX compliant - "
                  "use gnulib module fcntl for portability");
@@ -196,7 +194,6 @@
 _GL_CXXALIASWARN (open);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef open
 /* Assume open is always declared.  */
 _GL_WARN_ON_USE (open, "open is not always POSIX compliant - "
                  "use gnulib module open for portability");
@@ -242,13 +239,51 @@
 # endif
 _GL_CXXALIASWARN (openat);
 #elif defined GNULIB_POSIXCHECK
-# undef openat
 # if HAVE_RAW_DECL_OPENAT
 _GL_WARN_ON_USE (openat, "openat is not portable - "
                  "use gnulib module openat for portability");
 # endif
 #endif
 
+#if @GNULIB_OPENAT2@
+# if !defined RESOLVE_NO_XDEV && defined __has_include
+#  if __has_include (<linux/openat2.h>)
+#   include <linux/openat2.h>
+#  endif
+# endif
+# ifndef RESOLVE_NO_XDEV
+struct open_how
+{
+#  ifdef __UINT64_TYPE__
+  __UINT64_TYPE__ flags, mode, resolve;
+#  else
+  unsigned long long int flags, mode, resolve;
+#  endif
+};
+#  define RESOLVE_NO_XDEV	0x01
+#  define RESOLVE_NO_MAGICLINKS	0x02
+#  define RESOLVE_NO_SYMLINKS	0x04
+#  define RESOLVE_BENEATH	0x08
+#  define RESOLVE_IN_ROOT	0x10
+#  define RESOLVE_CACHED	0x20
+# endif
+
+# if !@HAVE_OPENAT2@
+_GL_FUNCDECL_SYS (openat2, int,
+                  (int fd, char const *file, struct open_how const *how,
+                   size_t size),
+                  _GL_ARG_NONNULL ((2, 3)));
+# endif
+_GL_CXXALIAS_SYS (openat2, int,
+                  (int fd, char const *file, struct open_how const *how,
+                   size_t size));
+_GL_CXXALIASWARN (openat2);
+#elif defined GNULIB_POSIXCHECK
+# if HAVE_RAW_DECL_OPENAT2
+_GL_WARN_ON_USE (openat2, "openat2 is not portable - "
+                 "use gnulib module openat2 for portability");
+# endif
+#endif
 
 /* Fix up the FD_* macros, only known to be missing on mingw.  */
 
@@ -455,6 +490,15 @@
 # define AT_NO_AUTOMOUNT 0
 #endif
 
+/* errno when openat+O_NOFOLLOW fails because the file is a symlink.  */
+#if defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
+# define _GL_OPENAT_ESYMLINK EMLINK
+#elif defined __NetBSD__
+# define _GL_OPENAT_ESYMLINK EFTYPE
+#else
+# define _GL_OPENAT_ESYMLINK ELOOP
+#endif
+
 #endif /* _@GUARD_PREFIX@_FCNTL_H */
 #endif /* _@GUARD_PREFIX@_FCNTL_H */
 #endif
diff '--color=auto' -ruN patchutils-0.4.4/lib/fd-hook.c patchutils-0.4.4.1/lib/fd-hook.c
--- patchutils-0.4.4/lib/fd-hook.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/fd-hook.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Hook for making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2009-2026 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2009.
 
    This file is free software: you can redistribute it and/or modify
diff '--color=auto' -ruN patchutils-0.4.4/lib/fd-hook.h patchutils-0.4.4.1/lib/fd-hook.h
--- patchutils-0.4.4/lib/fd-hook.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/fd-hook.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Hook for making file descriptor functions close(), ioctl() extensible.
-   Copyright (C) 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/filename.h patchutils-0.4.4.1/lib/filename.h
--- patchutils-0.4.4/lib/filename.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/filename.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Basic filename support macros.
-   Copyright (C) 2001-2025 Free Software Foundation, Inc.
+   Copyright (C) 2001-2026 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
@@ -49,7 +49,10 @@
                                any notion of "current directory".
    IS_RELATIVE_FILE_NAME(Filename)
                                tests whether Filename may be concatenated
-                               to a directory filename.
+                               to a directory filename to yield the name
+                               of a file relative to that directory.
+                               Watch out: IS_RELATIVE_FILE_NAME ("") is 1
+                               even though "" is not a relative file name.
    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
diff '--color=auto' -ruN patchutils-0.4.4/lib/fseterr.c patchutils-0.4.4.1/lib/fseterr.c
--- patchutils-0.4.4/lib/fseterr.c	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/lib/fseterr.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Set the error indicator of a stream.
-   Copyright (C) 2007-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007-2026 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
@@ -24,7 +24,7 @@
 #include "stdio-impl.h"
 
 /* This file is not used on systems that have the __fseterr function,
-   namely musl libc, Haiku >= hrev58760.  */
+   namely OpenBSD >= 7.6, musl libc, Haiku >= hrev58760.  */
 
 void
 fseterr (FILE *fp)
@@ -35,8 +35,8 @@
 #if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1
   /* GNU libc, BeOS, Haiku, Linux libc5 */
   fp->_flags |= _IO_ERR_SEEN;
-#elif defined __sferror || defined __OpenBSD__ || defined __DragonFly__ || defined __ANDROID__
-  /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
+#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+  /* FreeBSD, NetBSD, OpenBSD < 7.6, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
   fp_->_flags |= __SERR;
 #elif defined __EMX__               /* emx+gcc */
   fp->_flags |= _IOERR;
@@ -59,14 +59,10 @@
      Not activated on any system, because there is no way to repair FP when
      the sequence of system calls fails, and library code should not call
      abort().  */
-  int saved_errno;
-  int fd;
-  int fd2;
-
-  saved_errno = errno;
+  int saved_errno = errno;
   fflush (fp);
-  fd = fileno (fp);
-  fd2 = dup (fd);
+  int fd = fileno (fp);
+  int fd2 = dup (fd);
   if (fd2 >= 0)
     {
       close (fd);
diff '--color=auto' -ruN patchutils-0.4.4/lib/fseterr.h patchutils-0.4.4.1/lib/fseterr.h
--- patchutils-0.4.4/lib/fseterr.h	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/lib/fseterr.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Set the error indicator of a stream.
-   Copyright (C) 2007, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/fstat.c patchutils-0.4.4.1/lib/fstat.c
--- patchutils-0.4.4/lib/fstat.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/fstat.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/getdelim.c patchutils-0.4.4.1/lib/getdelim.c
--- patchutils-0.4.4/lib/getdelim.c	2025-08-20 15:28:02.000000000 +0200
+++ patchutils-0.4.4.1/lib/getdelim.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* getdelim.c --- Implementation of replacement getdelim function.
-   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2025 Free Software
+   Copyright (C) 1994, 1996-1998, 2001, 2003, 2005-2026 Free Software
    Foundation, Inc.
 
    This file is free software: you can redistribute it and/or modify
@@ -62,10 +62,13 @@
 ssize_t
 getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp)
 {
-  ssize_t result;
-  size_t cur_len = 0;
-
-  if (lineptr == NULL || n == NULL || fp == NULL)
+  if (lineptr == NULL || n == NULL
+      /* glibc already declares this function as __nonnull ((4)).
+         Avoid a gcc warning "‘nonnull’ argument ‘fp’ compared to NULL".  */
+#if !(__GLIBC__ >= 2)
+      || fp == NULL
+#endif
+     )
     {
       errno = EINVAL;
       return -1;
@@ -73,6 +76,8 @@
 
   flockfile (fp);
 
+  ssize_t result;
+
   if (*lineptr == NULL || *n == 0)
     {
       char *new_lineptr;
@@ -87,54 +92,56 @@
       *lineptr = new_lineptr;
     }
 
-  for (;;)
-    {
-      int i;
+  {
+    size_t cur_len = 0;
+    for (;;)
+      {
+        int i;
+
+        i = getc_maybe_unlocked (fp);
+        if (i == EOF)
+          {
+            result = -1;
+            break;
+          }
+
+        /* Make enough space for len+1 (for final NUL) bytes.  */
+        if (cur_len + 1 >= *n)
+          {
+            size_t needed_max =
+              SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
+            size_t needed = 2 * *n + 1;   /* Be generous. */
+
+            if (needed_max < needed)
+              needed = needed_max;
+            if (cur_len + 1 >= needed)
+              {
+                result = -1;
+                errno = EOVERFLOW;
+                goto unlock_return;
+              }
+
+            char *new_lineptr = (char *) realloc (*lineptr, needed);
+            if (new_lineptr == NULL)
+              {
+                alloc_failed ();
+                result = -1;
+                goto unlock_return;
+              }
+
+            *lineptr = new_lineptr;
+            *n = needed;
+          }
 
-      i = getc_maybe_unlocked (fp);
-      if (i == EOF)
-        {
-          result = -1;
-          break;
-        }
-
-      /* Make enough space for len+1 (for final NUL) bytes.  */
-      if (cur_len + 1 >= *n)
-        {
-          size_t needed_max =
-            SSIZE_MAX < SIZE_MAX ? (size_t) SSIZE_MAX + 1 : SIZE_MAX;
-          size_t needed = 2 * *n + 1;   /* Be generous. */
-          char *new_lineptr;
-
-          if (needed_max < needed)
-            needed = needed_max;
-          if (cur_len + 1 >= needed)
-            {
-              result = -1;
-              errno = EOVERFLOW;
-              goto unlock_return;
-            }
-
-          new_lineptr = (char *) realloc (*lineptr, needed);
-          if (new_lineptr == NULL)
-            {
-              alloc_failed ();
-              result = -1;
-              goto unlock_return;
-            }
-
-          *lineptr = new_lineptr;
-          *n = needed;
-        }
-
-      (*lineptr)[cur_len] = i;
-      cur_len++;
+        (*lineptr)[cur_len] = i;
+        cur_len++;
 
-      if (i == delimiter)
-        break;
-    }
-  (*lineptr)[cur_len] = '\0';
-  result = cur_len ? cur_len : result;
+        if (i == delimiter)
+          break;
+      }
+    (*lineptr)[cur_len] = '\0';
+    result = cur_len ? cur_len : result;
+  }
 
  unlock_return:
   funlockfile (fp); /* doesn't set errno */
diff '--color=auto' -ruN patchutils-0.4.4/lib/getdtablesize.c patchutils-0.4.4.1/lib/getdtablesize.c
--- patchutils-0.4.4/lib/getdtablesize.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/getdtablesize.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* getdtablesize() function: Return maximum possible file descriptor value + 1.
-   Copyright (C) 2008-2025 Free Software Foundation, Inc.
+   Copyright (C) 2008-2026 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This file is free software: you can redistribute it and/or modify
@@ -61,13 +61,10 @@
     {
       /* 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;
-           }
+           for (int 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.
diff '--color=auto' -ruN patchutils-0.4.4/lib/getline.c patchutils-0.4.4.1/lib/getline.c
--- patchutils-0.4.4/lib/getline.c	2025-08-20 15:28:02.000000000 +0200
+++ patchutils-0.4.4.1/lib/getline.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* getline.c --- Implementation of replacement getline function.
-   Copyright (C) 2005-2007, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2005-2007, 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/getprogname.c patchutils-0.4.4.1/lib/getprogname.c
--- patchutils-0.4.4/lib/getprogname.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/getprogname.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2016-2025 Free Software Foundation, Inc.
+   Copyright (C) 2016-2026 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
@@ -129,7 +129,7 @@
               else
                 p = cmd;
               if (strlen (p) > PST_UCOMMLEN - 1
-                  && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                  && memeq (p, ucomm, PST_UCOMMLEN - 1))
                 /* p is less truncated than ucomm.  */
                 ;
               else
@@ -165,7 +165,7 @@
                   else
                     p = cmd;
                   if (strlen (p) > PST_UCOMMLEN - 1
-                      && memcmp (p, ucomm, PST_UCOMMLEN - 1) == 0)
+                      && memeq (p, ucomm, PST_UCOMMLEN - 1))
                     /* p is less truncated than ucomm.  */
                     ;
                   else
@@ -188,7 +188,6 @@
   if (first)
     {
       pid_t pid = getpid ();
-      int token;
       W_PSPROC buf;
       first = 0;
       memset (&buf, 0, sizeof(buf));
@@ -197,7 +196,8 @@
       buf.ps_pathptr   = (char *) malloc (buf.ps_pathlen   = PS_PATHBLEN);
       if (buf.ps_cmdptr && buf.ps_conttyptr && buf.ps_pathptr)
         {
-          for (token = 0; token >= 0;
+          for (int token = 0;
+               token >= 0;
                token = w_getpsent (token, &buf, sizeof(buf)))
             {
               if (token > 0 && buf.ps_pid == pid)
@@ -228,27 +228,20 @@
   return p;
 # 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);
+  int 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, '/');
+          char *progname = strrchr (buf, '/');
           if (progname)
-            {
-              progname = progname + 1; /* Skip the '/' */
-            }
+            progname = progname + 1; /* Skip the '/' */
           else
-            {
-              progname = buf;
-            }
-          char *ret;
-          ret = malloc (strlen (progname) + 1);
+            progname = buf;
+          char *ret = malloc (strlen (progname) + 1);
           if (ret)
             {
               strcpy (ret, progname);
diff '--color=auto' -ruN patchutils-0.4.4/lib/getprogname.h patchutils-0.4.4.1/lib/getprogname.h
--- patchutils-0.4.4/lib/getprogname.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/getprogname.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Program name management.
-   Copyright (C) 2016-2025 Free Software Foundation, Inc.
+   Copyright (C) 2016-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/gettext.h patchutils-0.4.4.1/lib/gettext.h
--- patchutils-0.4.4/lib/gettext.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/gettext.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-2025 Free Software Foundation, Inc.
+   Copyright (C) 1995-2026 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
@@ -298,12 +298,11 @@
   if (msg_ctxt_id != NULL)
 #endif
     {
-      int found_translation;
       memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
       msg_ctxt_id[msgctxt_len - 1] = '\004';
       memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
       translation = dcgettext (domain, msg_ctxt_id, category);
-      found_translation = (translation != msg_ctxt_id);
+      int found_translation = (translation != msg_ctxt_id);
 #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
       if (msg_ctxt_id != buf)
         free (msg_ctxt_id);
@@ -346,12 +345,11 @@
   if (msg_ctxt_id != NULL)
 #endif
     {
-      int found_translation;
       memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
       msg_ctxt_id[msgctxt_len - 1] = '\004';
       memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
       translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
-      found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
+      int found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
 #if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
       if (msg_ctxt_id != buf)
         free (msg_ctxt_id);
diff '--color=auto' -ruN patchutils-0.4.4/lib/idx.h patchutils-0.4.4.1/lib/idx.h
--- patchutils-0.4.4/lib/idx.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/idx.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* A type for indices and sizes.
-   Copyright (C) 2020-2025 Free Software Foundation, Inc.
+   Copyright (C) 2020-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/intprops.h patchutils-0.4.4.1/lib/intprops.h
--- patchutils-0.4.4/lib/intprops.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/intprops.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* intprops.h -- properties of integer types
 
-   Copyright (C) 2001-2025 Free Software Foundation, Inc.
+   Copyright (C) 2001-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/intprops-internal.h patchutils-0.4.4.1/lib/intprops-internal.h
--- patchutils-0.4.4/lib/intprops-internal.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/intprops-internal.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* intprops-internal.h -- properties of integer types not visible to users
 
-   Copyright (C) 2001-2025 Free Software Foundation, Inc.
+   Copyright (C) 2001-2026 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
@@ -116,8 +116,8 @@
 #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 <https://bugs.llvm.org/show_bug.cgi?id=16404>.  */
+#if defined __clang_major__ && __clang_major__ < 21
+/* Work around Clang bug <https://github.com/llvm/llvm-project/issues/16778>. */
 # define _GL_HAS_BUILTIN_MUL_OVERFLOW 0
 #else
 # define _GL_HAS_BUILTIN_MUL_OVERFLOW _GL_HAS_BUILTIN_ADD_OVERFLOW
@@ -179,9 +179,9 @@
    _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:
+/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25764.  See:
    https://gcc.gnu.org/PR68193
-   https://llvm.org/bugs/show_bug.cgi?id=25390
+   https://github.com/llvm/llvm-project/issues/25764
    For now, assume GCC < 14 and all Clang versions generate bogus
    warnings for _Generic.  This matters only for compilers that
    lack relevant builtins.  */
diff '--color=auto' -ruN patchutils-0.4.4/lib/limits.in.h patchutils-0.4.4.1/lib/limits.in.h
--- patchutils-0.4.4/lib/limits.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/limits.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A GNU-like <limits.h>.
 
-   Copyright 2016-2025 Free Software Foundation, Inc.
+   Copyright 2016-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/locale.in.h patchutils-0.4.4.1/lib/locale.in.h
--- patchutils-0.4.4/lib/locale.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/locale.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007-2026 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
@@ -264,7 +264,6 @@
 #  define localeconv localeconv_used_without_requesting_gnulib_module_localeconv
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef localeconv
 # if HAVE_RAW_DECL_LOCALECONV
 _GL_WARN_ON_USE (localeconv,
                  "localeconv returns too few information on some platforms - "
@@ -288,7 +287,6 @@
 _GL_CXXALIASWARN (setlocale);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef setlocale
 # if HAVE_RAW_DECL_SETLOCALE
 _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
                  "use gnulib module setlocale for portability");
@@ -325,7 +323,6 @@
 _GL_CXXALIASWARN (newlocale);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef newlocale
 # if HAVE_RAW_DECL_NEWLOCALE
 _GL_WARN_ON_USE (newlocale, "newlocale is not portable");
 # endif
@@ -350,7 +347,6 @@
 _GL_CXXALIASWARN (duplocale);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef duplocale
 # if HAVE_RAW_DECL_DUPLOCALE
 _GL_WARN_ON_USE (duplocale, "duplocale is unportable and buggy on some glibc systems - "
                  "use gnulib module duplocale for portability");
@@ -378,7 +374,6 @@
 _GL_CXXALIASWARN (freelocale);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef freelocale
 # if HAVE_RAW_DECL_FREELOCALE
 _GL_WARN_ON_USE (freelocale, "freelocale is not portable");
 # endif
@@ -408,7 +403,6 @@
 _GL_CXXALIASWARN (getlocalename_l);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getlocalename_l
 # if HAVE_RAW_DECL_GETLOCALENAME_L
 _GL_WARN_ON_USE (getlocalename_l, "getlocalename_l is not portable");
 # endif
diff '--color=auto' -ruN patchutils-0.4.4/lib/lstat.c patchutils-0.4.4.1/lib/lstat.c
--- patchutils-0.4.4/lib/lstat.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/lstat.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2025 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/Makefile.am patchutils-0.4.4.1/lib/Makefile.am
--- patchutils-0.4.4/lib/Makefile.am	2025-09-17 15:01:17.000000000 +0200
+++ patchutils-0.4.4.1/lib/Makefile.am	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2025 Free Software Foundation, Inc.
+# Copyright (C) 2002-2026 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
@@ -242,10 +242,12 @@
 	      -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_OPENAT2''@/$(GL_GNULIB_OPENAT2)/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|@''HAVE_OPENAT2''@|$(HAVE_OPENAT2)|g' \
 	      -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \
 	      -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
 	      -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
@@ -823,9 +825,6 @@
 	$(AM_V_at)mv $@-t3 $@
 MOSTLYCLEANFILES += stdio.h stdio.h-t1 stdio.h-t2 stdio.h-t3
 
-if GL_COND_OBJ_STDIO_CONSOLESAFE
-libgnu_a_SOURCES += stdio-consolesafe.c
-endif
 if GL_COND_OBJ_STDIO_READ
 libgnu_a_SOURCES += stdio-read.c
 endif
@@ -837,6 +836,14 @@
 
 ## end   gnulib module stdio-h
 
+## begin gnulib module stdio-windows
+
+if GL_COND_OBJ_STDIO_CONSOLESAFE
+libgnu_a_SOURCES += stdio-consolesafe.c
+endif
+
+## end   gnulib module stdio-windows
+
 ## begin gnulib module stdlib-h
 
 BUILT_SOURCES += stdlib.h
@@ -948,6 +955,7 @@
 	      -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_SYS_PROCESS_H''@|$(HAVE_SYS_PROCESS_H)|g' \
 	      -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
 	      -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
 	      < $@-t1 > $@-t2
@@ -1068,7 +1076,9 @@
 	      -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_STRINGEQ''@/$(GL_GNULIB_STRINGEQ)/g' \
 	      -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \
+	      -e 's/@''GNULIB_STRNCPY''@/$(GL_GNULIB_STRNCPY)/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' \
@@ -1095,6 +1105,7 @@
 	      -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
 	      -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
 	      -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+	      -e 's|@''HAVE_DECL_MEMEQ''@|$(HAVE_DECL_MEMEQ)|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' \
@@ -1104,6 +1115,7 @@
 	      -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
 	      -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
 	      -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
+	      -e 's|@''HAVE_DECL_STREQ''@|$(HAVE_DECL_STREQ)|g' \
 	      -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
 	      -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
 	      -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
@@ -1128,6 +1140,7 @@
 	      -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
 	      -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
 	      -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+	      -e 's|@''REPLACE_STRNCPY''@|$(REPLACE_STRNCPY)|g' \
 	      -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
 	      -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
 	      -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
@@ -1152,6 +1165,12 @@
 
 ## end   gnulib module string-h
 
+## begin gnulib module stringeq
+
+libgnu_a_SOURCES += string.c
+
+## end   gnulib module stringeq
+
 ## begin gnulib module sys_stat-h
 
 BUILT_SOURCES += sys/stat.h
diff '--color=auto' -ruN patchutils-0.4.4/lib/Makefile.in patchutils-0.4.4.1/lib/Makefile.in
--- patchutils-0.4.4/lib/Makefile.in	2025-09-26 14:59:22.000000000 +0200
+++ patchutils-0.4.4.1/lib/Makefile.in	2026-02-07 15:51:33.000000000 +0100
@@ -14,7 +14,7 @@
 
 @SET_MAKE@
 
-# Copyright (C) 2002-2025 Free Software Foundation, Inc.
+# Copyright (C) 2002-2026 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
@@ -143,9 +143,9 @@
 @GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__append_13 = msvc-nothrow.c
 @GL_COND_OBJ_OPEN_TRUE@am__append_14 = open.c
 @GL_COND_OBJ_STAT_TRUE@am__append_15 = stat.c
-@GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE@am__append_16 = stdio-consolesafe.c
-@GL_COND_OBJ_STDIO_READ_TRUE@am__append_17 = stdio-read.c
-@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_18 = stdio-write.c
+@GL_COND_OBJ_STDIO_READ_TRUE@am__append_16 = stdio-read.c
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_17 = stdio-write.c
+@GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE@am__append_18 = stdio-consolesafe.c
 @GL_COND_OBJ_STRERROR_TRUE@am__append_19 = strerror.c
 @GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__append_20 = strerror-override.c
 subdir = lib
@@ -182,7 +182,8 @@
 	$(top_srcdir)/m4/stdckdint_h.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/strerror.m4 \
-	$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+	$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/stringeq.m4 \
+	$(top_srcdir)/m4/sys_socket_h.m4 \
 	$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_types_h.m4 \
 	$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
 	$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wint_t.m4 \
@@ -208,8 +209,8 @@
 	error.c fcntl.c fd-hook.c fseterr.c fstat.c getdelim.c \
 	getdtablesize.c getline.c getprogname.c gettext.h idx.h \
 	lstat.c malloca.c msvc-inval.c msvc-nothrow.c open.c stat.c \
-	stat-time.c stdio-consolesafe.c stdio-read.c stdio-write.c \
-	stdlib.c strerror.c strerror-override.c unistd.c
+	stat-time.c stdio-read.c stdio-write.c stdio-consolesafe.c \
+	stdlib.c strerror.c strerror-override.c string.c unistd.c
 @GL_COND_OBJ_CLOSE_TRUE@am__objects_1 = libgnu_a-close.$(OBJEXT)
 @GL_COND_OBJ_DUP2_TRUE@am__objects_2 = libgnu_a-dup2.$(OBJEXT)
 @GL_COND_OBJ_ERROR_TRUE@am__objects_3 = libgnu_a-error.$(OBJEXT)
@@ -228,11 +229,11 @@
 @GL_COND_OBJ_MSVC_NOTHROW_TRUE@am__objects_13 = libgnu_a-msvc-nothrow.$(OBJEXT)
 @GL_COND_OBJ_OPEN_TRUE@am__objects_14 = libgnu_a-open.$(OBJEXT)
 @GL_COND_OBJ_STAT_TRUE@am__objects_15 = libgnu_a-stat.$(OBJEXT)
-@GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE@am__objects_16 = libgnu_a-stdio-consolesafe.$(OBJEXT)
-@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_17 =  \
+@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_16 =  \
 @GL_COND_OBJ_STDIO_READ_TRUE@	libgnu_a-stdio-read.$(OBJEXT)
-@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_18 =  \
+@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_17 =  \
 @GL_COND_OBJ_STDIO_WRITE_TRUE@	libgnu_a-stdio-write.$(OBJEXT)
+@GL_COND_OBJ_STDIO_CONSOLESAFE_TRUE@am__objects_18 = libgnu_a-stdio-consolesafe.$(OBJEXT)
 @GL_COND_OBJ_STRERROR_TRUE@am__objects_19 =  \
 @GL_COND_OBJ_STRERROR_TRUE@	libgnu_a-strerror.$(OBJEXT)
 @GL_COND_OBJ_STRERROR_OVERRIDE_TRUE@am__objects_20 = libgnu_a-strerror-override.$(OBJEXT)
@@ -245,7 +246,8 @@
 	$(am__objects_13) $(am__objects_14) $(am__objects_15) \
 	libgnu_a-stat-time.$(OBJEXT) $(am__objects_16) \
 	$(am__objects_17) $(am__objects_18) libgnu_a-stdlib.$(OBJEXT) \
-	$(am__objects_19) $(am__objects_20) libgnu_a-unistd.$(OBJEXT)
+	$(am__objects_19) $(am__objects_20) libgnu_a-string.$(OBJEXT) \
+	libgnu_a-unistd.$(OBJEXT)
 libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -282,7 +284,7 @@
 	./$(DEPDIR)/libgnu_a-stdlib.Po \
 	./$(DEPDIR)/libgnu_a-strerror-override.Po \
 	./$(DEPDIR)/libgnu_a-strerror.Po \
-	./$(DEPDIR)/libgnu_a-unistd.Po
+	./$(DEPDIR)/libgnu_a-string.Po ./$(DEPDIR)/libgnu_a-unistd.Po
 am__mv = mv -f
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -625,6 +627,7 @@
 GL_GNULIB_OBSTACK_ZPRINTF = @GL_GNULIB_OBSTACK_ZPRINTF@
 GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
 GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OPENAT2 = @GL_GNULIB_OPENAT2@
 GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
 GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
 GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
@@ -685,7 +688,9 @@
 GL_GNULIB_STRERROR_L = @GL_GNULIB_STRERROR_L@
 GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
 GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRINGEQ = @GL_GNULIB_STRINGEQ@
 GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNCPY = @GL_GNULIB_STRNCPY@
 GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
 GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
 GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
@@ -786,6 +791,7 @@
 HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMEQ = @HAVE_DECL_MEMEQ@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
@@ -796,6 +802,7 @@
 HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STREQ = @HAVE_DECL_STREQ@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
 HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
 HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
@@ -870,6 +877,7 @@
 HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_OFF64_T = @HAVE_OFF64_T@
 HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OPENAT2 = @HAVE_OPENAT2@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
@@ -927,6 +935,7 @@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_PROCESS_H = @HAVE_SYS_PROCESS_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
@@ -1167,6 +1176,7 @@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
 REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNCPY = @REPLACE_STRNCPY@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -1341,7 +1351,7 @@
 	idx.h $(am__append_11) malloca.c $(am__append_12) \
 	$(am__append_13) $(am__append_14) $(am__append_15) stat-time.c \
 	$(am__append_16) $(am__append_17) $(am__append_18) stdlib.c \
-	$(am__append_19) $(am__append_20) unistd.c
+	$(am__append_19) $(am__append_20) string.c unistd.c
 libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) $(GL_CFLAG_ALLOW_WARNINGS)
 libgnu_a_LIBADD = $(gl_libgnu_LIBOBJS)
 libgnu_a_DEPENDENCIES = $(gl_libgnu_LIBOBJS)
@@ -1472,6 +1482,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-stdlib.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-strerror-override.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-strerror.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-string.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-unistd.Po@am__quote@ # am--include-marker
 
 $(am__depfiles_remade):
@@ -1776,20 +1787,6 @@
 @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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-stat-time.obj `if test -f 'stat-time.c'; then $(CYGPATH_W) 'stat-time.c'; else $(CYGPATH_W) '$(srcdir)/stat-time.c'; fi`
 
-libgnu_a-stdio-consolesafe.o: stdio-consolesafe.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-stdio-consolesafe.o -MD -MP -MF $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo -c -o libgnu_a-stdio-consolesafe.o `test -f 'stdio-consolesafe.c' || echo '$(srcdir)/'`stdio-consolesafe.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo $(DEPDIR)/libgnu_a-stdio-consolesafe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdio-consolesafe.c' object='libgnu_a-stdio-consolesafe.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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-stdio-consolesafe.o `test -f 'stdio-consolesafe.c' || echo '$(srcdir)/'`stdio-consolesafe.c
-
-libgnu_a-stdio-consolesafe.obj: stdio-consolesafe.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-stdio-consolesafe.obj -MD -MP -MF $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo -c -o libgnu_a-stdio-consolesafe.obj `if test -f 'stdio-consolesafe.c'; then $(CYGPATH_W) 'stdio-consolesafe.c'; else $(CYGPATH_W) '$(srcdir)/stdio-consolesafe.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo $(DEPDIR)/libgnu_a-stdio-consolesafe.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdio-consolesafe.c' object='libgnu_a-stdio-consolesafe.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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-stdio-consolesafe.obj `if test -f 'stdio-consolesafe.c'; then $(CYGPATH_W) 'stdio-consolesafe.c'; else $(CYGPATH_W) '$(srcdir)/stdio-consolesafe.c'; fi`
-
 libgnu_a-stdio-read.o: stdio-read.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-stdio-read.o -MD -MP -MF $(DEPDIR)/libgnu_a-stdio-read.Tpo -c -o libgnu_a-stdio-read.o `test -f 'stdio-read.c' || echo '$(srcdir)/'`stdio-read.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-stdio-read.Tpo $(DEPDIR)/libgnu_a-stdio-read.Po
@@ -1818,6 +1815,20 @@
 @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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-stdio-write.obj `if test -f 'stdio-write.c'; then $(CYGPATH_W) 'stdio-write.c'; else $(CYGPATH_W) '$(srcdir)/stdio-write.c'; fi`
 
+libgnu_a-stdio-consolesafe.o: stdio-consolesafe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-stdio-consolesafe.o -MD -MP -MF $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo -c -o libgnu_a-stdio-consolesafe.o `test -f 'stdio-consolesafe.c' || echo '$(srcdir)/'`stdio-consolesafe.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo $(DEPDIR)/libgnu_a-stdio-consolesafe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdio-consolesafe.c' object='libgnu_a-stdio-consolesafe.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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-stdio-consolesafe.o `test -f 'stdio-consolesafe.c' || echo '$(srcdir)/'`stdio-consolesafe.c
+
+libgnu_a-stdio-consolesafe.obj: stdio-consolesafe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-stdio-consolesafe.obj -MD -MP -MF $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo -c -o libgnu_a-stdio-consolesafe.obj `if test -f 'stdio-consolesafe.c'; then $(CYGPATH_W) 'stdio-consolesafe.c'; else $(CYGPATH_W) '$(srcdir)/stdio-consolesafe.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-stdio-consolesafe.Tpo $(DEPDIR)/libgnu_a-stdio-consolesafe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stdio-consolesafe.c' object='libgnu_a-stdio-consolesafe.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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-stdio-consolesafe.obj `if test -f 'stdio-consolesafe.c'; then $(CYGPATH_W) 'stdio-consolesafe.c'; else $(CYGPATH_W) '$(srcdir)/stdio-consolesafe.c'; fi`
+
 libgnu_a-stdlib.o: stdlib.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-stdlib.o -MD -MP -MF $(DEPDIR)/libgnu_a-stdlib.Tpo -c -o libgnu_a-stdlib.o `test -f 'stdlib.c' || echo '$(srcdir)/'`stdlib.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-stdlib.Tpo $(DEPDIR)/libgnu_a-stdlib.Po
@@ -1860,6 +1871,20 @@
 @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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-strerror-override.obj `if test -f 'strerror-override.c'; then $(CYGPATH_W) 'strerror-override.c'; else $(CYGPATH_W) '$(srcdir)/strerror-override.c'; fi`
 
+libgnu_a-string.o: string.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-string.o -MD -MP -MF $(DEPDIR)/libgnu_a-string.Tpo -c -o libgnu_a-string.o `test -f 'string.c' || echo '$(srcdir)/'`string.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-string.Tpo $(DEPDIR)/libgnu_a-string.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='string.c' object='libgnu_a-string.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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-string.o `test -f 'string.c' || echo '$(srcdir)/'`string.c
+
+libgnu_a-string.obj: string.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-string.obj -MD -MP -MF $(DEPDIR)/libgnu_a-string.Tpo -c -o libgnu_a-string.obj `if test -f 'string.c'; then $(CYGPATH_W) 'string.c'; else $(CYGPATH_W) '$(srcdir)/string.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-string.Tpo $(DEPDIR)/libgnu_a-string.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='string.c' object='libgnu_a-string.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) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-string.obj `if test -f 'string.c'; then $(CYGPATH_W) 'string.c'; else $(CYGPATH_W) '$(srcdir)/string.c'; fi`
+
 libgnu_a-unistd.o: unistd.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-unistd.o -MD -MP -MF $(DEPDIR)/libgnu_a-unistd.Tpo -c -o libgnu_a-unistd.o `test -f 'unistd.c' || echo '$(srcdir)/'`unistd.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-unistd.Tpo $(DEPDIR)/libgnu_a-unistd.Po
@@ -2144,6 +2169,7 @@
 	-rm -f ./$(DEPDIR)/libgnu_a-stdlib.Po
 	-rm -f ./$(DEPDIR)/libgnu_a-strerror-override.Po
 	-rm -f ./$(DEPDIR)/libgnu_a-strerror.Po
+	-rm -f ./$(DEPDIR)/libgnu_a-string.Po
 	-rm -f ./$(DEPDIR)/libgnu_a-unistd.Po
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
@@ -2217,6 +2243,7 @@
 	-rm -f ./$(DEPDIR)/libgnu_a-stdlib.Po
 	-rm -f ./$(DEPDIR)/libgnu_a-strerror-override.Po
 	-rm -f ./$(DEPDIR)/libgnu_a-strerror.Po
+	-rm -f ./$(DEPDIR)/libgnu_a-string.Po
 	-rm -f ./$(DEPDIR)/libgnu_a-unistd.Po
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic \
@@ -2331,10 +2358,12 @@
 	      -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_OPENAT2''@/$(GL_GNULIB_OPENAT2)/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|@''HAVE_OPENAT2''@|$(HAVE_OPENAT2)|g' \
 	      -e 's|@''REPLACE_CREAT''@|$(REPLACE_CREAT)|g' \
 	      -e 's|@''REPLACE_FCNTL''@|$(REPLACE_FCNTL)|g' \
 	      -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
@@ -2722,6 +2751,7 @@
 	      -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_SYS_PROCESS_H''@|$(HAVE_SYS_PROCESS_H)|g' \
 	      -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \
 	      -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
 	      < $@-t1 > $@-t2
@@ -2815,7 +2845,9 @@
 	      -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_STRINGEQ''@/$(GL_GNULIB_STRINGEQ)/g' \
 	      -e 's/@''GNULIB_STRNCAT''@/$(GL_GNULIB_STRNCAT)/g' \
+	      -e 's/@''GNULIB_STRNCPY''@/$(GL_GNULIB_STRNCPY)/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' \
@@ -2842,6 +2874,7 @@
 	      -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \
 	      -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \
 	      -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \
+	      -e 's|@''HAVE_DECL_MEMEQ''@|$(HAVE_DECL_MEMEQ)|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' \
@@ -2851,6 +2884,7 @@
 	      -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
 	      -e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
 	      -e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
+	      -e 's|@''HAVE_DECL_STREQ''@|$(HAVE_DECL_STREQ)|g' \
 	      -e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
 	      -e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
 	      -e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
@@ -2875,6 +2909,7 @@
 	      -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
 	      -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
 	      -e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
+	      -e 's|@''REPLACE_STRNCPY''@|$(REPLACE_STRNCPY)|g' \
 	      -e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
 	      -e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
 	      -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
diff '--color=auto' -ruN patchutils-0.4.4/lib/malloca.c patchutils-0.4.4.1/lib/malloca.c
--- patchutils-0.4.4/lib/malloca.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/malloca.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2026 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003, 2018.
 
    This file is free software: you can redistribute it and/or modify
diff '--color=auto' -ruN patchutils-0.4.4/lib/malloca.h patchutils-0.4.4.1/lib/malloca.h
--- patchutils-0.4.4/lib/malloca.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/malloca.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2026 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This file is free software: you can redistribute it and/or modify
diff '--color=auto' -ruN patchutils-0.4.4/lib/msvc-inval.c patchutils-0.4.4.1/lib/msvc-inval.c
--- patchutils-0.4.4/lib/msvc-inval.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/msvc-inval.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/msvc-inval.h patchutils-0.4.4.1/lib/msvc-inval.h
--- patchutils-0.4.4/lib/msvc-inval.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/msvc-inval.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
@@ -179,9 +179,9 @@
 #   define TRY_MSVC_INVAL \
       do                                                                       \
         {                                                                      \
-          struct gl_msvc_inval_per_thread *msvc_inval_current;                 \
           gl_msvc_inval_ensure_handler ();                                     \
-          msvc_inval_current = gl_msvc_inval_current ();                       \
+          struct gl_msvc_inval_per_thread *msvc_inval_current =                \
+            gl_msvc_inval_current ();                                          \
           /* First, initialize gl_msvc_inval_restart.  */                      \
           if (setjmp (msvc_inval_current->restart) == 0)                       \
             {                                                                  \
diff '--color=auto' -ruN patchutils-0.4.4/lib/msvc-nothrow.c patchutils-0.4.4.1/lib/msvc-nothrow.c
--- patchutils-0.4.4/lib/msvc-nothrow.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/msvc-nothrow.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/msvc-nothrow.h patchutils-0.4.4.1/lib/msvc-nothrow.h
--- patchutils-0.4.4/lib/msvc-nothrow.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/msvc-nothrow.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/_Noreturn.h patchutils-0.4.4.1/lib/_Noreturn.h
--- patchutils-0.4.4/lib/_Noreturn.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/_Noreturn.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* A C macro for declaring that a function does not return.
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/open.c patchutils-0.4.4.1/lib/open.c
--- patchutils-0.4.4/lib/open.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/open.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007-2026 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
@@ -94,7 +94,7 @@
 #endif
 
 #if defined _WIN32 && ! defined __CYGWIN__
-  if (strcmp (filename, "/dev/null") == 0)
+  if (streq (filename, "/dev/null"))
     filename = "NUL";
 #endif
 
diff '--color=auto' -ruN patchutils-0.4.4/lib/pathmax.h patchutils-0.4.4.1/lib/pathmax.h
--- patchutils-0.4.4/lib/pathmax.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/pathmax.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2025 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2026 Free Software
    Foundation, Inc.
 
    This file is free software: you can redistribute it and/or modify
diff '--color=auto' -ruN patchutils-0.4.4/lib/stat.c patchutils-0.4.4.1/lib/stat.c
--- patchutils-0.4.4/lib/stat.c	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/stat.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2009-2026 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
@@ -112,7 +112,7 @@
      <https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file> ?  */
 
   /* To ease portability.  Like in open.c.  */
-  if (strcmp (name, "/dev/null") == 0)
+  if (streq (name, "/dev/null"))
     name = "NUL";
 
   /* POSIX <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13>
@@ -287,8 +287,7 @@
           if (info.nFileSizeHigh > 0 || info.nFileSizeLow > 0)
             {
               const char *last_dot = NULL;
-              const char *p;
-              for (p = info.cFileName; *p != '\0'; p++)
+              for (const char *p = info.cFileName; *p != '\0'; p++)
                 if (*p == '.')
                   last_dot = p;
               if (last_dot != NULL)
diff '--color=auto' -ruN patchutils-0.4.4/lib/stat-time.c patchutils-0.4.4.1/lib/stat-time.c
--- patchutils-0.4.4/lib/stat-time.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stat-time.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* stat-related time functions.
 
-   Copyright (C) 2012-2025 Free Software Foundation, Inc.
+   Copyright (C) 2012-2026 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
@@ -15,7 +15,6 @@
    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
 
-#include <config.h>
-
 #define _GL_STAT_TIME_INLINE _GL_EXTERN_INLINE
+#include <config.h>
 #include "stat-time.h"
diff '--color=auto' -ruN patchutils-0.4.4/lib/stat-time.h patchutils-0.4.4.1/lib/stat-time.h
--- patchutils-0.4.4/lib/stat-time.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stat-time.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* stat-related time functions.
 
-   Copyright (C) 2005, 2007, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2026 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
@@ -232,8 +232,7 @@
       short int const ts_off[] = { STAT_TIMESPEC_OFFSETOF (st_atim),
                                    STAT_TIMESPEC_OFFSETOF (st_mtim),
                                    STAT_TIMESPEC_OFFSETOF (st_ctim) };
-      int i;
-      for (i = 0; i < sizeof ts_off / sizeof *ts_off; i++)
+      for (int i = 0; i < sizeof ts_off / sizeof *ts_off; i++)
         {
           struct timespec *ts = (struct timespec *) ((char *) st + ts_off[i]);
           long int q = ts->tv_nsec / timespec_hz;
diff '--color=auto' -ruN patchutils-0.4.4/lib/stat-w32.c patchutils-0.4.4.1/lib/stat-w32.c
--- patchutils-0.4.4/lib/stat-w32.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stat-w32.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Core of implementation of fstat and stat for native Windows.
-   Copyright (C) 2017-2025 Free Software Foundation, Inc.
+   Copyright (C) 2017-2026 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
@@ -112,11 +112,11 @@
 struct timespec
 _gl_convert_FILETIME_to_timespec (const FILETIME *ft)
 {
-  struct timespec result;
   /* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */
   unsigned long long since_1601 =
     ((unsigned long long) ft->dwHighDateTime << 32)
     | (unsigned long long) ft->dwLowDateTime;
+  struct timespec result;
   if (since_1601 == 0)
     {
       result.tv_sec = 0;
@@ -289,8 +289,7 @@
                       && (path = fpath, 1)))
                 {
                   const char *last_dot = NULL;
-                  const char *p;
-                  for (p = path; *p != '\0'; p++)
+                  for (const char *p = path; *p != '\0'; p++)
                     if (*p == '.')
                       last_dot = p;
                   if (last_dot != NULL)
diff '--color=auto' -ruN patchutils-0.4.4/lib/stat-w32.h patchutils-0.4.4.1/lib/stat-w32.h
--- patchutils-0.4.4/lib/stat-w32.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stat-w32.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Core of implementation of fstat and stat for native Windows.
-   Copyright (C) 2017-2025 Free Software Foundation, Inc.
+   Copyright (C) 2017-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdckdint.in.h patchutils-0.4.4.1/lib/stdckdint.in.h
--- patchutils-0.4.4/lib/stdckdint.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdckdint.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* stdckdint.h -- checked integer arithmetic
 
-   Copyright 2022-2025 Free Software Foundation, Inc.
+   Copyright 2022-2026 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
@@ -47,7 +47,7 @@
 
    These are like the standard macros introduced in C23, except that
    arguments should not have side effects.  The C++26 standard is
-   expected to add this header and it's macros.  */
+   expected to add this header and its macros.  */
 
 #  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))
diff '--color=auto' -ruN patchutils-0.4.4/lib/stddef.in.h patchutils-0.4.4.1/lib/stddef.in.h
--- patchutils-0.4.4/lib/stddef.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stddef.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdint.in.h patchutils-0.4.4.1/lib/stdint.in.h
--- patchutils-0.4.4/lib/stdint.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdint.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2025 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2026 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdio-consolesafe.c patchutils-0.4.4.1/lib/stdio-consolesafe.c
--- patchutils-0.4.4/lib/stdio-consolesafe.c	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdio-consolesafe.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* msvcrt workarounds.
-   Copyright (C) 2025 Free Software Foundation, Inc.
+   Copyright (C) 2025-2026 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
@@ -74,6 +74,59 @@
 #if defined __MINGW32__ && __USE_MINGW_ANSI_STDIO
 
 # include "fseterr.h"
+# include <stdarg.h>
+
+# if !HAVE_VASPRINTF
+
+#  include <errno.h>
+
+/* The old mingw (before mingw-w64) does not have the vasprintf function.
+   Define a suitable replacement here, that supports the same format
+   specifiers as the mingw *printf functions.  */
+
+static int
+local_vasprintf (char **resultp, const char *format, va_list args)
+{
+  /* First try: Use a stack-allocated buffer.  */
+  char buf[2048];
+  size_t bufsize = sizeof (buf);
+  int ret = __mingw_vsnprintf (buf, bufsize, format, args);
+  if (ret < 0)
+    return -1;
+  size_t nbytes = ret;
+  char *mem = (char *) malloc (nbytes + 1);
+  if (mem == NULL)
+    {
+      errno = ENOMEM;
+      return -1;
+    }
+  if (ret < bufsize)
+    {
+      /* The buffer was sufficiently large.  */
+      memcpy (mem, buf, nbytes + 1);
+    }
+  else
+    {
+      /* Second try: Use the heap-allocated memory.  */
+      ret = __mingw_vsnprintf (mem, nbytes + 1, format, args);
+      if (ret < 0)
+        {
+          int saved_errno = errno;
+          free (mem);
+          errno = saved_errno;
+          return -1;
+        }
+      if (ret != nbytes)
+        abort ();
+    }
+  *resultp = mem;
+  return nbytes;
+}
+
+#  undef vasprintf
+#  define vasprintf local_vasprintf
+
+# endif
 
 /* Bypass the functions __mingw_[v][f]printf, that trigger a bug in msvcrt,
    but without losing the support for modern format specifiers added by
@@ -83,8 +136,8 @@
 gl_consolesafe_fprintf (FILE *restrict fp, const char *restrict format, ...)
 {
   va_list args;
-  char *tmpstring;
   va_start (args, format);
+  char *tmpstring;
   int result = vasprintf (&tmpstring, format, args);
   va_end (args);
   if (result >= 0)
@@ -101,8 +154,8 @@
 gl_consolesafe_printf (const char *restrict format, ...)
 {
   va_list args;
-  char *tmpstring;
   va_start (args, format);
+  char *tmpstring;
   int result = vasprintf (&tmpstring, format, args);
   va_end (args);
   if (result >= 0)
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdio-impl.h patchutils-0.4.4.1/lib/stdio-impl.h
--- patchutils-0.4.4/lib/stdio-impl.h	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdio-impl.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Implementation details of FILE streams.
-   Copyright (C) 2007-2008, 2010-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008, 2010-2026 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
@@ -108,15 +108,59 @@
 #  define _flags pub._flags
 #  define _r pub._r
 #  define _w pub._w
-# elif defined __ANDROID__ || defined __OpenBSD__ /* Android, OpenBSD */
-#  if defined __LP64__ && !defined __OpenBSD__
+# elif defined __OpenBSD__          /* OpenBSD */
+#  if defined __sferror             /* OpenBSD <= 7.7 */
+#   define _gl_flags_file_t short
+#  else                             /* OpenBSD >= 7.8 */
+#   define _gl_flags_file_t int
+#  endif
+  /* Up to this commit from 2025-07-16
+     <https://github.com/openbsd/src/commit/b7f6c2eb760a2da367dd51d539ef06f5f3553790>
+     the innards of FILE were public.  After this commit, the innards of FILE
+     are hidden.  In this commit
+     <https://github.com/openbsd/src/commit/9063a2f1ec94013fb0e2c7ec851495108e788a6e>
+     they were reshuffled.  */
+#  if defined __sferror             /* OpenBSD <= 7.7 */
+#   define fp_ ((struct { unsigned char *_p; \
+                          int _r; \
+                          int _w; \
+                          _gl_flags_file_t _flags; \
+                          _gl_flags_file_t _file; \
+                          struct { unsigned char *_base; size_t _size; } _bf; \
+                          int _lbfsize; \
+                          void *_cookie; \
+                          void *_close; \
+                          void *_read; \
+                          void *_seek; \
+                          void *_write; \
+                          struct { unsigned char *_base; size_t _size; } _ext; \
+                          unsigned char *_up; \
+                          int _ur; \
+                          unsigned char _ubuf[3]; \
+                          unsigned char _nbuf[1]; \
+                          struct { unsigned char *_base; size_t _size; } _lb; \
+                          int _blksize; \
+                          fpos_t _offset; \
+                          /* More fields, not relevant here.  */ \
+                        } *) fp)
+#  else                             /* OpenBSD >= 7.8 */
+#   define fp_ ((struct { _gl_flags_file_t _flags; \
+                          _gl_flags_file_t _file; \
+                          unsigned char *_p; \
+                          int _r; \
+                          int _w; \
+                          struct { unsigned char *_base; size_t _size; } _bf; \
+                          int _lbfsize; \
+                          /* More fields, not relevant here.  */ \
+                        } *) fp)
+#  endif
+# elif defined __ANDROID__          /* Android */
+#  if defined __LP64__
 #   define _gl_flags_file_t int
 #  else
 #   define _gl_flags_file_t short
 #  endif
-#  if defined __OpenBSD__
-#   define _gl_file_offset_t fpos_t
-#  elif defined __LP64__
+#  if defined __LP64__
 #   define _gl_file_offset_t int64_t
 #  else
     /* see https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md */
@@ -127,9 +171,7 @@
      the innards of FILE were public,
      see <https://android.googlesource.com/platform/bionic.git/+/e78392637d5086384a5631ddfdfa8d7ec8326ee3/libc/stdio/fileext.h>
      and <https://android.googlesource.com/platform/bionic.git/+/e78392637d5086384a5631ddfdfa8d7ec8326ee3/libc/stdio/local.h>.
-     After this commit, the innards of FILE are hidden.  Likewise for OpenBSD
-     up to this commit from 2025-07-16
-     <https://github.com/openbsd/src/commit/b7f6c2eb760a2da367dd51d539ef06f5f3553790>.  */
+     After this commit, the innards of FILE are hidden.  */
 #  define fp_ ((struct { unsigned char *_p; \
                          int _r; \
                          int _w; \
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdio.in.h patchutils-0.4.4.1/lib/stdio.in.h
--- patchutils-0.4.4/lib/stdio.in.h	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdio.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2025 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2026 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
@@ -338,7 +338,7 @@
 _GL_CXXALIASWARN (dprintf);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef dprintf
+# undef dprintf /* https://lists.gnu.org/r/bug-gnulib/2025-11/msg00254.html */
 # if HAVE_RAW_DECL_DPRINTF
 _GL_WARN_ON_USE (dprintf, "dprintf is unportable - "
                  "use gnulib module dprintf for portability");
@@ -360,7 +360,6 @@
 _GL_CXXALIASWARN (fclose);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef fclose
 /* Assume fclose is always declared.  */
 _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
                  "use gnulib module fclose for portable POSIX compliance");
@@ -447,7 +446,6 @@
 #  endif
 # 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");
@@ -488,7 +486,6 @@
 _GL_CXXALIASWARN (fflush);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef fflush
 /* Assume fflush is always declared.  */
 _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - "
                  "use gnulib module fflush for portable POSIX compliance");
@@ -581,7 +578,6 @@
                   _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");
@@ -641,9 +637,6 @@
 # endif
 #endif
 #if !@GNULIB_FPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
-# if !GNULIB_overrides_fprintf
-#  undef fprintf
-# endif
 /* Assume fprintf is always declared.  */
 _GL_WARN_ON_USE (fprintf, "fprintf is not always POSIX compliant - "
                  "use gnulib module fprintf-posix for portable "
@@ -673,7 +666,6 @@
 _GL_CXXALIASWARN (fpurge);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef fpurge
 # if HAVE_RAW_DECL_FPURGE
 _GL_WARN_ON_USE (fpurge, "fpurge is not always present - "
                  "use gnulib module fpurge for portability");
@@ -761,7 +753,6 @@
 _GL_CXXALIASWARN (freopen);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef freopen
 /* Assume freopen is always declared.  */
 _GL_WARN_ON_USE (freopen,
                  "freopen on native Windows platforms is not POSIX compliant - "
@@ -868,7 +859,6 @@
 #elif defined GNULIB_POSIXCHECK
 # define _GL_FSEEK_WARN /* Category 1, above.  */
 # undef fseek
-# undef fseeko
 # if HAVE_RAW_DECL_FSEEKO
 _GL_WARN_ON_USE (fseeko, "fseeko is unportable - "
                  "use gnulib module fseeko for portability");
@@ -932,7 +922,6 @@
 #elif defined GNULIB_POSIXCHECK
 # define _GL_FTELL_WARN /* Category 1, above.  */
 # undef ftell
-# undef ftello
 # if HAVE_RAW_DECL_FTELLO
 _GL_WARN_ON_USE (ftello, "ftello is unportable - "
                  "use gnulib module ftello for portability");
@@ -1044,6 +1033,17 @@
 #   undef getdelim
 #   define getdelim rpl_getdelim
 #  endif
+#  ifndef __has_feature
+#   define __has_feature(a) 0
+#  endif
+#  if __GLIBC__ >= 2 && !(defined __SANITIZE_ADDRESS__ \
+                          || __has_feature (address_sanitizer))
+/* Arrange for the inline definition of getline() in <bits/stdio.h>
+   to call our getdelim() override.  Do not use the __getdelim symbol
+   if address sanitizer is in use, otherwise it may be overridden by
+   __interceptor_trampoline___getdelim.  */
+#   define rpl_getdelim __getdelim
+#  endif
 _GL_FUNCDECL_RPL (getdelim, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    int delimiter,
@@ -1070,7 +1070,6 @@
 _GL_CXXALIASWARN (getdelim);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getdelim
 # if HAVE_RAW_DECL_GETDELIM
 _GL_WARN_ON_USE (getdelim, "getdelim is unportable - "
                  "use gnulib module getdelim for portability");
@@ -1085,14 +1084,27 @@
    Return the number of bytes read and stored at *LINEPTR (not including the
    NUL terminator), or -1 on error or EOF.  */
 # if @REPLACE_GETLINE@
-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#   undef getline
-#   define getline rpl_getline
-#  endif
 _GL_FUNCDECL_RPL (getline, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    FILE *restrict stream),
                   _GL_ARG_NONNULL ((1, 2, 3)) _GL_ATTRIBUTE_NODISCARD);
+#  if defined __cplusplus
+/* The C++ standard library defines std::basic_istream::getline in <istream>
+   or <string>.  */
+#   if !(__GLIBC__ >= 2)
+extern "C" {
+inline ssize_t
+getline (char **restrict lineptr, size_t *restrict linesize,
+         FILE *restrict stream)
+{
+  return rpl_getline (lineptr, linesize, stream);
+}
+}
+#   endif
+#  else
+#   undef getline
+#   define getline rpl_getline
+#  endif
 _GL_CXXALIAS_RPL (getline, ssize_t,
                   (char **restrict lineptr, size_t *restrict linesize,
                    FILE *restrict stream));
@@ -1111,7 +1123,6 @@
 _GL_CXXALIASWARN (getline);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getline
 # if HAVE_RAW_DECL_GETLINE
 _GL_WARN_ON_USE (getline, "getline is unportable - "
                  "use gnulib module getline for portability");
@@ -1121,7 +1132,6 @@
 /* It is very rare that the developer ever has full control of stdin,
    so any use of gets warrants an unconditional warning; besides, C11
    removed it.  */
-#undef gets
 #if HAVE_RAW_DECL_GETS && !defined __cplusplus
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
 #endif
@@ -1234,7 +1244,6 @@
 _GL_CXXALIAS_SYS (pclose, int, (FILE *stream));
 _GL_CXXALIASWARN (pclose);
 #elif defined GNULIB_POSIXCHECK
-# undef pclose
 # if HAVE_RAW_DECL_PCLOSE
 _GL_WARN_ON_USE (pclose, "pclose is unportable - "
                  "use gnulib module pclose for more portability");
@@ -1258,7 +1267,6 @@
 _GL_CXXALIASWARN (perror);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef perror
 /* Assume perror is always declared.  */
 _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - "
                  "use gnulib module perror for portability");
@@ -1295,7 +1303,6 @@
                   _GL_ATTRIBUTE_MALLOC);
 # 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");
@@ -1368,9 +1375,6 @@
 # endif
 #endif
 #if !@GNULIB_PRINTF_POSIX@ && defined GNULIB_POSIXCHECK
-# if !GNULIB_overrides_printf
-#  undef printf
-# endif
 /* Assume printf is always declared.  */
 _GL_WARN_ON_USE (printf, "printf is not always POSIX compliant - "
                  "use gnulib module printf-posix for portable "
@@ -1464,7 +1468,6 @@
 _GL_CXXALIASWARN (remove);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef remove
 /* Assume remove is always declared.  */
 _GL_WARN_ON_USE (remove, "remove cannot handle directories on some platforms - "
                  "use gnulib module remove for more portability");
@@ -1489,7 +1492,6 @@
 _GL_CXXALIASWARN (rename);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef rename
 /* Assume rename is always declared.  */
 _GL_WARN_ON_USE (rename, "rename is buggy on some platforms - "
                  "use gnulib module rename for more portability");
@@ -1517,7 +1519,6 @@
 # endif
 _GL_CXXALIASWARN (renameat);
 #elif defined GNULIB_POSIXCHECK
-# undef renameat
 # if HAVE_RAW_DECL_RENAMEAT
 _GL_WARN_ON_USE (renameat, "renameat is not portable - "
                  "use gnulib module renameat for portability");
@@ -1611,7 +1612,6 @@
 _GL_CXXALIASWARN (snprintf);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef snprintf
 # if HAVE_RAW_DECL_SNPRINTF
 _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
                  "use gnulib module snprintf for portability");
@@ -1667,7 +1667,6 @@
 _GL_CXXALIASWARN (sprintf);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef sprintf
 /* Assume sprintf is always declared.  */
 _GL_WARN_ON_USE (sprintf, "sprintf is not always POSIX compliant - "
                  "use gnulib module sprintf-posix for portable "
@@ -1722,7 +1721,6 @@
                                    _GL_ATTRIBUTE_MALLOC);
 # 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");
@@ -1856,7 +1854,6 @@
 _GL_CXXALIASWARN (vdprintf);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef vdprintf
 # if HAVE_RAW_DECL_VDPRINTF
 _GL_WARN_ON_USE (vdprintf, "vdprintf is unportable - "
                  "use gnulib module vdprintf for portability");
@@ -1925,9 +1922,6 @@
 # endif
 #endif
 #if !@GNULIB_VFPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
-# if !GNULIB_overrides_vfprintf
-#  undef vfprintf
-# endif
 /* Assume vfprintf is always declared.  */
 _GL_WARN_ON_USE (vfprintf, "vfprintf is not always POSIX compliant - "
                  "use gnulib module vfprintf-posix for portable "
@@ -2011,9 +2005,6 @@
 # endif
 #endif
 #if !@GNULIB_VPRINTF_POSIX@ && defined GNULIB_POSIXCHECK
-# if !GNULIB_overrides_vprintf
-#  undef vprintf
-# endif
 /* Assume vprintf is always declared.  */
 _GL_WARN_ON_USE (vprintf, "vprintf is not always POSIX compliant - "
                  "use gnulib module vprintf-posix for portable "
@@ -2092,7 +2083,6 @@
 _GL_CXXALIASWARN (vsnprintf);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef vsnprintf
 # if HAVE_RAW_DECL_VSNPRINTF
 _GL_WARN_ON_USE (vsnprintf, "vsnprintf is unportable - "
                  "use gnulib module vsnprintf for portability");
@@ -2145,7 +2135,6 @@
 _GL_CXXALIASWARN (vsprintf);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef vsprintf
 /* Assume vsprintf is always declared.  */
 _GL_WARN_ON_USE (vsprintf, "vsprintf is not always POSIX compliant - "
                  "use gnulib module vsprintf-posix for portable "
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdio-read.c patchutils-0.4.4.1/lib/stdio-read.c
--- patchutils-0.4.4/lib/stdio-read.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdio-read.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* POSIX compatible FILE stream read function.
-   Copyright (C) 2008-2025 Free Software Foundation, Inc.
+   Copyright (C) 2008-2026 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011.
 
    This file is free software: you can redistribute it and/or modify
@@ -52,9 +52,8 @@
     return (EXPRESSION);                                                      \
   else                                                                        \
     {                                                                         \
-      RETTYPE ret;                                                            \
       SetLastError (0);                                                       \
-      ret = (EXPRESSION);                                                     \
+      RETTYPE ret = (EXPRESSION);                                             \
       if (FAILED)                                                             \
         {                                                                     \
           if (GetLastError () == ERROR_NO_DATA && ferror (stream))            \
@@ -86,11 +85,9 @@
 int
 scanf (const char *format, ...)
 {
-  int retval;
   va_list args;
-
   va_start (args, format);
-  retval = vfscanf (stdin, format, args);
+  int retval = vfscanf (stdin, format, args);
   va_end (args);
 
   return retval;
@@ -103,11 +100,9 @@
 int
 fscanf (FILE *stream, const char *format, ...)
 {
-  int retval;
   va_list args;
-
   va_start (args, format);
-  retval = vfscanf (stream, format, args);
+  int retval = vfscanf (stream, format, args);
   va_end (args);
 
   return retval;
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdio-write.c patchutils-0.4.4.1/lib/stdio-write.c
--- patchutils-0.4.4/lib/stdio-write.c	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdio-write.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* POSIX compatible FILE stream write function.
-   Copyright (C) 2008-2025 Free Software Foundation, Inc.
+   Copyright (C) 2008-2026 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2008.
 
    This file is free software: you can redistribute it and/or modify
@@ -107,10 +107,9 @@
     return (EXPRESSION);                                                      \
   else                                                                        \
     {                                                                         \
-      RETTYPE ret;                                                            \
       CLEAR_ERRNO                                                             \
       CLEAR_LastError                                                         \
-      ret = (EXPRESSION);                                                     \
+      RETTYPE ret = (EXPRESSION);                                             \
       if (FAILED)                                                             \
         {                                                                     \
           HANDLE_ENOSPC                                                       \
@@ -124,11 +123,9 @@
 int
 printf (const char *format, ...)
 {
-  int retval;
   va_list args;
-
   va_start (args, format);
-  retval = vfprintf (stdout, format, args);
+  int retval = vfprintf (stdout, format, args);
   va_end (args);
 
   return retval;
@@ -139,11 +136,9 @@
 int
 fprintf (FILE *stream, const char *format, ...)
 {
-  int retval;
   va_list args;
-
   va_start (args, format);
-  retval = vfprintf (stream, format, args);
+  int retval = vfprintf (stream, format, args);
   va_end (args);
 
   return retval;
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdlib.c patchutils-0.4.4.1/lib/stdlib.c
--- patchutils-0.4.4/lib/stdlib.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdlib.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Inline functions for <stdlib.h>.
 
-   Copyright (C) 2024-2025 Free Software Foundation, Inc.
+   Copyright (C) 2024-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/stdlib.in.h patchutils-0.4.4.1/lib/stdlib.in.h
--- patchutils-0.4.4/lib/stdlib.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/stdlib.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2025 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2026 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
@@ -70,6 +70,11 @@
 # include <sys/loadavg.h>
 #endif
 
+/* QNX declares getprogname() in <sys/process.h>.  */
+#if (@GNULIB_GETPROGNAME@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_PROCESS_H@
+# include <sys/process.h>
+#endif
+
 /* Native Windows platforms declare _mktemp() in <io.h>.  */
 #if defined _WIN32 && !defined __CYGWIN__
 # include <io.h>
@@ -224,9 +229,9 @@
 
 /* Declarations for ISO C N3322.  */
 #if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
-_GL_EXTERN_C void *bsearch (const void *__key,
-                            const void *__base, size_t __nmemb, size_t __size,
-                            int (*__compare) (const void *, const void *))
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
+  (const void *__key, const void *__base, size_t __nmemb, size_t __size,
+   int (*__compare) (const void *, const void *))
   _GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
 _GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
                          int (*__compare) (const void *, const void *))
@@ -254,7 +259,6 @@
 _GL_CXXALIASWARN (_Exit);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef _Exit
 # if HAVE_RAW_DECL__EXIT
 _GL_WARN_ON_USE (_Exit, "_Exit is unportable - "
                  "use gnulib module _Exit for portability");
@@ -301,7 +305,6 @@
 _GL_CXXALIASWARN (free);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef free
 /* Assume free is always declared.  */
 _GL_WARN_ON_USE (free, "free is not POSIX:2024 compliant everywhere - "
                  "use gnulib module free-posix for portability");
@@ -359,7 +362,6 @@
 #  endif
 # 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");
@@ -379,7 +381,6 @@
 _GL_CXXALIAS_SYS (atoll, long long, (const char *string));
 _GL_CXXALIASWARN (atoll);
 #elif defined GNULIB_POSIXCHECK
-# undef atoll
 # if HAVE_RAW_DECL_ATOLL
 _GL_WARN_ON_USE (atoll, "atoll is unportable - "
                  "use gnulib module atoll for portability");
@@ -436,7 +437,6 @@
 #  endif
 # 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");
@@ -497,7 +497,6 @@
 #  endif
 # 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 - "
@@ -597,7 +596,6 @@
 _GL_CXXALIASWARN (getloadavg);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getloadavg
 # if HAVE_RAW_DECL_GETLOADAVG
 _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
                  "use gnulib module getloadavg for portability");
@@ -632,7 +630,6 @@
 _GL_CXXALIASWARN (getprogname);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getprogname
 # if HAVE_RAW_DECL_GETPROGNAME
 _GL_WARN_ON_USE (getprogname, "getprogname is unportable - "
                  "use gnulib module getprogname for portability");
@@ -674,7 +671,6 @@
 _GL_CXXALIASWARN (getsubopt);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getsubopt
 # if HAVE_RAW_DECL_GETSUBOPT
 _GL_WARN_ON_USE (getsubopt, "getsubopt is unportable - "
                  "use gnulib module getsubopt for portability");
@@ -690,7 +686,6 @@
 _GL_CXXALIAS_SYS (grantpt, int, (int fd));
 _GL_CXXALIASWARN (grantpt);
 #elif defined GNULIB_POSIXCHECK
-# undef grantpt
 # if HAVE_RAW_DECL_GRANTPT
 _GL_WARN_ON_USE (grantpt, "grantpt is not portable - "
                  "use gnulib module grantpt for portability");
@@ -751,7 +746,6 @@
 #  endif
 # 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");
@@ -802,7 +796,6 @@
 _GL_CXXALIASWARN (mbstowcs);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mbstowcs
 # if HAVE_RAW_DECL_MBSTOWCS
 _GL_WARN_ON_USE (mbstowcs, "mbstowcs is unportable - "
                  "use gnulib module mbstowcs for portability");
@@ -832,7 +825,6 @@
 _GL_CXXALIASWARN (mbtowc);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mbtowc
 # if HAVE_RAW_DECL_MBTOWC
 _GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
                  "use gnulib module mbtowc for portability");
@@ -853,7 +845,6 @@
 _GL_CXXALIAS_SYS (mkdtemp, char *, (char * /*template*/));
 _GL_CXXALIASWARN (mkdtemp);
 #elif defined GNULIB_POSIXCHECK
-# undef mkdtemp
 # if HAVE_RAW_DECL_MKDTEMP
 _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - "
                  "use gnulib module mkdtemp for portability");
@@ -892,7 +883,6 @@
 _GL_CXXALIASWARN (mkostemp);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mkostemp
 # if HAVE_RAW_DECL_MKOSTEMP
 _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - "
                  "use gnulib module mkostemp for portability");
@@ -936,7 +926,6 @@
 _GL_CXXALIASWARN (mkostemps);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mkostemps
 # if HAVE_RAW_DECL_MKOSTEMPS
 _GL_WARN_ON_USE (mkostemps, "mkostemps is unportable - "
                  "use gnulib module mkostemps for portability");
@@ -969,7 +958,6 @@
 # endif
 _GL_CXXALIASWARN (mkstemp);
 #elif defined GNULIB_POSIXCHECK
-# undef mkstemp
 # if HAVE_RAW_DECL_MKSTEMP
 _GL_WARN_ON_USE (mkstemp, "mkstemp is unportable - "
                  "use gnulib module mkstemp for portability");
@@ -994,7 +982,6 @@
 _GL_CXXALIAS_SYS (mkstemps, int, (char * /*template*/, int /*suffixlen*/));
 _GL_CXXALIASWARN (mkstemps);
 #elif defined GNULIB_POSIXCHECK
-# undef mkstemps
 # if HAVE_RAW_DECL_MKSTEMPS
 _GL_WARN_ON_USE (mkstemps, "mkstemps is unportable - "
                  "use gnulib module mkstemps for portability");
@@ -1039,7 +1026,6 @@
 _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");
@@ -1066,7 +1052,6 @@
 _GL_CXXALIASWARN (posix_openpt);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef posix_openpt
 # if HAVE_RAW_DECL_POSIX_OPENPT
 _GL_WARN_ON_USE (posix_openpt, "posix_openpt is not portable - "
                  "use gnulib module posix_openpt for portability");
@@ -1091,7 +1076,6 @@
 # endif
 _GL_CXXALIASWARN (ptsname);
 #elif defined GNULIB_POSIXCHECK
-# undef ptsname
 # if HAVE_RAW_DECL_PTSNAME
 _GL_WARN_ON_USE (ptsname, "ptsname is not portable - "
                  "use gnulib module ptsname for portability");
@@ -1120,7 +1104,6 @@
 # endif
 _GL_CXXALIASWARN (ptsname_r);
 #elif defined GNULIB_POSIXCHECK
-# undef ptsname_r
 # if HAVE_RAW_DECL_PTSNAME_R
 _GL_WARN_ON_USE (ptsname_r, "ptsname_r is not portable - "
                  "use gnulib module ptsname_r for portability");
@@ -1214,7 +1197,6 @@
 _GL_CXXALIASWARN (qsort_r);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef qsort_r
 # if HAVE_RAW_DECL_QSORT_R
 _GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
                  "use gnulib module qsort_r for portability");
@@ -1266,7 +1248,6 @@
 _GL_CXXALIASWARN (random);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef random
 # if HAVE_RAW_DECL_RANDOM
 _GL_WARN_ON_USE (random, "random is unportable - "
                  "use gnulib module random for portability");
@@ -1293,7 +1274,6 @@
 _GL_CXXALIASWARN (srandom);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef srandom
 # if HAVE_RAW_DECL_SRANDOM
 _GL_WARN_ON_USE (srandom, "srandom is unportable - "
                  "use gnulib module random for portability");
@@ -1326,7 +1306,6 @@
 _GL_CXXALIASWARN (initstate);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef initstate
 # if HAVE_RAW_DECL_INITSTATE
 _GL_WARN_ON_USE (initstate, "initstate is unportable - "
                  "use gnulib module random for portability");
@@ -1353,7 +1332,6 @@
 _GL_CXXALIASWARN (setstate);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef setstate
 # if HAVE_RAW_DECL_SETSTATE
 _GL_WARN_ON_USE (setstate, "setstate is unportable - "
                  "use gnulib module random for portability");
@@ -1379,7 +1357,6 @@
 # endif
 _GL_CXXALIASWARN (random_r);
 #elif defined GNULIB_POSIXCHECK
-# undef random_r
 # if HAVE_RAW_DECL_RANDOM_R
 _GL_WARN_ON_USE (random_r, "random_r is unportable - "
                  "use gnulib module random_r for portability");
@@ -1408,7 +1385,6 @@
 # endif
 _GL_CXXALIASWARN (srandom_r);
 #elif defined GNULIB_POSIXCHECK
-# undef srandom_r
 # if HAVE_RAW_DECL_SRANDOM_R
 _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
                  "use gnulib module random_r for portability");
@@ -1443,7 +1419,6 @@
 # endif
 _GL_CXXALIASWARN (initstate_r);
 #elif defined GNULIB_POSIXCHECK
-# undef initstate_r
 # if HAVE_RAW_DECL_INITSTATE_R
 _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable - "
                  "use gnulib module random_r for portability");
@@ -1474,7 +1449,6 @@
 # endif
 _GL_CXXALIASWARN (setstate_r);
 #elif defined GNULIB_POSIXCHECK
-# undef setstate_r
 # if HAVE_RAW_DECL_SETSTATE_R
 _GL_WARN_ON_USE (setstate_r, "setstate_r is unportable - "
                  "use gnulib module random_r for portability");
@@ -1544,7 +1518,6 @@
 #  endif
 # 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");
@@ -1576,7 +1549,6 @@
 _GL_CXXALIASWARN (reallocarray);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef reallocarray
 # if HAVE_RAW_DECL_REALLOCARRAY
 _GL_WARN_ON_USE (reallocarray, "reallocarray is not portable - "
                  "use gnulib module reallocarray for portability");
@@ -1604,7 +1576,6 @@
 # endif
 _GL_CXXALIASWARN (realpath);
 #elif defined GNULIB_POSIXCHECK
-# undef realpath
 # if HAVE_RAW_DECL_REALPATH
 _GL_WARN_ON_USE (realpath, "realpath is unportable - use gnulib module "
                  "canonicalize or canonicalize-lgpl for portability");
@@ -1621,7 +1592,6 @@
 _GL_CXXALIAS_SYS (rpmatch, int, (const char *response));
 _GL_CXXALIASWARN (rpmatch);
 #elif defined GNULIB_POSIXCHECK
-# undef rpmatch
 # if HAVE_RAW_DECL_RPMATCH
 _GL_WARN_ON_USE (rpmatch, "rpmatch is unportable - "
                  "use gnulib module rpmatch for portability");
@@ -1638,7 +1608,6 @@
 _GL_CXXALIAS_SYS (secure_getenv, char *, (char const *name));
 _GL_CXXALIASWARN (secure_getenv);
 #elif defined GNULIB_POSIXCHECK
-# undef secure_getenv
 # if HAVE_RAW_DECL_SECURE_GETENV
 _GL_WARN_ON_USE (secure_getenv, "secure_getenv is unportable - "
                  "use gnulib module secure_getenv for portability");
@@ -1671,7 +1640,6 @@
 _GL_CXXALIASWARN (setenv);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef setenv
 # if HAVE_RAW_DECL_SETENV
 _GL_WARN_ON_USE (setenv, "setenv is unportable - "
                  "use gnulib module setenv for portability");
@@ -1716,7 +1684,6 @@
 _GL_CXXALIASWARN (strtod);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strtod
 # if HAVE_RAW_DECL_STRTOD
 _GL_WARN_ON_USE (strtod, "strtod is unportable - "
                  "use gnulib module strtod for portability");
@@ -1748,7 +1715,6 @@
 _GL_CXXALIASWARN (strtof);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strtof
 # if HAVE_RAW_DECL_STRTOF
 _GL_WARN_ON_USE (strtof, "strtof is unportable - "
                  "use gnulib module strtof for portability");
@@ -1778,7 +1744,6 @@
 # endif
 _GL_CXXALIASWARN (strtold);
 #elif defined GNULIB_POSIXCHECK
-# undef strtold
 # if HAVE_RAW_DECL_STRTOLD
 _GL_WARN_ON_USE (strtold, "strtold is unportable - "
                  "use gnulib module strtold for portability");
@@ -1821,7 +1786,6 @@
 _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");
@@ -1862,7 +1826,6 @@
 # endif
 _GL_CXXALIASWARN (strtoll);
 #elif defined GNULIB_POSIXCHECK
-# undef strtoll
 # if HAVE_RAW_DECL_STRTOLL
 _GL_WARN_ON_USE (strtoll, "strtoll is unportable - "
                  "use gnulib module strtoll for portability");
@@ -1904,7 +1867,6 @@
 _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");
@@ -1945,7 +1907,6 @@
 # endif
 _GL_CXXALIASWARN (strtoull);
 #elif defined GNULIB_POSIXCHECK
-# undef strtoull
 # if HAVE_RAW_DECL_STRTOULL
 _GL_WARN_ON_USE (strtoull, "strtoull is unportable - "
                  "use gnulib module strtoull for portability");
@@ -1961,7 +1922,6 @@
 _GL_CXXALIAS_SYS (unlockpt, int, (int fd));
 _GL_CXXALIASWARN (unlockpt);
 #elif defined GNULIB_POSIXCHECK
-# undef unlockpt
 # if HAVE_RAW_DECL_UNLOCKPT
 _GL_WARN_ON_USE (unlockpt, "unlockpt is not portable - "
                  "use gnulib module unlockpt for portability");
@@ -1987,7 +1947,6 @@
 _GL_CXXALIASWARN (unsetenv);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef unsetenv
 # if HAVE_RAW_DECL_UNSETENV
 _GL_WARN_ON_USE (unsetenv, "unsetenv is unportable - "
                  "use gnulib module unsetenv for portability");
diff '--color=auto' -ruN patchutils-0.4.4/lib/strerror.c patchutils-0.4.4.1/lib/strerror.c
--- patchutils-0.4.4/lib/strerror.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/strerror.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007-2026 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
@@ -42,7 +42,6 @@
 #undef strerror
 {
   static char buf[STACKBUF_LEN];
-  size_t len;
 
   /* Cast away const, due to the historical signature of strerror;
      callers should not be modifying the string.  */
@@ -67,7 +66,7 @@
     }
 
   /* Fix STACKBUF_LEN if this ever aborts.  */
-  len = strlen (msg);
+  size_t len = strlen (msg);
   if (sizeof buf <= len)
     abort ();
 
diff '--color=auto' -ruN patchutils-0.4.4/lib/strerror-override.c patchutils-0.4.4.1/lib/strerror-override.c
--- patchutils-0.4.4/lib/strerror-override.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/strerror-override.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* strerror-override.c --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2025 Free Software Foundation, Inc.
+   Copyright (C) 2010-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/strerror-override.h patchutils-0.4.4.1/lib/strerror-override.h
--- patchutils-0.4.4/lib/strerror-override.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/strerror-override.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* strerror-override.h --- POSIX compatible system error routine
 
-   Copyright (C) 2010-2025 Free Software Foundation, Inc.
+   Copyright (C) 2010-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/string.c patchutils-0.4.4.1/lib/string.c
--- patchutils-0.4.4/lib/string.c	1970-01-01 01:00:00.000000000 +0100
+++ patchutils-0.4.4.1/lib/string.c	2026-02-07 15:23:05.000000000 +0100
@@ -0,0 +1,19 @@
+/* streq and memeq functions.
+   Copyright (C) 2025-2026 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 <https://www.gnu.org/licenses/>.  */
+
+#define _GL_STRING_INLINE _GL_EXTERN_INLINE
+#include <config.h>
+#include <string.h>
diff '--color=auto' -ruN patchutils-0.4.4/lib/string.in.h patchutils-0.4.4.1/lib/string.in.h
--- patchutils-0.4.4/lib/string.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/string.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2025 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2026 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
@@ -80,6 +80,12 @@
 # include <strings.h>
 #endif
 
+_GL_INLINE_HEADER_BEGIN
+
+#ifndef _GL_STRING_INLINE
+# define _GL_STRING_INLINE _GL_INLINE
+#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.  */
@@ -306,7 +312,6 @@
 _GL_CXXALIAS_SYS (explicit_bzero, void, (void *__dest, size_t __n));
 _GL_CXXALIASWARN (explicit_bzero);
 #elif defined GNULIB_POSIXCHECK
-# undef explicit_bzero
 # if HAVE_RAW_DECL_EXPLICIT_BZERO
 _GL_WARN_ON_USE (explicit_bzero, "explicit_bzero is unportable - "
                  "use gnulib module explicit_bzero for portability");
@@ -322,7 +327,6 @@
 _GL_CXXALIAS_SYS (ffsl, int, (long int i));
 _GL_CXXALIASWARN (ffsl);
 #elif defined GNULIB_POSIXCHECK
-# undef ffsl
 # if HAVE_RAW_DECL_FFSL
 _GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module");
 # endif
@@ -345,7 +349,6 @@
 # endif
 _GL_CXXALIASWARN (ffsll);
 #elif defined GNULIB_POSIXCHECK
-# undef ffsll
 # if HAVE_RAW_DECL_FFSLL
 _GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module");
 # endif
@@ -403,10 +406,26 @@
 _GL_CXXALIASWARN (memchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef memchr
 /* Assume memchr is always declared.  */
-_GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - "
-                 "use gnulib module memchr for portability" );
+_GL_WARN_ON_USE_CXX (memchr,
+                     const void *, void *, (void const *, int, size_t),
+                     "memchr has platform-specific bugs - "
+                     "use gnulib module memchr for portability" );
+#endif
+
+/* Are S1 and S2, of size N, bytewise equal?  */
+#if @GNULIB_STRINGEQ@ && !@HAVE_DECL_MEMEQ@
+# ifdef __cplusplus
+extern "C" {
+# endif
+_GL_STRING_INLINE bool
+memeq (void const *__s1, void const *__s2, size_t __n)
+{
+  return !memcmp (__s1, __s2, __n);
+}
+# ifdef __cplusplus
+}
+# endif
 #endif
 
 /* Return the first occurrence of NEEDLE in HAYSTACK.  */
@@ -437,7 +456,6 @@
 # endif
 _GL_CXXALIASWARN (memmem);
 #elif defined GNULIB_POSIXCHECK
-# undef memmem
 # if HAVE_RAW_DECL_MEMMEM
 _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - "
                  "use gnulib module memmem-simple for portability, "
@@ -475,7 +493,6 @@
 _GL_CXXALIASWARN (mempcpy);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mempcpy
 # if HAVE_RAW_DECL_MEMPCPY
 _GL_WARN_ON_USE (mempcpy, "mempcpy is unportable - "
                  "use gnulib module mempcpy for portability");
@@ -508,7 +525,6 @@
 _GL_CXXALIASWARN (memrchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef memrchr
 # if HAVE_RAW_DECL_MEMRCHR
 _GL_WARN_ON_USE (memrchr, "memrchr is unportable - "
                  "use gnulib module memrchr for portability");
@@ -539,7 +555,6 @@
 _GL_CXXALIASWARN (memset_explicit);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef memset_explicit
 # if HAVE_RAW_DECL_MEMSET_EXPLICIT
 _GL_WARN_ON_USE (memset_explicit, "memset_explicit is unportable - "
                  "use gnulib module memset_explicit for portability");
@@ -574,7 +589,6 @@
 _GL_CXXALIASWARN (rawmemchr);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef rawmemchr
 # if HAVE_RAW_DECL_RAWMEMCHR
 _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - "
                  "use gnulib module rawmemchr for portability");
@@ -606,7 +620,6 @@
 _GL_CXXALIASWARN (stpcpy);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef stpcpy
 # if HAVE_RAW_DECL_STPCPY
 _GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - "
                  "use gnulib module stpcpy for portability");
@@ -643,7 +656,6 @@
 _GL_CXXALIASWARN (stpncpy);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef stpncpy
 # if HAVE_RAW_DECL_STPNCPY
 _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - "
                  "use gnulib module stpncpy for portability");
@@ -653,7 +665,6 @@
 #if defined GNULIB_POSIXCHECK
 /* strchr() does not work with multibyte strings if the locale encoding is
    GB18030 and the character to be searched is a digit.  */
-# undef strchr
 /* Assume strchr is always declared.  */
 _GL_WARN_ON_USE_CXX (strchr,
                      const char *, char *, (const char *, int),
@@ -699,7 +710,6 @@
 _GL_CXXALIASWARN (strchrnul);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strchrnul
 # if HAVE_RAW_DECL_STRCHRNUL
 _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - "
                  "use gnulib module strchrnul for portability");
@@ -764,7 +774,6 @@
 #  endif
 # 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");
@@ -789,6 +798,21 @@
 # endif
 #endif
 
+/* Are strings S1 and S2 equal?  */
+#if @GNULIB_STRINGEQ@ && !@HAVE_DECL_STREQ@
+# ifdef __cplusplus
+extern "C" {
+# endif
+_GL_STRING_INLINE bool
+streq (char const *__s1, char const *__s2)
+{
+  return !strcmp (__s1, __s2);
+}
+# ifdef __cplusplus
+}
+# endif
+#endif
+
 /* Append no more than N characters from SRC onto DEST.  */
 #if @GNULIB_STRNCAT@
 # if @REPLACE_STRNCAT@
@@ -810,13 +834,41 @@
 _GL_CXXALIASWARN (strncat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strncat
 # if HAVE_RAW_DECL_STRNCAT
 _GL_WARN_ON_USE (strncat, "strncat is unportable - "
                  "use gnulib module strncat for portability");
 # endif
 #endif
 
+/* Copy no more than N bytes of SRC to DST, returning DST.  */
+#if @GNULIB_STRNCPY@
+# if @REPLACE_STRNCPY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef strncpy
+#   define strncpy rpl_strncpy
+#  endif
+_GL_FUNCDECL_RPL (strncpy, char *,
+                  (char *restrict __dst, char const *restrict __src,
+                   size_t __n),
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (strncpy, char *,
+                  (char *restrict __dst, char const *restrict __src,
+                   size_t __n));
+# else
+_GL_CXXALIAS_SYS (strncpy, char *,
+                  (char *restrict __dst, char const *restrict __src,
+                   size_t __n));
+# endif
+# if __GLIBC__ >= 2
+_GL_CXXALIASWARN (strncpy);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# if HAVE_RAW_DECL_STRNCPY
+_GL_WARN_ON_USE (strncpy, "strncpy is unportable - "
+                 "use gnulib module strncpy for portability");
+# endif
+#endif
+
 /* Return a newly allocated copy of at most N bytes of STRING.  */
 #if @GNULIB_STRNDUP@
 # if @REPLACE_STRNDUP@
@@ -865,7 +917,6 @@
 #  endif
 # 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");
@@ -896,7 +947,6 @@
 # endif
 _GL_CXXALIASWARN (strnlen);
 #elif defined GNULIB_POSIXCHECK
-# undef strnlen
 # if HAVE_RAW_DECL_STRNLEN
 _GL_WARN_ON_USE (strnlen, "strnlen is unportable - "
                  "use gnulib module strnlen for portability");
@@ -908,7 +958,6 @@
    Even in this simple case, it does not work with multibyte strings if the
    locale encoding is GB18030 and one of the characters to be searched is a
    digit.  */
-# undef strcspn
 /* Assume strcspn is always declared.  */
 _GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on character strings "
                  "in multibyte locales - "
@@ -945,7 +994,6 @@
    Even in this simple case, it does not work with multibyte strings if the
    locale encoding is GB18030 and one of the characters to be searched is a
    digit.  */
-#  undef strpbrk
 _GL_WARN_ON_USE_CXX (strpbrk,
                      const char *, char *, (const char *, const char *),
                      "strpbrk cannot work correctly on character strings "
@@ -965,7 +1013,6 @@
 #if defined GNULIB_POSIXCHECK
 /* strspn() assumes the second argument is a list of single-byte characters.
    Even in this simple case, it cannot work with multibyte strings.  */
-# undef strspn
 /* Assume strspn is always declared.  */
 _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings "
                  "in multibyte locales - "
@@ -975,7 +1022,6 @@
 #if defined GNULIB_POSIXCHECK
 /* strrchr() does not work with multibyte strings if the locale encoding is
    GB18030 and the character to be searched is a digit.  */
-# undef strrchr
 /* Assume strrchr is always declared.  */
 _GL_WARN_ON_USE_CXX (strrchr,
                      const char *, char *, (const char *, int),
@@ -1010,13 +1056,11 @@
                   (char **restrict __stringp, char const *restrict __delim));
 _GL_CXXALIASWARN (strsep);
 # if defined GNULIB_POSIXCHECK
-#  undef strsep
 _GL_WARN_ON_USE (strsep, "strsep cannot work correctly on character strings "
                  "in multibyte locales - "
                  "use mbssep if you care about internationalization");
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strsep
 # if HAVE_RAW_DECL_STRSEP
 _GL_WARN_ON_USE (strsep, "strsep is unportable - "
                  "use gnulib module strsep for portability");
@@ -1059,11 +1103,13 @@
    as a sequence of bytes, not of characters.  */
 # undef strstr
 /* Assume strstr is always declared.  */
-_GL_WARN_ON_USE (strstr, "strstr is quadratic on many systems, and cannot "
-                 "work correctly on character strings in most "
-                 "multibyte locales - "
-                 "use mbsstr if you care about internationalization, "
-                 "or use strstr if you care about speed");
+_GL_WARN_ON_USE_CXX (strstr,
+                     const char *, char *, (const char *, const char *),
+                     "strstr is quadratic on many systems, and cannot "
+                     "work correctly on character strings in most "
+                     "multibyte locales - "
+                     "use mbsstr if you care about internationalization, "
+                     "or use strstr if you care about speed");
 #endif
 
 /* Find the first occurrence of NEEDLE in HAYSTACK, using case-insensitive
@@ -1109,7 +1155,6 @@
 /* strcasestr() does not work with multibyte strings:
    It is a glibc extension, and glibc implements it only for unibyte
    locales.  */
-# undef strcasestr
 # if HAVE_RAW_DECL_STRCASESTR
 _GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character "
                  "strings in multibyte locales - "
@@ -1155,7 +1200,7 @@
                   (char *restrict s, char const *restrict delim,
                    char **restrict save_ptr));
 # else
-#  if @UNDEFINE_STRTOK_R@ || defined GNULIB_POSIXCHECK
+#  if @UNDEFINE_STRTOK_R@
 #   undef strtok_r
 #  endif
 #  if ! @HAVE_DECL_STRTOK_R@
@@ -1175,7 +1220,6 @@
                  "use mbstok_r if you care about internationalization");
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strtok_r
 # if HAVE_RAW_DECL_STRTOK_R
 _GL_WARN_ON_USE (strtok_r, "strtok_r is unportable - "
                  "use gnulib module strtok_r for portability");
@@ -1543,7 +1587,6 @@
 _GL_CXXALIASWARN (strerror);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strerror
 /* Assume strerror is always declared.  */
 _GL_WARN_ON_USE (strerror, "strerror is unportable - "
                  "use gnulib module strerror to guarantee non-NULL result");
@@ -1571,7 +1614,6 @@
 _GL_CXXALIASWARN (strerror_r);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strerror_r
 # if HAVE_RAW_DECL_STRERROR_R
 _GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - "
                  "use gnulib module strerror_r-posix for portability");
@@ -1600,7 +1642,6 @@
 _GL_CXXALIASWARN (strerror_l);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef strerror_l
 # if HAVE_RAW_DECL_STRERROR_L
 _GL_WARN_ON_USE (strerror_l, "strerror_l is unportable - "
                  "use gnulib module strerror_l for portability");
@@ -1635,7 +1676,6 @@
 _GL_CXXALIASWARN (strerrorname_np);
 # endif
 #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");
@@ -1650,7 +1690,6 @@
 _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");
@@ -1665,7 +1704,6 @@
 _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");
@@ -1689,7 +1727,6 @@
 # endif
 _GL_CXXALIASWARN (strsignal);
 #elif defined GNULIB_POSIXCHECK
-# undef strsignal
 # if HAVE_RAW_DECL_STRSIGNAL
 _GL_WARN_ON_USE (strsignal, "strsignal is unportable - "
                  "use gnulib module strsignal for portability");
@@ -1715,13 +1752,13 @@
 # endif
 _GL_CXXALIASWARN (strverscmp);
 #elif defined GNULIB_POSIXCHECK
-# undef strverscmp
 # if HAVE_RAW_DECL_STRVERSCMP
 _GL_WARN_ON_USE (strverscmp, "strverscmp is unportable - "
                  "use gnulib module strverscmp for portability");
 # endif
 #endif
 
+_GL_INLINE_HEADER_END
 
 #endif /* _@GUARD_PREFIX@_STRING_H */
 #endif /* _@GUARD_PREFIX@_STRING_H */
diff '--color=auto' -ruN patchutils-0.4.4/lib/sys_stat.in.h patchutils-0.4.4.1/lib/sys_stat.in.h
--- patchutils-0.4.4/lib/sys_stat.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/sys_stat.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Provide a more complete sys/stat.h header file.
-   Copyright (C) 2005-2025 Free Software Foundation, Inc.
+   Copyright (C) 2005-2026 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
@@ -451,7 +451,6 @@
 # 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");
@@ -496,7 +495,6 @@
 # endif
 _GL_CXXALIASWARN (fchmodat);
 #elif defined GNULIB_POSIXCHECK
-# undef fchmodat
 # if HAVE_RAW_DECL_FCHMODAT
 _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
                  "use gnulib module openat for portability");
@@ -528,7 +526,6 @@
 /* Above, we define stat to _stati64.  */
 # define fstat _fstati64
 #elif defined GNULIB_POSIXCHECK
-# undef fstat
 # if HAVE_RAW_DECL_FSTAT
 _GL_WARN_ON_USE (fstat, "fstat has portability problems - "
                  "use gnulib module fstat for portability");
@@ -567,7 +564,6 @@
 #  define fstatat fstatat_used_without_requesting_gnulib_module_fstatat
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef fstatat
 # if HAVE_RAW_DECL_FSTATAT
 _GL_WARN_ON_USE (fstatat, "fstatat is not portable - "
                  "use gnulib module openat for portability");
@@ -597,7 +593,6 @@
 _GL_CXXALIASWARN (futimens);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef futimens
 # if HAVE_RAW_DECL_FUTIMENS
 _GL_WARN_ON_USE (futimens, "futimens is not portable - "
                  "use gnulib module futimens for portability");
@@ -618,7 +613,6 @@
 _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");
@@ -636,7 +630,6 @@
 _GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode));
 _GL_CXXALIASWARN (lchmod);
 #elif defined GNULIB_POSIXCHECK
-# undef lchmod
 # if HAVE_RAW_DECL_LCHMOD
 _GL_WARN_ON_USE (lchmod, "lchmod is unportable - "
                  "use gnulib module lchmod for portability");
@@ -698,7 +691,6 @@
 # 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");
@@ -714,7 +706,6 @@
 _GL_CXXALIAS_SYS (mkdirat, int, (int fd, char const *file, mode_t mode));
 _GL_CXXALIASWARN (mkdirat);
 #elif defined GNULIB_POSIXCHECK
-# undef mkdirat
 # if HAVE_RAW_DECL_MKDIRAT
 _GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - "
                  "use gnulib module openat for portability");
@@ -740,7 +731,6 @@
 # endif
 _GL_CXXALIASWARN (mkfifo);
 #elif defined GNULIB_POSIXCHECK
-# undef mkfifo
 # if HAVE_RAW_DECL_MKFIFO
 _GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - "
                  "use gnulib module mkfifo for portability");
@@ -768,7 +758,6 @@
 _GL_CXXALIASWARN (mkfifoat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mkfifoat
 # if HAVE_RAW_DECL_MKFIFOAT
 _GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - "
                  "use gnulib module mkfifoat for portability");
@@ -794,7 +783,6 @@
 # endif
 _GL_CXXALIASWARN (mknod);
 #elif defined GNULIB_POSIXCHECK
-# undef mknod
 # if HAVE_RAW_DECL_MKNOD
 _GL_WARN_ON_USE (mknod, "mknod is not portable - "
                  "use gnulib module mknod for portability");
@@ -826,7 +814,6 @@
 _GL_CXXALIASWARN (mknodat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef mknodat
 # if HAVE_RAW_DECL_MKNODAT
 _GL_WARN_ON_USE (mknodat, "mknodat is not portable - "
                  "use gnulib module mkfifoat for portability");
@@ -904,7 +891,6 @@
   #define stat stat_used_without_requesting_gnulib_module_stat
  */
 #elif defined GNULIB_POSIXCHECK
-# undef stat
 # if HAVE_RAW_DECL_STAT
 _GL_WARN_ON_USE (stat, "stat is unportable - "
                  "use gnulib module stat for portability");
@@ -944,7 +930,6 @@
 #  define lstat lstat_used_without_requesting_gnulib_module_lstat
 # endif
 #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");
@@ -998,7 +983,6 @@
 _GL_CXXALIASWARN (utimensat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef utimensat
 # if HAVE_RAW_DECL_UTIMENSAT
 _GL_WARN_ON_USE (utimensat, "utimensat is not portable - "
                  "use gnulib module utimensat for portability");
diff '--color=auto' -ruN patchutils-0.4.4/lib/sys_types.in.h patchutils-0.4.4.1/lib/sys_types.in.h
--- patchutils-0.4.4/lib/sys_types.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/sys_types.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011-2025 Free Software Foundation, Inc.
+   Copyright (C) 2011-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/time.in.h patchutils-0.4.4.1/lib/time.in.h
--- patchutils-0.4.4/lib/time.in.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/time.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2025 Free Software Foundation, Inc.
+   Copyright (C) 2007-2026 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
@@ -161,7 +161,6 @@
 _GL_CXXALIASWARN (timespec_get);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef timespec_get
 #  if HAVE_RAW_DECL_TIMESPEC_GET
 _GL_WARN_ON_USE (timespec_get, "timespec_get is unportable - "
                  "use gnulib module timespec_get for portability");
@@ -190,7 +189,6 @@
 _GL_CXXALIASWARN (timespec_getres);
 # endif
 # elif defined GNULIB_POSIXCHECK
-#  undef timespec_getres
 #  if HAVE_RAW_DECL_TIMESPEC_GETRES
 _GL_WARN_ON_USE (timespec_getres, "timespec_getres is unportable - "
                  "use gnulib module timespec_getres for portability");
@@ -212,7 +210,6 @@
 _GL_CXXALIASWARN (time);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef time
 #  if HAVE_RAW_DECL_TIME
 _GL_WARN_ON_USE (time, "time has consistency problems - "
                  "use gnulib module time for portability");
@@ -243,7 +240,6 @@
 #  endif
 _GL_CXXALIASWARN (nanosleep);
 # elif defined GNULIB_POSIXCHECK
-#  undef nanosleep
 #  if HAVE_RAW_DECL_NANOSLEEP
 _GL_WARN_ON_USE (nanosleep, "nanosleep is unportable - "
                  "use gnulib module nanosleep for portability");
@@ -284,7 +280,6 @@
 #  endif
 _GL_CXXALIASWARN (tzset);
 # elif defined GNULIB_POSIXCHECK
-#  undef tzset
 #  if HAVE_RAW_DECL_TZSET
 _GL_WARN_ON_USE (tzset, "tzset has portability problems - "
                  "use gnulib module tzset for portability");
@@ -306,7 +301,6 @@
 _GL_CXXALIASWARN (mktime);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef mktime
 #  if HAVE_RAW_DECL_MKTIME
 _GL_WARN_ON_USE (mktime, "mktime has portability problems - "
                  "use gnulib module mktime for portability");
@@ -362,12 +356,10 @@
 _GL_CXXALIASWARN (gmtime_r);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef localtime_r
 #  if HAVE_RAW_DECL_LOCALTIME_R
 _GL_WARN_ON_USE (localtime_r, "localtime_r is unportable - "
                  "use gnulib module time_r for portability");
 #  endif
-#  undef gmtime_r
 #  if HAVE_RAW_DECL_GMTIME_R
 _GL_WARN_ON_USE (gmtime_r, "gmtime_r is unportable - "
                  "use gnulib module time_r for portability");
@@ -393,7 +385,6 @@
 _GL_CXXALIASWARN (localtime);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef localtime
 #  if HAVE_RAW_DECL_LOCALTIME
 _GL_WARN_ON_USE (localtime, "localtime has portability problems - "
                  "use gnulib module localtime for portability");
@@ -430,7 +421,6 @@
                                      struct tm *restrict __tm));
 _GL_CXXALIASWARN (strptime);
 # elif defined GNULIB_POSIXCHECK
-#  undef strptime
 #  if HAVE_RAW_DECL_STRPTIME
 _GL_WARN_ON_USE (strptime, "strptime is unportable - "
                  "use gnulib module strptime for portability");
@@ -483,7 +473,6 @@
 _GL_CXXALIASWARN (strftime);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef strftime
 #  if HAVE_RAW_DECL_STRFTIME
 _GL_WARN_ON_USE (strftime, "strftime has portability problems - "
                  "use gnulib module strftime-fixes for portability");
@@ -523,11 +512,18 @@
 #  endif
 
 /* tzfree (tz)
-   Frees a time zone object.
+   Free a time zone object, preserving errno.
    The argument must have been returned by tzalloc().  */
 #  if !@HAVE_TZALLOC@
 _GL_FUNCDECL_SYS (tzfree, void, (timezone_t __tz), );
 _GL_CXXALIAS_SYS (tzfree, void, (timezone_t __tz));
+#  else
+#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#    undef tzfree
+#    define tzfree rpl_tzfree
+#   endif
+_GL_FUNCDECL_RPL (tzfree, void, (timezone_t __tz), );
+_GL_CXXALIAS_RPL (tzfree, void, (timezone_t __tz));
 #  endif
 
 /* localtime_rz (tz, &t, &result)
@@ -611,7 +607,6 @@
 _GL_CXXALIASWARN (timegm);
 #  endif
 # elif defined GNULIB_POSIXCHECK
-#  undef timegm
 #  if HAVE_RAW_DECL_TIMEGM
 _GL_WARN_ON_USE (timegm, "timegm is unportable - "
                  "use gnulib module timegm for portability");
@@ -622,28 +617,24 @@
    buffers when given outlandish struct tm values.  Portable
    applications should use strftime (or even sprintf) instead.  */
 # if defined GNULIB_POSIXCHECK
-#  undef asctime
 #  if HAVE_RAW_DECL_ASCTIME
 _GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
                  "better use strftime (or even sprintf) instead");
 #  endif
 # endif
 # if defined GNULIB_POSIXCHECK
-#  undef asctime_r
 #  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
 #  if HAVE_RAW_DECL_CTIME
 _GL_WARN_ON_USE (ctime, "ctime can overrun buffers in some cases - "
                  "better use strftime (or even sprintf) instead");
 #  endif
 # endif
 # if defined GNULIB_POSIXCHECK
-#  undef ctime_r
 #  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");
diff '--color=auto' -ruN patchutils-0.4.4/lib/unistd.c patchutils-0.4.4.1/lib/unistd.c
--- patchutils-0.4.4/lib/unistd.c	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/unistd.c	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Inline functions for <unistd.h>.
 
-   Copyright (C) 2012-2025 Free Software Foundation, Inc.
+   Copyright (C) 2012-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/unistd.in.h patchutils-0.4.4.1/lib/unistd.in.h
--- patchutils-0.4.4/lib/unistd.in.h	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/lib/unistd.in.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2025 Free Software Foundation, Inc.
+   Copyright (C) 2003-2026 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
@@ -302,7 +302,6 @@
 # endif
 _GL_CXXALIASWARN (access);
 #elif defined GNULIB_POSIXCHECK
-# undef access
 # if HAVE_RAW_DECL_ACCESS
 /* The access() function is a security risk.  */
 _GL_WARN_ON_USE (access, "access does not always support X_OK - "
@@ -339,7 +338,6 @@
 # endif
 _GL_CXXALIASWARN (chdir);
 #elif defined GNULIB_POSIXCHECK
-# undef chdir
 # if HAVE_RAW_DECL_CHDIR
 _GL_WARN_ON_USE (chdir, "chdir is not always in <unistd.h> - "
                  "use gnulib module chdir for portability");
@@ -384,7 +382,6 @@
 # endif
 _GL_CXXALIASWARN (chown);
 #elif defined GNULIB_POSIXCHECK
-# undef chown
 # if HAVE_RAW_DECL_CHOWN
 _GL_WARN_ON_USE (chown, "chown fails to follow symlinks on some systems and "
                  "doesn't treat a uid or gid of -1 on some systems - "
@@ -418,7 +415,6 @@
 #  define close close_used_without_requesting_gnulib_module_close
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef close
 /* Assume close is always declared.  */
 _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
                  "use gnulib module close for portability");
@@ -465,7 +461,6 @@
 _GL_CXXALIASWARN (copy_file_range);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef copy_file_range
 # if HAVE_RAW_DECL_COPY_FILE_RANGE
 _GL_WARN_ON_USE (copy_file_range,
                  "copy_file_range is unportable - "
@@ -492,7 +487,6 @@
 # endif
 _GL_CXXALIASWARN (dup);
 #elif defined GNULIB_POSIXCHECK
-# undef dup
 # if HAVE_RAW_DECL_DUP
 _GL_WARN_ON_USE (dup, "dup is unportable - "
                  "use gnulib module dup for portability");
@@ -537,7 +531,6 @@
 # endif
 _GL_CXXALIASWARN (dup2);
 #elif defined GNULIB_POSIXCHECK
-# undef dup2
 # if HAVE_RAW_DECL_DUP2
 _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
                  "use gnulib module dup2 for portability");
@@ -585,7 +578,6 @@
 _GL_CXXALIASWARN (dup3);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef dup3
 # if HAVE_RAW_DECL_DUP3
 _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
                  "use gnulib module dup3 for portability");
@@ -653,7 +645,6 @@
                  "use the gnulib module faccessat instead");
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef euidaccess
 # if HAVE_RAW_DECL_EUIDACCESS
 _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
                  "use gnulib module euidaccess for portability");
@@ -675,7 +666,6 @@
 # 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");
@@ -710,7 +700,6 @@
 # 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");
@@ -746,7 +735,6 @@
 # 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");
@@ -783,7 +771,6 @@
 # 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");
@@ -822,7 +809,6 @@
 # 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");
@@ -860,7 +846,6 @@
 # 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");
@@ -906,7 +891,6 @@
 _GL_CXXALIASWARN (execvpe);
 # endif
 #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");
@@ -963,7 +947,6 @@
 _GL_CXXALIASWARN (faccessat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef faccessat
 # if HAVE_RAW_DECL_FACCESSAT
 _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
                  "use gnulib module faccessat for portability");
@@ -1000,7 +983,6 @@
 _GL_EXTERN_C const char *_gl_directory_name (int fd);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef fchdir
 # if HAVE_RAW_DECL_FCHDIR
 _GL_WARN_ON_USE (fchdir, "fchdir is unportable - "
                  "use gnulib module fchdir for portability");
@@ -1030,7 +1012,6 @@
 # endif
 _GL_CXXALIASWARN (fchownat);
 #elif defined GNULIB_POSIXCHECK
-# undef fchownat
 # if HAVE_RAW_DECL_FCHOWNAT
 _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
                  "use gnulib module fchownat for portability");
@@ -1060,7 +1041,6 @@
 _GL_CXXALIASWARN (fdatasync);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef fdatasync
 # if HAVE_RAW_DECL_FDATASYNC
 _GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
                  "use gnulib module fdatasync for portability");
@@ -1079,7 +1059,6 @@
 _GL_CXXALIAS_SYS (fsync, int, (int fd));
 _GL_CXXALIASWARN (fsync);
 #elif defined GNULIB_POSIXCHECK
-# undef fsync
 # if HAVE_RAW_DECL_FSYNC
 _GL_WARN_ON_USE (fsync, "fsync is unportable - "
                  "use gnulib module fsync for portability");
@@ -1113,7 +1092,6 @@
 _GL_CXXALIASWARN (ftruncate);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef ftruncate
 # if HAVE_RAW_DECL_FTRUNCATE
 _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
                  "use gnulib module ftruncate for portability");
@@ -1152,7 +1130,6 @@
 # endif
 _GL_CXXALIASWARN (getcwd);
 #elif defined GNULIB_POSIXCHECK
-# undef getcwd
 # if HAVE_RAW_DECL_GETCWD
 _GL_WARN_ON_USE (getcwd, "getcwd is unportable - "
                  "use gnulib module getcwd for portability");
@@ -1210,7 +1187,6 @@
 _GL_CXXALIASWARN (getdomainname);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getdomainname
 # if HAVE_RAW_DECL_GETDOMAINNAME
 _GL_WARN_ON_USE (getdomainname, "getdomainname is unportable - "
                  "use gnulib module getdomainname for portability");
@@ -1238,7 +1214,6 @@
 # endif
 _GL_CXXALIASWARN (getdtablesize);
 #elif defined GNULIB_POSIXCHECK
-# undef getdtablesize
 # if HAVE_RAW_DECL_GETDTABLESIZE
 _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - "
                  "use gnulib module getdtablesize for portability");
@@ -1269,7 +1244,6 @@
 _GL_CXXALIASWARN (getentropy);
 # endif
 #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");
@@ -1302,7 +1276,6 @@
 # endif
 _GL_CXXALIASWARN (getgroups);
 #elif defined GNULIB_POSIXCHECK
-# undef getgroups
 # if HAVE_RAW_DECL_GETGROUPS
 _GL_WARN_ON_USE (getgroups, "getgroups is unportable - "
                  "use gnulib module getgroups for portability");
@@ -1342,7 +1315,6 @@
 #  define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef gethostname
 # if HAVE_RAW_DECL_GETHOSTNAME
 _GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
                  "use gnulib module gethostname for portability");
@@ -1377,7 +1349,6 @@
 _GL_CXXALIASWARN (getlogin);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getlogin
 # if HAVE_RAW_DECL_GETLOGIN
 _GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
                  "use gnulib module getlogin for portability");
@@ -1420,7 +1391,6 @@
 _GL_CXXALIASWARN (getlogin_r);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getlogin_r
 # if HAVE_RAW_DECL_GETLOGIN_R
 _GL_WARN_ON_USE (getlogin_r, "getlogin_r is unportable - "
                  "use gnulib module getlogin_r for portability");
@@ -1507,7 +1477,6 @@
 _GL_CXXALIASWARN (getpagesize);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef getpagesize
 # if HAVE_RAW_DECL_GETPAGESIZE
 _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
                  "use gnulib module getpagesize for portability");
@@ -1538,7 +1507,6 @@
 # endif
 _GL_CXXALIASWARN (getpass);
 #elif defined GNULIB_POSIXCHECK
-# undef getpass
 # if HAVE_RAW_DECL_GETPASS
 _GL_WARN_ON_USE (getpass, "getpass is unportable - "
                  "use gnulib module getpass or getpass-gnu for portability");
@@ -1581,7 +1549,6 @@
 # endif
 _GL_CXXALIASWARN (getusershell);
 #elif defined GNULIB_POSIXCHECK
-# undef getusershell
 # if HAVE_RAW_DECL_GETUSERSHELL
 _GL_WARN_ON_USE (getusershell, "getusershell is unportable - "
                  "use gnulib module getusershell for portability");
@@ -1605,7 +1572,6 @@
 # endif
 _GL_CXXALIASWARN (setusershell);
 #elif defined GNULIB_POSIXCHECK
-# undef setusershell
 # if HAVE_RAW_DECL_SETUSERSHELL
 _GL_WARN_ON_USE (setusershell, "setusershell is unportable - "
                  "use gnulib module getusershell for portability");
@@ -1630,7 +1596,6 @@
 # endif
 _GL_CXXALIASWARN (endusershell);
 #elif defined GNULIB_POSIXCHECK
-# undef endusershell
 # if HAVE_RAW_DECL_ENDUSERSHELL
 _GL_WARN_ON_USE (endusershell, "endusershell is unportable - "
                  "use gnulib module getusershell for portability");
@@ -1646,7 +1611,6 @@
 _GL_CXXALIAS_SYS (group_member, int, (gid_t gid));
 _GL_CXXALIASWARN (group_member);
 #elif defined GNULIB_POSIXCHECK
-# undef group_member
 # if HAVE_RAW_DECL_GROUP_MEMBER
 _GL_WARN_ON_USE (group_member, "group_member is unportable - "
                  "use gnulib module group-member for portability");
@@ -1674,7 +1638,6 @@
 # endif
 _GL_CXXALIASWARN (isatty);
 #elif defined GNULIB_POSIXCHECK
-# undef isatty
 # if HAVE_RAW_DECL_ISATTY
 _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
                  "use gnulib module isatty for portability");
@@ -1719,7 +1682,6 @@
 # endif
 _GL_CXXALIASWARN (lchown);
 #elif defined GNULIB_POSIXCHECK
-# undef lchown
 # if HAVE_RAW_DECL_LCHOWN
 _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
                  "use gnulib module lchown for portability");
@@ -1748,7 +1710,6 @@
 # endif
 _GL_CXXALIASWARN (link);
 #elif defined GNULIB_POSIXCHECK
-# undef link
 # if HAVE_RAW_DECL_LINK
 _GL_WARN_ON_USE (link, "link is unportable - "
                  "use gnulib module link for portability");
@@ -1787,7 +1748,6 @@
 _GL_CXXALIASWARN (linkat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef linkat
 # if HAVE_RAW_DECL_LINKAT
 _GL_WARN_ON_USE (linkat, "linkat is unportable - "
                  "use gnulib module linkat for portability");
@@ -1817,7 +1777,6 @@
 # endif
 _GL_CXXALIASWARN (lseek);
 #elif defined GNULIB_POSIXCHECK
-# undef lseek
 # if HAVE_RAW_DECL_LSEEK
 _GL_WARN_ON_USE (lseek, "lseek does not fail with ESPIPE on pipes on some "
                  "systems - use gnulib module lseek for portability");
@@ -1850,7 +1809,6 @@
 _GL_CXXALIAS_SYS (pipe, int, (int fd[2]));
 _GL_CXXALIASWARN (pipe);
 #elif defined GNULIB_POSIXCHECK
-# undef pipe
 # if HAVE_RAW_DECL_PIPE
 _GL_WARN_ON_USE (pipe, "pipe is unportable - "
                  "use gnulib module pipe-posix for portability");
@@ -1884,7 +1842,6 @@
 _GL_CXXALIASWARN (pipe2);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef pipe2
 # if HAVE_RAW_DECL_PIPE2
 _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
                  "use gnulib module pipe2 for portability");
@@ -1921,7 +1878,6 @@
 _GL_CXXALIASWARN (pread);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef pread
 # if HAVE_RAW_DECL_PREAD
 _GL_WARN_ON_USE (pread, "pread is unportable - "
                  "use gnulib module pread for portability");
@@ -1958,7 +1914,6 @@
 _GL_CXXALIASWARN (pwrite);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef pwrite
 # if HAVE_RAW_DECL_PWRITE
 _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
                  "use gnulib module pwrite for portability");
@@ -2036,7 +1991,6 @@
 # endif
 _GL_CXXALIASWARN (readlink);
 #elif defined GNULIB_POSIXCHECK
-# undef readlink
 # if HAVE_RAW_DECL_READLINK
 _GL_WARN_ON_USE (readlink, "readlink is unportable - "
                  "use gnulib module readlink for portability");
@@ -2071,7 +2025,6 @@
 _GL_CXXALIASWARN (readlinkat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef readlinkat
 # if HAVE_RAW_DECL_READLINKAT
 _GL_WARN_ON_USE (readlinkat, "readlinkat is not portable - "
                  "use gnulib module readlinkat for portability");
@@ -2098,7 +2051,6 @@
 # endif
 _GL_CXXALIASWARN (rmdir);
 #elif defined GNULIB_POSIXCHECK
-# undef rmdir
 # if HAVE_RAW_DECL_RMDIR
 _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
                  "use gnulib module rmdir for portability");
@@ -2155,7 +2107,6 @@
 _GL_CXXALIASWARN (sethostname);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef sethostname
 # if HAVE_RAW_DECL_SETHOSTNAME
 _GL_WARN_ON_USE (sethostname, "sethostname is unportable - "
                  "use gnulib module sethostname for portability");
@@ -2183,7 +2134,6 @@
 # endif
 _GL_CXXALIASWARN (sleep);
 #elif defined GNULIB_POSIXCHECK
-# undef sleep
 # if HAVE_RAW_DECL_SLEEP
 _GL_WARN_ON_USE (sleep, "sleep is unportable - "
                  "use gnulib module sleep for portability");
@@ -2238,7 +2188,6 @@
 # endif
 _GL_CXXALIASWARN (symlink);
 #elif defined GNULIB_POSIXCHECK
-# undef symlink
 # if HAVE_RAW_DECL_SYMLINK
 _GL_WARN_ON_USE (symlink, "symlink is not portable - "
                  "use gnulib module symlink for portability");
@@ -2270,7 +2219,6 @@
 _GL_CXXALIASWARN (symlinkat);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef symlinkat
 # if HAVE_RAW_DECL_SYMLINKAT
 _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
                  "use gnulib module symlinkat for portability");
@@ -2302,7 +2250,6 @@
 _GL_CXXALIASWARN (truncate);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef truncate
 # if HAVE_RAW_DECL_TRUNCATE
 _GL_WARN_ON_USE (truncate, "truncate is unportable - "
                  "use gnulib module truncate for portability");
@@ -2336,7 +2283,6 @@
 _GL_CXXALIASWARN (ttyname_r);
 # endif
 #elif defined GNULIB_POSIXCHECK
-# undef ttyname_r
 # if HAVE_RAW_DECL_TTYNAME_R
 _GL_WARN_ON_USE (ttyname_r, "ttyname_r is not portable - "
                  "use gnulib module ttyname_r for portability");
@@ -2363,7 +2309,6 @@
 # endif
 _GL_CXXALIASWARN (unlink);
 #elif defined GNULIB_POSIXCHECK
-# undef unlink
 # if HAVE_RAW_DECL_UNLINK
 _GL_WARN_ON_USE (unlink, "unlink is not portable - "
                  "use gnulib module unlink for portability");
@@ -2403,7 +2348,6 @@
 # endif
 _GL_CXXALIASWARN (unlinkat);
 #elif defined GNULIB_POSIXCHECK
-# undef unlinkat
 # if HAVE_RAW_DECL_UNLINKAT
 _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
                  "use gnulib module unlinkat for portability");
@@ -2433,7 +2377,6 @@
 # endif
 _GL_CXXALIASWARN (usleep);
 #elif defined GNULIB_POSIXCHECK
-# undef usleep
 # if HAVE_RAW_DECL_USLEEP
 _GL_WARN_ON_USE (usleep, "usleep is unportable - "
                  "use gnulib module usleep for portability");
diff '--color=auto' -ruN patchutils-0.4.4/lib/verify.h patchutils-0.4.4.1/lib/verify.h
--- patchutils-0.4.4/lib/verify.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/verify.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2025 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/warn-on-use.h patchutils-0.4.4.1/lib/warn-on-use.h
--- patchutils-0.4.4/lib/warn-on-use.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/warn-on-use.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,5 +1,5 @@
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2025 Free Software Foundation, Inc.
+   Copyright (C) 2010-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/lib/xalloc-oversized.h patchutils-0.4.4.1/lib/xalloc-oversized.h
--- patchutils-0.4.4/lib/xalloc-oversized.h	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/lib/xalloc-oversized.h	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 /* xalloc-oversized.h -- memory allocation size checking
 
-   Copyright (C) 1990-2000, 2003-2004, 2006-2025 Free Software Foundation, Inc.
+   Copyright (C) 1990-2000, 2003-2004, 2006-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/m4/00gnulib.m4 patchutils-0.4.4.1/m4/00gnulib.m4
--- patchutils-0.4.4/m4/00gnulib.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/00gnulib.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # 00gnulib.m4
 # serial 9
-dnl Copyright (C) 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/absolute-header.m4 patchutils-0.4.4.1/m4/absolute-header.m4
--- patchutils-0.4.4/m4/absolute-header.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/absolute-header.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # absolute-header.m4
 # serial 18
-dnl Copyright (C) 2006-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/alloca.m4 patchutils-0.4.4.1/m4/alloca.m4
--- patchutils-0.4.4/m4/alloca.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/alloca.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # alloca.m4
 # serial 21
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2025 Free Software Foundation,
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/assert_h.m4 patchutils-0.4.4.1/m4/assert_h.m4
--- patchutils-0.4.4/m4/assert_h.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/assert_h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # assert_h.m4
 # serial 6
-dnl Copyright (C) 2011-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/build-to-host.m4 patchutils-0.4.4.1/m4/build-to-host.m4
--- patchutils-0.4.4/m4/build-to-host.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/build-to-host.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # build-to-host.m4
 # serial 5
-dnl Copyright (C) 2023-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2023-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/c-bool.m4 patchutils-0.4.4.1/m4/c-bool.m4
--- patchutils-0.4.4/m4/c-bool.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/c-bool.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # c-bool.m4
 # serial 3
-dnl Copyright 2022-2025 Free Software Foundation, Inc.
+dnl Copyright 2022-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/close.m4 patchutils-0.4.4.1/m4/close.m4
--- patchutils-0.4.4/m4/close.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/close.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # close.m4
 # serial 10
-dnl Copyright (C) 2008-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/codeset.m4 patchutils-0.4.4.1/m4/codeset.m4
--- patchutils-0.4.4/m4/codeset.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/codeset.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # codeset.m4
 # serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2025 Free Software
+dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/double-slash-root.m4 patchutils-0.4.4.1/m4/double-slash-root.m4
--- patchutils-0.4.4/m4/double-slash-root.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/double-slash-root.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # double-slash-root.m4
 # serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/dup2.m4 patchutils-0.4.4.1/m4/dup2.m4
--- patchutils-0.4.4/m4/dup2.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/dup2.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # dup2.m4
 # serial 28
-dnl Copyright (C) 2002, 2005, 2007, 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2007, 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/errno_h.m4 patchutils-0.4.4.1/m4/errno_h.m4
--- patchutils-0.4.4/m4/errno_h.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/errno_h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # errno_h.m4
 # serial 19
-dnl Copyright (C) 2004, 2006, 2008-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/error_h.m4 patchutils-0.4.4.1/m4/error_h.m4
--- patchutils-0.4.4/m4/error_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/error_h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # error_h.m4
 # serial 5
-dnl Copyright (C) 1996-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/error.m4 patchutils-0.4.4.1/m4/error.m4
--- patchutils-0.4.4/m4/error.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/error.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # error.m4
 # serial 16
-dnl Copyright (C) 1996-1998, 2001-2004, 2009-2025 Free Software Foundation,
+dnl Copyright (C) 1996-1998, 2001-2004, 2009-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/extensions-aix.m4 patchutils-0.4.4.1/m4/extensions-aix.m4
--- patchutils-0.4.4/m4/extensions-aix.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/extensions-aix.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # extensions-aix.m4
 # serial 1
-dnl Copyright (C) 2024-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2024-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/extensions.m4 patchutils-0.4.4.1/m4/extensions.m4
--- patchutils-0.4.4/m4/extensions.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/extensions.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # extensions.m4
 # serial 25  -*- Autoconf -*-
-dnl Copyright (C) 2003, 2006-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/extern-inline.m4 patchutils-0.4.4.1/m4/extern-inline.m4
--- patchutils-0.4.4/m4/extern-inline.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/extern-inline.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # extern-inline.m4
 # serial 2
-dnl Copyright 2012-2025 Free Software Foundation, Inc.
+dnl Copyright 2012-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -44,7 +44,7 @@
    if isdigit is mistakenly implemented via a static inline function,
    a program containing an extern inline function that calls isdigit
    may not work since C99 through C23 prohibit extern inline functions
-   from calling static functions (ISO C 23 section 6.7.5.(2)).
+   from calling static functions (ISO C 23 § 6.7.5 ¶ 3)).
    Although a future C standard will likely relax this restriction
    <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3622.txt>,
    respect it for now.  This bug is known to occur on:
diff '--color=auto' -ruN patchutils-0.4.4/m4/fcntl_h.m4 patchutils-0.4.4.1/m4/fcntl_h.m4
--- patchutils-0.4.4/m4/fcntl_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/fcntl_h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # fcntl_h.m4
-# serial 20
-dnl Copyright (C) 2006-2007, 2009-2025 Free Software Foundation, Inc.
+# serial 21
+dnl Copyright (C) 2006-2007, 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -26,7 +26,7 @@
   dnl corresponding gnulib module is not in use, if it is not common
   dnl enough to be declared everywhere.
   gl_WARN_ON_USE_PREPARE([[#include <fcntl.h>
-    ]], [fcntl openat])
+    ]], [fcntl openat openat2])
 ])
 
 # gl_FCNTL_MODULE_INDICATOR([modulename])
@@ -53,6 +53,7 @@
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT2])
     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])
@@ -66,6 +67,7 @@
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_FCNTL=1;          AC_SUBST([HAVE_FCNTL])
   HAVE_OPENAT=1;         AC_SUBST([HAVE_OPENAT])
+  HAVE_OPENAT2=0;        AC_SUBST([HAVE_OPENAT2])
   REPLACE_CREAT=0;       AC_SUBST([REPLACE_CREAT])
   REPLACE_FCNTL=0;       AC_SUBST([REPLACE_FCNTL])
   REPLACE_OPEN=0;        AC_SUBST([REPLACE_OPEN])
diff '--color=auto' -ruN patchutils-0.4.4/m4/fcntl.m4 patchutils-0.4.4.1/m4/fcntl.m4
--- patchutils-0.4.4/m4/fcntl.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/fcntl.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # fcntl.m4
 # serial 12
-dnl Copyright (C) 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/fcntl-o.m4 patchutils-0.4.4.1/m4/fcntl-o.m4
--- patchutils-0.4.4/m4/fcntl-o.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/fcntl-o.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # fcntl-o.m4
 # serial 12
-dnl Copyright (C) 2006, 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/fseterr.m4 patchutils-0.4.4.1/m4/fseterr.m4
--- patchutils-0.4.4/m4/fseterr.m4	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/m4/fseterr.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # fseterr.m4
 # serial 2
-dnl Copyright (C) 2012-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/fstat.m4 patchutils-0.4.4.1/m4/fstat.m4
--- patchutils-0.4.4/m4/fstat.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/fstat.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # fstat.m4
 # serial 10
-dnl Copyright (C) 2011-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/getdelim.m4 patchutils-0.4.4.1/m4/getdelim.m4
--- patchutils-0.4.4/m4/getdelim.m4	2025-08-20 15:28:02.000000000 +0200
+++ patchutils-0.4.4.1/m4/getdelim.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,7 +1,7 @@
 # getdelim.m4
-# serial 19
+# serial 22
 
-dnl Copyright (C) 2005-2007, 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2026 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,
@@ -44,6 +44,7 @@
     int main ()
     {
       FILE *in = fopen ("./conftest.data", "r");
+      int result = 0;
       if (!in)
         return 1;
       {
@@ -53,7 +54,7 @@
         size_t siz = 0;
         int len = getdelim (&line, &siz, '\n', in);
         if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
-          { free (line); fclose (in); return 2; }
+          result |= 2;
         free (line);
       }
       {
@@ -62,11 +63,11 @@
         char *line = NULL;
         size_t siz = (size_t)(~0) / 4;
         if (getdelim (&line, &siz, '\n', in) == -1)
-          { fclose (in); return 3; }
+          result |= 4;
         free (line);
       }
       fclose (in);
-      return 0;
+      return result;
     }
     ]])],
              [gl_cv_func_working_getdelim=yes],
@@ -91,6 +92,7 @@
              ])
            ;;
        esac
+       rm -f conftest.data
       ])
     case "$gl_cv_func_working_getdelim" in
       *yes) ;;
diff '--color=auto' -ruN patchutils-0.4.4/m4/getdtablesize.m4 patchutils-0.4.4.1/m4/getdtablesize.m4
--- patchutils-0.4.4/m4/getdtablesize.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/getdtablesize.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # getdtablesize.m4
 # serial 8
-dnl Copyright (C) 2008-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/getline.m4 patchutils-0.4.4.1/m4/getline.m4
--- patchutils-0.4.4/m4/getline.m4	2025-08-20 15:28:02.000000000 +0200
+++ patchutils-0.4.4.1/m4/getline.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,7 +1,7 @@
 # getline.m4
-# serial 33
+# serial 36
 
-dnl Copyright (C) 1998-2003, 2005-2007, 2009-2025 Free Software Foundation,
+dnl Copyright (C) 1998-2003, 2005-2007, 2009-2026 Free Software Foundation,
 dnl Inc.
 dnl
 dnl This file is free software; the Free Software Foundation
@@ -38,6 +38,7 @@
     int main ()
     {
       FILE *in = fopen ("./conftest.data", "r");
+      int result = 0;
       if (!in)
         return 1;
       {
@@ -47,7 +48,7 @@
         size_t siz = 0;
         int len = getline (&line, &siz, in);
         if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
-          { free (line); fclose (in); return 2; }
+          result |= 2;
         free (line);
       }
       {
@@ -56,11 +57,11 @@
         char *line = NULL;
         size_t siz = (size_t)(~0) / 4;
         if (getline (&line, &siz, in) == -1)
-          { fclose (in); return 3; }
+          result |= 4;
         free (line);
       }
       fclose (in);
-      return 0;
+      return result;
     }
     ]])],
          [am_cv_func_working_getline=yes],
@@ -83,6 +84,7 @@
              esac
             ])
          ])
+       rm -f conftest.data
       ])
   else
     am_cv_func_working_getline=no
diff '--color=auto' -ruN patchutils-0.4.4/m4/getprogname.m4 patchutils-0.4.4.1/m4/getprogname.m4
--- patchutils-0.4.4/m4/getprogname.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/getprogname.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # getprogname.m4
-# serial 8
-dnl Copyright (C) 2016-2025 Free Software Foundation, Inc.
+# serial 9
+dnl Copyright (C) 2016-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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,6 +12,12 @@
 [
   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+  AC_CHECK_HEADERS_ONCE([sys/process.h])
+  if test $ac_cv_header_sys_process_h = yes; then
+    HAVE_SYS_PROCESS_H=1
+  else
+    HAVE_SYS_PROCESS_H=0
+  fi
   gl_CHECK_FUNCS_ANDROID([getprogname], [[#include <stdlib.h>]])
   if test $ac_cv_func_getprogname = no; then
     HAVE_GETPROGNAME=0
diff '--color=auto' -ruN patchutils-0.4.4/m4/gettext_h.m4 patchutils-0.4.4.1/m4/gettext_h.m4
--- patchutils-0.4.4/m4/gettext_h.m4	2025-09-17 14:51:28.000000000 +0200
+++ patchutils-0.4.4.1/m4/gettext_h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # gettext_h.m4
 # serial 1
-dnl Copyright (C) 2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2025-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/gnulib-cache.m4 patchutils-0.4.4.1/m4/gnulib-cache.m4
--- patchutils-0.4.4/m4/gnulib-cache.m4	2025-09-17 17:57:58.000000000 +0200
+++ patchutils-0.4.4.1/m4/gnulib-cache.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2025 Free Software Foundation, Inc.
+# Copyright (C) 2002-2026 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
diff '--color=auto' -ruN patchutils-0.4.4/m4/gnulib-common.m4 patchutils-0.4.4.1/m4/gnulib-common.m4
--- patchutils-0.4.4/m4/gnulib-common.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/gnulib-common.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # gnulib-common.m4
-# serial 113
-dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
+# serial 115
+dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -414,22 +414,25 @@
 #endif
 
 /* _GL_ATTRIBUTE_CONST declares:
-   It is OK for a compiler to move calls to the function and to omit
-   calls to the function if another call has the same arguments or the
-   result is not used.
-   This attribute is safe for a function that neither depends on
-   nor affects state, and always returns exactly once -
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached return value, even if the state changes between calls.
+   It is also OK to omit a call if the result is not used.
+   This attribute is safe if the function does not change observable state,
+   returns a value determined solely by its arguments' values
+   without examining state, and always returns exactly once -
    e.g., does not raise an exception, call longjmp, or loop forever.
    (This attribute is stricter than _GL_ATTRIBUTE_PURE because the
-   function cannot observe state.  It is stricter than
-   _GL_ATTRIBUTE_UNSEQUENCED because the function must return exactly
-   once and cannot depend on state addressed by its arguments.)  */
+   function cannot observe state.  Unlike _GL_ATTRIBUTE_UNSEQUENCED
+   the function must return exactly once and cannot access state
+   addressed by its pointer arguments or that happens to have the same
+   value for all calls to the function, but the function is allowed to
+   return a pointer to storage that can be modified later.  */
 /* Applies to: functions.  */
 #ifndef _GL_ATTRIBUTE_CONST
 # if _GL_HAS_ATTRIBUTE (const)
 #  define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
 # else
-#  define _GL_ATTRIBUTE_CONST _GL_ATTRIBUTE_UNSEQUENCED
+#  define _GL_ATTRIBUTE_CONST
 # endif
 #endif
 
@@ -590,7 +593,9 @@
 
 /* _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.  */
+   used.  However, 'int _GL_UNNAMED (i)' is preferable to
+   '_GL_ATTRIBUTE_MAYBE_UNUSED int i' when parameter I is unused
+   regardless of preprocessor macro settings.  */
 /* Applies to:
      - function, variable,
      - struct, union, struct/union member,
@@ -744,39 +749,40 @@
 #endif
 
 /* _GL_ATTRIBUTE_PURE declares:
-   It is OK for a compiler to move calls to the function and to omit
-   calls to the function if another call has the same arguments or the
-   result is not used, and if observable state is the same.
-   This attribute is safe for a function that does not affect observable state
-   and always returns exactly once.
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached return value, if observable state is the same.
+   It is also OK to omit a call if the return value is not used.
+   This attribute is safe if the function does not change observable state,
+   returns a value determined solely by its arguments's values
+   together with observable state, and always returns exactly once.
    (This attribute is looser than _GL_ATTRIBUTE_CONST because the function
-   can depend on observable state.  It is stricter than
-   _GL_ATTRIBUTE_REPRODUCIBLE because the function must return exactly
-   once and cannot affect state addressed by its arguments.)  */
+   can depend on observable state.
+   Unlike _GL_ATTRIBUTE_REPRODUCIBLE the function must return exactly
+   once and cannot change state addressed by its arguments, but the
+   function can return a pointer to storage whose contents change later.)  */
 /* Applies to: functions.  */
 #ifndef _GL_ATTRIBUTE_PURE
 # if _GL_HAS_ATTRIBUTE (pure)
 #  define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
 # else
-#  define _GL_ATTRIBUTE_PURE _GL_ATTRIBUTE_REPRODUCIBLE
+#  define _GL_ATTRIBUTE_PURE
 # endif
 #endif
 
 /* _GL_ATTRIBUTE_REPRODUCIBLE declares:
-   It is OK for a compiler to move calls to the function and to omit duplicate
-   calls to the function with the same arguments, so long as the state
-   addressed by its arguments is the same and is updated in time for
-   the rest of the program.
-   This attribute is safe for a function that is effectless and idempotent; see
-   ISO C 23 § 6.7.12.7 for a definition of these terms.
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached value returned either directly or indirectly via
+   a pointer, if other observable state is the same;
+   however, pointer arguments cannot alias.
+   This attribute is safe for a function that is effectless and idempotent;
+   see ISO C 23 § 6.7.13.8 for a definition of these terms.
    (This attribute is looser than _GL_ATTRIBUTE_UNSEQUENCED because
-   the function need not be stateless and idempotent.  It is looser
-   than _GL_ATTRIBUTE_PURE because the function need not return
-   exactly once and can affect state addressed by its arguments.)
+   the function need not be stateless or independent.
+   Unlike _GL_ATTRIBUTE_PURE the function need not return exactly once
+   and can change state addressed by its pointer arguments, but the
+   function cannot return a pointer to storage whose contents change later.)
    See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
-   <https://stackoverflow.com/questions/76847905/>.
-   ATTENTION! Efforts are underway to change the meaning of this attribute.
-   See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>.  */
+   <https://stackoverflow.com/questions/76847905/>.  */
 /* Applies to: functions, pointer to functions, function types.  */
 #ifndef _GL_ATTRIBUTE_REPRODUCIBLE
 /* This may be revisited when gcc and clang support [[reproducible]] or possibly
@@ -816,20 +822,22 @@
 #endif
 
 /* _GL_ATTRIBUTE_UNSEQUENCED declares:
-   It is OK for a compiler to move calls to the function and to omit duplicate
-   calls to the function with the same arguments, so long as the state
-   addressed by its arguments is the same.
+   It is OK for a compiler to move a call, or omit a duplicate call
+   and reuse a cached value returned either directly or indirectly via
+   a pointer, if the state addressed by its pointer arguments is the same;
+   however, pointer arguments cannot alias.
    This attribute is safe for a function that is effectless, idempotent,
-   stateless, and independent; see ISO C 23 § 6.7.12.7 for a definition of
+   stateless, and independent; see ISO C 23 § 6.7.13.8 for a definition of
    these terms.
    (This attribute is stricter than _GL_ATTRIBUTE_REPRODUCIBLE because
-   the function must be stateless and independent.  It is looser than
-   _GL_ATTRIBUTE_CONST because the function need not return exactly
-   once and can depend on state addressed by its arguments.)
+   the function must be stateless and independent.  Unlike
+   _GL_ATTRIBUTE_CONST the function need not return exactly once, and
+   can depend on state accessed via its pointer arguments or that
+   happens to have the same value for all calls to the function, but
+   the function cannot return a pointer to storage whose contents
+   change later.)
    See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2956.htm> and
-   <https://stackoverflow.com/questions/76847905/>.
-   ATTENTION! Efforts are underway to change the meaning of this attribute.
-   See <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3424.htm>.  */
+   <https://stackoverflow.com/questions/76847905/>.  */
 /* Applies to: functions, pointer to functions, function types.  */
 #ifndef _GL_ATTRIBUTE_UNSEQUENCED
 /* This may be revisited when gcc and clang support [[unsequenced]] or possibly
@@ -869,6 +877,21 @@
 # endif
 #endif
 
+/* _GL_UNNAMED (ID) is the "name" of an unnamed function parameter.
+   Each of the function's unnamed parameters should have a unique "name".
+   The "name" cannot be used.  This ports both to C17 and earlier, which
+   lack unnamed parameters, and to C++ and later C, which have them.  */
+/* Applies to:
+     - function parameters.  */
+#ifndef _GL_UNNAMED
+# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 202311 \
+      && !defined __cplusplus)
+#  define _GL_UNNAMED(id) unnamed_##id _GL_ATTRIBUTE_UNUSED
+# else
+#  define _GL_UNNAMED(id)
+# endif
+#endif
+
 /* The following attributes enable detection of multithread-safety problems
    and resource leaks at compile-time, by clang ≥ 15, when the warning option
    -Wthread-safety is enabled.  For usage, see
@@ -1406,7 +1429,7 @@
     dnl -Wno-type-limits                      >= 4.3          >= 3.9
     dnl -Wno-undef                            >= 3            >= 3.9
     dnl -Wno-unsuffixed-float-constants       >= 4.5
-    dnl -Wno-unused-const-variable            >= 4.4          >= 3.9
+    dnl -Wno-unused-const-variable            >= 6.1          >= 3.9
     dnl -Wno-unused-function                  >= 3            >= 3.9
     dnl -Wno-unused-parameter                 >= 3            >= 3.9
     dnl
@@ -1436,7 +1459,7 @@
       -Wno-sign-conversion
       -Wno-type-limits
       #endif
-      #if (__GNUC__ + (__GNUC_MINOR__ >= 4) > 4 && !defined __clang__) || (__clang_major__ + (__clang_minor__ >= 9) > 3)
+      #if (__GNUC__ + (__GNUC_MINOR__ >= 1) > 6 && !defined __clang__) || (__clang_major__ + (__clang_minor__ >= 9) > 3)
       -Wno-unused-const-variable
       #endif
       #if (__GNUC__ + (__GNUC_MINOR__ >= 5) > 4 && !defined __clang__)
diff '--color=auto' -ruN patchutils-0.4.4/m4/gnulib-comp.m4 patchutils-0.4.4.1/m4/gnulib-comp.m4
--- patchutils-0.4.4/m4/gnulib-comp.m4	2025-09-17 15:01:16.000000000 +0200
+++ patchutils-0.4.4.1/m4/gnulib-comp.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2025 Free Software Foundation, Inc.
+# Copyright (C) 2002-2026 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
@@ -101,10 +101,12 @@
   # Code from module stdint-h:
   # Code from module stdio-h:
   gl_STDIO_H_EARLY
+  # Code from module stdio-windows:
   # Code from module stdlib-h:
   # Code from module strerror:
   # Code from module strerror-override:
   # Code from module string-h:
+  # Code from module stringeq:
   # Code from module sys_stat-h:
   # Code from module sys_types-h:
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
@@ -278,18 +280,6 @@
   gl_STDIO_H
   gl_STDIO_H_REQUIRE_DEFAULTS
   AC_PROG_MKDIR_P
-  USES_MSVCRT=0
-  case "$host_os" in
-    mingw* | windows*)
-      AC_EGREP_CPP([Special], [
-  #ifndef _UCRT
-   Special
-  #endif
-        ],
-        [USES_MSVCRT=1])
-      ;;
-  esac
-  gl_CONDITIONAL([GL_COND_OBJ_STDIO_CONSOLESAFE], [test $USES_MSVCRT = 1])
   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
@@ -315,6 +305,20 @@
   gl_STDIO_MODULE_INDICATOR([fputs])
   gl_STDIO_MODULE_INDICATOR([puts])
   gl_STDIO_MODULE_INDICATOR([fwrite])
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  USES_MSVCRT=0
+  case "$host_os" in
+    mingw* | windows*)
+      AC_EGREP_CPP([Special], [
+  #ifndef _UCRT
+   Special
+  #endif
+        ],
+        [USES_MSVCRT=1])
+      ;;
+  esac
+  gl_CONDITIONAL([GL_COND_OBJ_STDIO_CONSOLESAFE], [test $USES_MSVCRT = 1])
+  AC_CHECK_FUNCS([vasprintf])
   gl_STDLIB_H
   gl_STDLIB_H_REQUIRE_DEFAULTS
   AC_PROG_MKDIR_P
@@ -332,6 +336,9 @@
   gl_STRING_H
   gl_STRING_H_REQUIRE_DEFAULTS
   AC_PROG_MKDIR_P
+  gl_FUNC_STREQ
+  gl_FUNC_MEMEQ
+  gl_STRING_MODULE_INDICATOR([stringeq])
   gl_SYS_STAT_H
   gl_SYS_STAT_H_REQUIRE_DEFAULTS
   AC_PROG_MKDIR_P
@@ -593,6 +600,7 @@
   lib/strerror-override.c
   lib/strerror-override.h
   lib/strerror.c
+  lib/string.c
   lib/string.in.h
   lib/sys_stat.in.h
   lib/sys_types.in.h
@@ -661,6 +669,7 @@
   m4/stdlib_h.m4
   m4/strerror.m4
   m4/string_h.m4
+  m4/stringeq.m4
   m4/sys_socket_h.m4
   m4/sys_stat_h.m4
   m4/sys_types_h.m4
diff '--color=auto' -ruN patchutils-0.4.4/m4/gnulib-i18n.m4 patchutils-0.4.4.1/m4/gnulib-i18n.m4
--- patchutils-0.4.4/m4/gnulib-i18n.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/gnulib-i18n.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # gnulib-i18n.m4
 # serial 1
-dnl Copyright (C) 2005-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/include_next.m4 patchutils-0.4.4.1/m4/include_next.m4
--- patchutils-0.4.4/m4/include_next.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/include_next.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # include_next.m4
 # serial 27
-dnl Copyright (C) 2006-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/largefile.m4 patchutils-0.4.4.1/m4/largefile.m4
--- patchutils-0.4.4/m4/largefile.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/largefile.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # largefile.m4
 # serial 4
-dnl Copyright 1992-1996, 1998-2025 Free Software Foundation, Inc.
+dnl Copyright 1992-1996, 1998-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/limits-h.m4 patchutils-0.4.4.1/m4/limits-h.m4
--- patchutils-0.4.4/m4/limits-h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/limits-h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # limits-h.m4
 # serial 1
-dnl Copyright 2016-2025 Free Software Foundation, Inc.
+dnl Copyright 2016-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/locale-en.m4 patchutils-0.4.4.1/m4/locale-en.m4
--- patchutils-0.4.4/m4/locale-en.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/locale-en.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # locale-en.m4
 # serial 1
-dnl Copyright (C) 2003-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -19,7 +19,7 @@
       *-musl* | midipix*)
         dnl On musl libc, all kinds of ll_CC.UTF-8 locales exist, even without
         dnl any locale file on disk. But they are effectively equivalent to the
-        dnl C.UTF-8 locale, except for locale categories (such as LC_MESSSAGES)
+        dnl C.UTF-8 locale, except for locale categories (such as LC_MESSAGES)
         dnl for which localizations (.mo files) have been installed.
         gt_cv_locale_en_utf8=en_US.UTF-8
         ;;
diff '--color=auto' -ruN patchutils-0.4.4/m4/locale_h.m4 patchutils-0.4.4.1/m4/locale_h.m4
--- patchutils-0.4.4/m4/locale_h.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/locale_h.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # locale_h.m4
 # serial 39
-dnl Copyright (C) 2007, 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/lstat.m4 patchutils-0.4.4.1/m4/lstat.m4
--- patchutils-0.4.4/m4/lstat.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/lstat.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # lstat.m4
 # serial 36
-dnl Copyright (C) 1997-2001, 2003-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2001, 2003-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/malloca.m4 patchutils-0.4.4.1/m4/malloca.m4
--- patchutils-0.4.4/m4/malloca.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/malloca.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # malloca.m4
 # serial 3
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2025 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/malloc.m4 patchutils-0.4.4.1/m4/malloc.m4
--- patchutils-0.4.4/m4/malloc.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/malloc.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # malloc.m4
-# serial 44
-dnl Copyright (C) 2007, 2009-2025 Free Software Foundation, Inc.
+# serial 46
+dnl Copyright (C) 2007, 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -99,7 +99,7 @@
     [REPLACE_MALLOC_FOR_MALLOC_POSIX=1])
 ])
 
-# Test whether malloc, realloc, calloc refuse to create objects
+# Test whether malloc, calloc refuse to create objects
 # larger than what can be expressed in ptrdiff_t.
 # Set gl_cv_func_malloc_gnu.
 AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF],
@@ -148,7 +148,7 @@
   case "$gl_cv_func_malloc_posix" in
     *yes)
       AC_DEFINE([HAVE_MALLOC_POSIX], [1],
-        [Define if malloc, realloc, and calloc set errno on allocation failure.])
+        [Define if malloc and calloc set errno on allocation failure.])
       ;;
     *)
       REPLACE_MALLOC_FOR_MALLOC_POSIX=1
@@ -156,19 +156,20 @@
   esac
 ])
 
-# Test whether malloc, realloc, calloc set errno to ENOMEM on failure.
+# Test whether malloc, 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_REQUIRE([AC_CANONICAL_HOST])
-  AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure],
+  AC_CACHE_CHECK([whether malloc, 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 set errno on failure,
       dnl except on those platforms where we have seen 'test-malloc-gnu',
-      dnl 'test-realloc-posix', 'test-calloc-gnu' fail.
+      dnl 'test-realloc-posix', 'test-calloc-gnu' fail. For platforms
+      dnl where only 'test-realloc-posix', see realloc.m4.
       case "$host_os" in
         mingw* | windows*)
           dnl Old MSVCRT from 2001 did not set errno=ENOMEM when malloc failed.
@@ -187,37 +188,41 @@
             [gl_cv_func_malloc_posix="guessing no"])
           ;;
         solaris*)
-          dnl On Solaris 11.3, the three functions return NULL with errno set
+          dnl On Solaris 11.3, the three functions might fail with errno set
           dnl to EAGAIN, not ENOMEM, when the argument is larger than
-          dnl PTRDIFF_MAX.
+          dnl PTRDIFF_MAX.  See:
+          dnl https://lists.gnu.org/r/bug-gnulib/2021-05/msg00052.html
           dnl Here is a test program:
+
 m4_divert_push([KILL])
 #include <errno.h>
+#include <stddef.h>
 #include <stdio.h>
+#include <stdint.h>
 #include <stdlib.h>
-#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);
+#define TEST_CALL(call) \
+  do { \
+    void *p = call; \
+    if (p) \
+      fprintf (stderr, "returned %p (incorrect success)\n", p); \
+    else if (errno == ENOMEM) \
+      perror ("correct failure"); \
+    else \
+      perror ("incorrect failure (wrong errno)"); \
+    free (p); \
+  } while (0)
 
+int
+main ()
+{
+  size_t big = PTRDIFF_MAX;
+  TEST_CALL (malloc (big + 1));
+  TEST_CALL (calloc (big / 2 + 1, 2));
+  TEST_CALL (realloc (NULL, big + 1));
+  void *small = malloc (1);
+  TEST_CALL (realloc (small, big + 1));
+  free (small);
   return 0;
 }
 m4_divert_pop([KILL])
diff '--color=auto' -ruN patchutils-0.4.4/m4/mode_t.m4 patchutils-0.4.4.1/m4/mode_t.m4
--- patchutils-0.4.4/m4/mode_t.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/mode_t.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # mode_t.m4
 # serial 2
-dnl Copyright (C) 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/msvc-inval.m4 patchutils-0.4.4.1/m4/msvc-inval.m4
--- patchutils-0.4.4/m4/msvc-inval.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/msvc-inval.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # msvc-inval.m4
 # serial 1
-dnl Copyright (C) 2011-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/msvc-nothrow.m4 patchutils-0.4.4.1/m4/msvc-nothrow.m4
--- patchutils-0.4.4/m4/msvc-nothrow.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/msvc-nothrow.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # msvc-nothrow.m4
 # serial 1
-dnl Copyright (C) 2011-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/multiarch.m4 patchutils-0.4.4.1/m4/multiarch.m4
--- patchutils-0.4.4/m4/multiarch.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/multiarch.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # multiarch.m4
 # serial 9
-dnl Copyright (C) 2008-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/musl.m4 patchutils-0.4.4.1/m4/musl.m4
--- patchutils-0.4.4/m4/musl.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/musl.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # musl.m4
 # serial 4
-dnl Copyright (C) 2019-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2019-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/off64_t.m4 patchutils-0.4.4.1/m4/off64_t.m4
--- patchutils-0.4.4/m4/off64_t.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/off64_t.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # off64_t.m4
 # serial 1
-dnl Copyright (C) 2024-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2024-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/off_t.m4 patchutils-0.4.4.1/m4/off_t.m4
--- patchutils-0.4.4/m4/off_t.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/off_t.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # off_t.m4
 # serial 1
-dnl Copyright (C) 2012-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/open-cloexec.m4 patchutils-0.4.4.1/m4/open-cloexec.m4
--- patchutils-0.4.4/m4/open-cloexec.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/open-cloexec.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # open-cloexec.m4
 # serial 1
-dnl Copyright 2017-2025 Free Software Foundation, Inc.
+dnl Copyright 2017-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/open.m4 patchutils-0.4.4.1/m4/open.m4
--- patchutils-0.4.4/m4/open.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/open.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # open.m4
 # serial 17
-dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/open-slash.m4 patchutils-0.4.4.1/m4/open-slash.m4
--- patchutils-0.4.4/m4/open-slash.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/open-slash.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # open-slash.m4
 # serial 2
-dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/pathmax.m4 patchutils-0.4.4.1/m4/pathmax.m4
--- patchutils-0.4.4/m4/pathmax.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/pathmax.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # pathmax.m4
 # serial 11
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2025 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/ssize_t.m4 patchutils-0.4.4.1/m4/ssize_t.m4
--- patchutils-0.4.4/m4/ssize_t.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/ssize_t.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # ssize_t.m4
 # serial 6
-dnl Copyright (C) 2001-2003, 2006, 2010-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stat.m4 patchutils-0.4.4.1/m4/stat.m4
--- patchutils-0.4.4/m4/stat.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/stat.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # stat.m4
 # serial 21
-dnl Copyright (C) 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stat-time.m4 patchutils-0.4.4.1/m4/stat-time.m4
--- patchutils-0.4.4/m4/stat-time.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/stat-time.m4	2026-02-07 15:23:05.000000000 +0100
@@ -1,6 +1,6 @@
 # stat-time.m4
 # serial 1
-dnl Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2025 Free Software
+dnl Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/stdckdint_h.m4 patchutils-0.4.4.1/m4/stdckdint_h.m4
--- patchutils-0.4.4/m4/stdckdint_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/stdckdint_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # stdckdint_h.m4
 # serial 1
-dnl Copyright 2025 Free Software Foundation, Inc.
+dnl Copyright 2025-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stddef_h.m4 patchutils-0.4.4.1/m4/stddef_h.m4
--- patchutils-0.4.4/m4/stddef_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/stddef_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # stddef_h.m4
 # serial 23
-dnl Copyright (C) 2009-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stdint.m4 patchutils-0.4.4.1/m4/stdint.m4
--- patchutils-0.4.4/m4/stdint.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/stdint.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # stdint.m4
 # serial 65
-dnl Copyright (C) 2001-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stdio_h.m4 patchutils-0.4.4.1/m4/stdio_h.m4
--- patchutils-0.4.4/m4/stdio_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/stdio_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # stdio_h.m4
 # serial 75
-dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stdlib_h.m4 patchutils-0.4.4.1/m4/stdlib_h.m4
--- patchutils-0.4.4/m4/stdlib_h.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/stdlib_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # stdlib_h.m4
-# serial 85
-dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
+# serial 86
+dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -223,6 +223,7 @@
   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_SYS_PROCESS_H=0;      AC_SUBST([HAVE_SYS_PROCESS_H])
   HAVE_UNLOCKPT=1;           AC_SUBST([HAVE_UNLOCKPT])
   HAVE_DECL_UNSETENV=1;      AC_SUBST([HAVE_DECL_UNSETENV])
   REPLACE__EXIT=0;           AC_SUBST([REPLACE__EXIT])
diff '--color=auto' -ruN patchutils-0.4.4/m4/strerror.m4 patchutils-0.4.4.1/m4/strerror.m4
--- patchutils-0.4.4/m4/strerror.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/strerror.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # strerror.m4
 # serial 25
-dnl Copyright (C) 2002, 2007-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/stringeq.m4 patchutils-0.4.4.1/m4/stringeq.m4
--- patchutils-0.4.4/m4/stringeq.m4	1970-01-01 01:00:00.000000000 +0100
+++ patchutils-0.4.4.1/m4/stringeq.m4	2026-02-07 15:23:06.000000000 +0100
@@ -0,0 +1,25 @@
+# stringeq.m4
+# serial 1
+dnl Copyright (C) 2025-2026 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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 is offered as-is, without any warranty.
+
+AC_DEFUN([gl_FUNC_STREQ],
+[
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
+  AC_CHECK_DECLS_ONCE([streq])
+  if test $ac_cv_have_decl_streq != no; then
+    HAVE_DECL_STREQ=1
+  fi
+])
+
+AC_DEFUN([gl_FUNC_MEMEQ],
+[
+  AC_REQUIRE([gl_STRING_H_DEFAULTS])
+  AC_CHECK_DECLS_ONCE([memeq])
+  if test $ac_cv_have_decl_memeq != no; then
+    HAVE_DECL_MEMEQ=1
+  fi
+])
diff '--color=auto' -ruN patchutils-0.4.4/m4/string_h.m4 patchutils-0.4.4.1/m4/string_h.m4
--- patchutils-0.4.4/m4/string_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/string_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # string_h.m4
-# serial 44
-dnl Copyright (C) 2007-2025 Free Software Foundation, Inc.
+# serial 46
+dnl Copyright (C) 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -24,7 +24,7 @@
     ]],
     [explicit_bzero ffsl ffsll memmem mempcpy memrchr memset_explicit
      rawmemchr stpcpy stpncpy strchrnul
-     strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
+     strdup strncat strncpy strndup strnlen strpbrk strsep strcasestr strtok_r
      strerror_l strerror_r strerrorname_np
      sigabbrev_np sigdescr_np strsignal strverscmp])
 
@@ -63,7 +63,9 @@
     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_STRINGEQ])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCAT])
+    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNCPY])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNDUP])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRNLEN])
     gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPBRK])
@@ -114,6 +116,7 @@
   HAVE_EXPLICIT_BZERO=1;        AC_SUBST([HAVE_EXPLICIT_BZERO])
   HAVE_FFSL=1;                  AC_SUBST([HAVE_FFSL])
   HAVE_FFSLL=1;                 AC_SUBST([HAVE_FFSLL])
+  HAVE_DECL_MEMEQ=0;            AC_SUBST([HAVE_DECL_MEMEQ])
   HAVE_DECL_MEMMEM=1;           AC_SUBST([HAVE_DECL_MEMMEM])
   HAVE_MEMPCPY=1;               AC_SUBST([HAVE_MEMPCPY])
   HAVE_MEMSET_EXPLICIT=1;       AC_SUBST([HAVE_MEMSET_EXPLICIT])
@@ -123,6 +126,7 @@
   HAVE_STPNCPY=1;               AC_SUBST([HAVE_STPNCPY])
   HAVE_STRCHRNUL=1;             AC_SUBST([HAVE_STRCHRNUL])
   HAVE_DECL_STRDUP=1;           AC_SUBST([HAVE_DECL_STRDUP])
+  HAVE_DECL_STREQ=0;            AC_SUBST([HAVE_DECL_STREQ])
   HAVE_DECL_STRNDUP=1;          AC_SUBST([HAVE_DECL_STRNDUP])
   HAVE_DECL_STRNLEN=1;          AC_SUBST([HAVE_DECL_STRNLEN])
   HAVE_STRPBRK=1;               AC_SUBST([HAVE_STRPBRK])
@@ -146,6 +150,7 @@
   REPLACE_STRCHRNUL=0;          AC_SUBST([REPLACE_STRCHRNUL])
   REPLACE_STRDUP=0;             AC_SUBST([REPLACE_STRDUP])
   REPLACE_STRNCAT=0;            AC_SUBST([REPLACE_STRNCAT])
+  REPLACE_STRNCPY=0;            AC_SUBST([REPLACE_STRNCPY])
   REPLACE_STRNDUP=0;            AC_SUBST([REPLACE_STRNDUP])
   REPLACE_STRNLEN=0;            AC_SUBST([REPLACE_STRNLEN])
   REPLACE_STRSTR=0;             AC_SUBST([REPLACE_STRSTR])
diff '--color=auto' -ruN patchutils-0.4.4/m4/sys_socket_h.m4 patchutils-0.4.4.1/m4/sys_socket_h.m4
--- patchutils-0.4.4/m4/sys_socket_h.m4	2025-09-17 11:56:13.000000000 +0200
+++ patchutils-0.4.4.1/m4/sys_socket_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # sys_socket_h.m4
 # serial 32
-dnl Copyright (C) 2005-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/sys_stat_h.m4 patchutils-0.4.4.1/m4/sys_stat_h.m4
--- patchutils-0.4.4/m4/sys_stat_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/sys_stat_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # sys_stat_h.m4
 # serial 44   -*- Autoconf -*-
-dnl Copyright (C) 2006-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/sys_types_h.m4 patchutils-0.4.4.1/m4/sys_types_h.m4
--- patchutils-0.4.4/m4/sys_types_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/sys_types_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # sys_types_h.m4
 # serial 15
-dnl Copyright (C) 2011-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/time_h.m4 patchutils-0.4.4.1/m4/time_h.m4
--- patchutils-0.4.4/m4/time_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/time_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # time_h.m4
 # serial 27
-dnl Copyright (C) 2000-2001, 2003-2007, 2009-2025 Free Software Foundation,
+dnl Copyright (C) 2000-2001, 2003-2007, 2009-2026 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 '--color=auto' -ruN patchutils-0.4.4/m4/unistd_h.m4 patchutils-0.4.4.1/m4/unistd_h.m4
--- patchutils-0.4.4/m4/unistd_h.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/unistd_h.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # unistd_h.m4
 # serial 97
-dnl Copyright (C) 2006-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/warn-on-use.m4 patchutils-0.4.4.1/m4/warn-on-use.m4
--- patchutils-0.4.4/m4/warn-on-use.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/warn-on-use.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # warn-on-use.m4
 # serial 11
-dnl Copyright (C) 2010-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/wint_t.m4 patchutils-0.4.4.1/m4/wint_t.m4
--- patchutils-0.4.4/m4/wint_t.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/wint_t.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # wint_t.m4
 # serial 11
-dnl Copyright (C) 2003, 2007-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/m4/zzgnulib.m4 patchutils-0.4.4.1/m4/zzgnulib.m4
--- patchutils-0.4.4/m4/zzgnulib.m4	2025-08-19 17:00:26.000000000 +0200
+++ patchutils-0.4.4.1/m4/zzgnulib.m4	2026-02-07 15:23:06.000000000 +0100
@@ -1,6 +1,6 @@
 # zzgnulib.m4
 # serial 1
-dnl Copyright (C) 2020-2025 Free Software Foundation, Inc.
+dnl Copyright (C) 2020-2026 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 '--color=auto' -ruN patchutils-0.4.4/Makefile.in patchutils-0.4.4.1/Makefile.in
--- patchutils-0.4.4/Makefile.in	2025-09-26 14:59:22.000000000 +0200
+++ patchutils-0.4.4.1/Makefile.in	2026-02-07 15:51:33.000000000 +0100
@@ -132,7 +132,8 @@
 	$(top_srcdir)/m4/stdckdint_h.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/strerror.m4 \
-	$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
+	$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/stringeq.m4 \
+	$(top_srcdir)/m4/sys_socket_h.m4 \
 	$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_types_h.m4 \
 	$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
 	$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wint_t.m4 \
@@ -786,6 +787,7 @@
 GL_GNULIB_OBSTACK_ZPRINTF = @GL_GNULIB_OBSTACK_ZPRINTF@
 GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
 GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OPENAT2 = @GL_GNULIB_OPENAT2@
 GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
 GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
 GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
@@ -846,7 +848,9 @@
 GL_GNULIB_STRERROR_L = @GL_GNULIB_STRERROR_L@
 GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
 GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRINGEQ = @GL_GNULIB_STRINGEQ@
 GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNCPY = @GL_GNULIB_STRNCPY@
 GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
 GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
 GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
@@ -947,6 +951,7 @@
 HAVE_DECL_GETW = @HAVE_DECL_GETW@
 HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
+HAVE_DECL_MEMEQ = @HAVE_DECL_MEMEQ@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
@@ -957,6 +962,7 @@
 HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STREQ = @HAVE_DECL_STREQ@
 HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
 HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
 HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
@@ -1031,6 +1037,7 @@
 HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
 HAVE_OFF64_T = @HAVE_OFF64_T@
 HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OPENAT2 = @HAVE_OPENAT2@
 HAVE_OS_H = @HAVE_OS_H@
 HAVE_PCLOSE = @HAVE_PCLOSE@
 HAVE_PIPE = @HAVE_PIPE@
@@ -1088,6 +1095,7 @@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_PROCESS_H = @HAVE_SYS_PROCESS_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
 HAVE_TIMEGM = @HAVE_TIMEGM@
 HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
@@ -1328,6 +1336,7 @@
 REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
 REPLACE_STRFTIME = @REPLACE_STRFTIME@
 REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNCPY = @REPLACE_STRNCPY@
 REPLACE_STRNDUP = @REPLACE_STRNDUP@
 REPLACE_STRNLEN = @REPLACE_STRNLEN@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
diff '--color=auto' -ruN patchutils-0.4.4/patchutils.spec patchutils-0.4.4.1/patchutils.spec
--- patchutils-0.4.4/patchutils.spec	2025-09-26 14:59:32.000000000 +0200
+++ patchutils-0.4.4.1/patchutils.spec	2026-02-07 15:52:12.000000000 +0100
@@ -1,6 +1,6 @@
 Summary: A collection of programs for manipulating patch files
 Name: patchutils
-Version: 0.4.4
+Version: 0.4.4.1
 Release: 0.1
 License: GPL-2.0-or-later
 URL: http://cyberelk.net/tim/patchutils/
