Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package deutex for openSUSE:Factory checked 
in at 2025-02-19 15:58:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/deutex (Old)
 and      /work/SRC/openSUSE:Factory/.deutex.new.25061 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "deutex"

Wed Feb 19 15:58:57 2025 rev:11 rq:1246803 version:5.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/deutex/deutex.changes    2021-04-29 
22:53:27.489875949 +0200
+++ /work/SRC/openSUSE:Factory/.deutex.new.25061/deutex.changes 2025-02-19 
15:59:48.207215759 +0100
@@ -1,0 +2,9 @@
+Tue Feb 18 21:06:58 UTC 2025 - Jan Engelhardt <[email protected]>
+
+- Update to release 5.2.3
+  * DeuTex now checks the position of the directory offset in a WAD
+    file instead of an arbitrary value, which may get exceeded for
+    reasonably large files. This fixes the extraction of extras.wad
+    in modern Doom releases.
+
+-------------------------------------------------------------------

Old:
----
  deutex-5.2.2.tar.zst
  deutex-5.2.2.tar.zst.sig

New:
----
  _scmsync.obsinfo
  build.specials.obscpio
  deutex-5.2.3.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ deutex.spec ++++++
--- /var/tmp/diff_new_pack.jL5g8B/_old  2025-02-19 15:59:48.799240529 +0100
+++ /var/tmp/diff_new_pack.jL5g8B/_new  2025-02-19 15:59:48.799240529 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package deutex
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           deutex
-Version:        5.2.2
+Version:        5.2.3
 Release:        0
 Summary:        WAD composer for Doom and related games
 License:        GPL-2.0-or-later
@@ -25,7 +25,6 @@
 #Historic-URL:  http://www.teaser.fr/~amajorel/deutex/
 URL:            https://github.com/Doom-Utils/deutex
 Source:         
https://github.com/Doom-Utils/deutex/releases/download/v%version/%name-%version.tar.zst
-Source2:        
https://github.com/Doom-Utils/deutex/releases/download/v%version/%name-%version.tar.zst.sig
 BuildRequires:  asciidoc
 BuildRequires:  automake
 BuildRequires:  pkg-config
@@ -43,13 +42,7 @@
 functions such as merging WADs.
 
 %prep
-%if 0%{?suse_version} < 1550
-# Leap <= 15.3 does not support tar with zstd
-%setup -T -c
-tar -I zstd --strip-components=1 -xf %{SOURCE0}
-%else
 %autosetup -p1
-%endif
 
 %build
 autoreconf -fiv

++++++ _scmsync.obsinfo ++++++
mtime: 1739912911
commit: 37a09bb1a86f0eec324545eb7eace96dfc322a1aee410174b7c862b1b40da4b1
url: https://src.opensuse.org/jengelh/deutex
revision: master

++++++ deutex-5.2.2.tar.zst -> deutex-5.2.3.tar.zst ++++++
++++ 5066 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/LICENSE new/deutex-5.2.3/LICENSE
--- old/deutex-5.2.2/LICENSE    2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/LICENSE    2025-02-18 21:28:57.000000000 +0100
@@ -4,7 +4,7 @@
 
 DeuTex is Copyright © 1994-1995 Olivier Montanuy,
           Copyright © 1999-2005 André Majorel,
-          Copyright © 2006-2019 contributors to the DeuTex project.
+          Copyright © 2006-2025 contributors to the DeuTex project.
 
 The parts of DeuTex that have been written by Olivier Montanuy,
 Kevin McGrail, André Majorel and other contributors are
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/NEWS.adoc new/deutex-5.2.3/NEWS.adoc
--- old/deutex-5.2.2/NEWS.adoc  2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/NEWS.adoc  2025-02-18 21:28:57.000000000 +0100
@@ -1,6 +1,16 @@
 DeuTex release notes
 ====================
 
+5.2.3 (2025-02-18)
+------------------
+
+Bug fix
+~~~~~~~
+  * DeuTex now checks the position of the directory offset in a WAD
+    file instead of an arbitrary value, which may get exceeded for
+    reasonably large files.  This fixes the extraction of extras.wad
+    in modern Doom releases. (Thanks, Fabian Greffrath)
+
 5.2.2 (2020-12-30)
 ------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/README.adoc new/deutex-5.2.3/README.adoc
--- old/deutex-5.2.2/README.adoc        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/README.adoc        2025-02-18 21:28:57.000000000 +0100
@@ -74,8 +74,8 @@
 Copyright
 ---------
 
-Copyright © 1994-1996 Olivier Montanuy, © 1999-2005 André Majorel, ©
-2006-2019 contributors to the DeuTex project.
+Copyright © Olivier Montanuy, André Majorel, contributors to the
+DeuTex project.
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/compile new/deutex-5.2.3/compile
--- old/deutex-5.2.2/compile    2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/compile    2025-02-18 21:28:57.000000000 +0100
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2024-06-19.01; # UTC
 
-# Copyright (C) 1999-2020 Free Software Foundation, Inc.
+# Copyright (C) 1999-2024 Free Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -143,7 +143,7 @@
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
-           *.o | *.[oO][bB][jJ])
+           *.o | *.lo | *.[oO][bB][jJ])
              func_file_conv "$2"
              set x "$@" -Fo"$file"
              shift
@@ -248,14 +248,17 @@
 right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "compile $scriptversion"
+    echo "compile (GNU Automake) $scriptversion"
     exit $?
     ;;
   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/configure.ac new/deutex-5.2.3/configure.ac
--- old/deutex-5.2.2/configure.ac       2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/configure.ac       2025-02-18 21:28:57.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT([DeuTex], [5.2.2], [https://github.com/Doom-Utils/deutex/issues])
+AC_INIT([DeuTex], [5.2.3], [https://github.com/Doom-Utils/deutex/issues])
 AC_PACKAGE_URL([https://github.com/Doom-Utils/deutex])
 AM_INIT_AUTOMAKE([foreign])
 AC_PROG_CC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/man/deutex.txt.in new/deutex-5.2.3/man/deutex.txt.in
--- old/deutex-5.2.2/man/deutex.txt.in  2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/man/deutex.txt.in  2025-02-18 21:28:57.000000000 +0100
@@ -421,7 +421,7 @@
 COPYRIGHT
 ---------
 @PACKAGE_NAME@ is copyright © 1994-1995 Olivier Montanuy, copyright ©
-1999-2005 André Majorel, copyright © 2006-2019 contributors to
+1999-2005 André Majorel, copyright © 2006-2021 contributors to
 @PACKAGE_NAME@.
 
 Most of this program is under the GNU General Public License version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/missing new/deutex-5.2.3/missing
--- old/deutex-5.2.2/missing    2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/missing    2025-02-18 21:28:57.000000000 +0100
@@ -1,9 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common wrapper for a few potentially missing GNU and other programs.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2024-06-07.14; # UTC
 
-# Copyright (C) 1996-2020 Free Software Foundation, Inc.
+# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+# Copyright (C) 1996-2024 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -54,18 +56,20 @@
   -v, --version   output version information and exit
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+aclocal autoconf autogen  autoheader autom4te automake autoreconf
+bison   flex     help2man lex        makeinfo perl     yacc
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
 
-Send bug reports to <[email protected]>."
+Report bugs to <[email protected]>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
     exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
+    echo "missing (GNU Automake) $scriptversion"
     exit $?
     ;;
 
@@ -108,7 +112,7 @@
 program_details ()
 {
   case $1 in
-    aclocal|automake)
+    aclocal|automake|autoreconf)
       echo "The '$1' program is part of the GNU Automake package:"
       echo "<$gnu_software_URL/automake>"
       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@
       echo "<$gnu_software_URL/m4/>"
       echo "<$perl_URL>"
       ;;
+    *)
+      :
+      ;;
   esac
 }
 
@@ -137,48 +144,55 @@
   printf '%s\n' "'$1' is $msg."
 
   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  autoheader_deps="'acconfig.h'"
+  automake_deps="'Makefile.am'"
+  aclocal_deps="'acinclude.m4'"
   case $normalized_program in
+    aclocal*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$configure_deps."
+      ;;
     autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
+      echo "You should only need it if you modified $configure_deps."
+      ;;
+    autogen*)
+      echo "You should only need it if you modified a '.def' or '.tpl' file."
+      echo "You may want to install the GNU AutoGen package:"
+      echo "<$gnu_software_URL/autogen/>"
       ;;
     autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "You should only need it if you modified $autoheader_deps or"
       echo "$configure_deps."
-      program_details 'autoheader'
       ;;
     automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "You should only need it if you modified $automake_deps or"
       echo "$configure_deps."
-      program_details 'aclocal'
       ;;
-   autom4te*)
+    autom4te*)
       echo "You might have modified some maintainer files that require"
       echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
+      ;;
+    autoreconf*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$automake_deps or $autoheader_deps or $automake_deps or"
+      echo "$configure_deps."
       ;;
     bison*|yacc*)
       echo "You should only need it if you modified a '.y' file."
       echo "You may want to install the GNU Bison package:"
       echo "<$gnu_software_URL/bison/>"
       ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
     help2man*)
       echo "You should only need it if you modified a dependency" \
            "of a man page."
       echo "You may want to install the GNU Help2man package:"
       echo "<$gnu_software_URL/help2man/>"
     ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
     makeinfo*)
       echo "You should only need it if you modified a '.texi' file, or"
       echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@
       echo "want to install GNU make:"
       echo "<$gnu_software_URL/make/>"
       ;;
+    perl*)
+      echo "You should only need it to run GNU Autoconf, GNU Automake, "
+      echo "  assorted other tools, or if you modified a Perl source file."
+      echo "You may want to install the Perl 5 language interpreter:"
+      echo "<$perl_URL>"
+      ;;
     *)
       echo "You might have modified some files without having the proper"
       echo "tools for further handling them.  Check the 'README' file, it"
@@ -197,6 +217,7 @@
       echo "case some other package contains this missing '$1' program."
       ;;
   esac
+  program_details "$normalized_program"
 }
 
 give_advice "$1" | sed -e '1s/^/WARNING: /' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/pkg.w32/cp-with-libs new/deutex-5.2.3/pkg.w32/cp-with-libs
--- old/deutex-5.2.2/pkg.w32/cp-with-libs       2020-12-30 03:51:28.000000000 
+0100
+++ new/deutex-5.2.3/pkg.w32/cp-with-libs       2025-02-18 21:28:57.000000000 
+0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 # Copyright(C) 2016 Simon Howard
 #
@@ -27,126 +27,163 @@
 import sys
 import subprocess
 
-DLL_NAME_RE = re.compile('\s+DLL Name: (.*\.dll)')
+DLL_NAME_RE = re.compile(r"\s+DLL Name: (.*\.dll)")
 
 # DLLs that are bundled with Windows, and we don't need to copy.
 # Thanks to Martin Preisler; this is from mingw-bundledlls.
 WIN32_DLLS = {
-       "advapi32.dll", "kernel32.dll", "msvcrt.dll", "ole32.dll",
-        "user32.dll", "ws2_32.dll", "comdlg32.dll", "gdi32.dll", "imm32.dll",
-        "oleaut32.dll", "shell32.dll", "winmm.dll", "winspool.drv",
-        "wldap32.dll", "ntdll.dll", "d3d9.dll", "mpr.dll", "crypt32.dll",
-        "dnsapi.dll", "shlwapi.dll", "version.dll", "iphlpapi.dll",
-        "msimg32.dll", "setupapi.dll",
+    "advapi32.dll",
+    "comctl32.dll",
+    "comdlg32.dll",
+    "crypt32.dll",
+    "d3d9.dll",
+    "dnsapi.dll",
+    "dsound.dll",
+    "gdi32.dll",
+    "glu32.dll",
+    "imm32.dll",
+    "iphlpapi.dll",
+    "kernel32.dll",
+    "mpr.dll",
+    "msimg32.dll",
+    "msvcrt.dll",
+    "ntdll.dll",
+    "ole32.dll",
+    "oleaut32.dll",
+    "opengl32.dll",
+    "setupapi.dll",
+    "shell32.dll",
+    "shlwapi.dll",
+    "user32.dll",
+    "version.dll",
+    "winmm.dll",
+    "winspool.drv",
+    "wldap32.dll",
+    "ws2_32.dll",
 }
 
-parser = argparse.ArgumentParser(description='Copy EXE with DLLs.')
-parser.add_argument('--objdump', type=str, default='objdump',
-                    help='name of objdump binary to invoke')
-parser.add_argument('--dll_path', type=str, nargs='*', default=(),
-                    help='list of paths to check for DLLs')
-parser.add_argument('--ldflags', type=str, default="",
-                    help='linker flags, which can be used to automatically '
-                         'determine the DLL path')
-parser.add_argument('source', type=str,
-                    help='path to binary to copy')
-parser.add_argument('destination', type=str,
-                    help='destination to copy binary')
+parser = argparse.ArgumentParser(description="Copy EXE with DLLs.")
+parser.add_argument(
+    "--objdump", type=str, default="objdump", help="name of objdump binary to 
invoke"
+)
+parser.add_argument(
+    "--dll_path",
+    type=str,
+    nargs="*",
+    default=(),
+    help="list of paths to check for DLLs",
+)
+parser.add_argument(
+    "--ldflags",
+    type=str,
+    default="",
+    help="linker flags, which can be used to automatically " "determine the 
DLL path",
+)
+parser.add_argument("source", type=str, help="path to binary to copy")
+parser.add_argument("destination", type=str, help="destination to copy binary")
+
 
 def file_dependencies(filename, objdump):
-       """Get the direct DLL dependencies of the given file.
+    """Get the direct DLL dependencies of the given file.
+
+    The DLLs depended on by the given file are determined by invoking
+    the provided objdump binary. DLLs which are part of the standard
+    Win32 API are excluded from the result.
+
+    Args:
+      filename: Path to a file to query.
+      objdump: Name of objdump binary to invoke.
+    Returns:
+      List of filenames (not fully qualified paths).
+    """
+    cmd = subprocess.Popen([objdump, "-p", filename], stdout=subprocess.PIPE)
+    try:
+        result = []
+        for line in cmd.stdout:
+            m = DLL_NAME_RE.match(line.decode())
+            if m:
+                dll = m.group(1)
+                # APISet forwarder DLLs
+                if dll.lower().startswith("api-ms-win-"):
+                    continue
+                if dll.lower() not in WIN32_DLLS:
+                    result.append(dll)
+
+        return result
+    finally:
+        cmd.wait()
+        assert cmd.returncode == 0, "%s invocation for %s exited with %d" % (
+            objdump,
+            filename,
+            cmd.returncode,
+        )
 
-       The DLLs depended on by the given file are determined by invoking
-       the provided objdump binary. DLLs which are part of the standard
-       Win32 API are excluded from the result.
-
-       Args:
-         filename: Path to a file to query.
-         objdump: Name of objdump binary to invoke.
-       Returns:
-         List of filenames (not fully qualified paths).
-       """
-       cmd = subprocess.Popen([objdump, '-p', filename],
-                              stdout=subprocess.PIPE)
-       try:
-               result = []
-               for line in cmd.stdout:
-                       m = DLL_NAME_RE.match(line.decode())
-                       if m:
-                               dll = m.group(1)
-                               if dll.lower() not in WIN32_DLLS:
-                                       result.append(dll)
-
-               return result
-       finally:
-               cmd.wait()
-               assert cmd.returncode == 0, (
-                       '%s invocation for %s exited with %d' % (
-                               objdump, filename, cmd.returncode))
 
 def find_dll(filename, dll_paths):
-       """Search the given list of paths for a DLL with the given name."""
-       for path in dll_paths:
-               full_path = os.path.join(path, filename)
-               if os.path.exists(full_path):
-                       return full_path
+    """Search the given list of paths for a DLL with the given name."""
+    for path in dll_paths:
+        full_path = os.path.join(path, filename)
+        if os.path.exists(full_path):
+            return full_path
+
+    raise IOError("DLL file %s not found in path: %s" % (filename, dll_paths))
 
-       raise IOError('DLL file %s not found in path: %s' % (
-               filename, dll_paths))
 
 def all_dependencies(filename, objdump, dll_paths):
-       """Recursively find all dependencies of the given executable file.
+    """Recursively find all dependencies of the given executable file.
 
-       Args:
-         filename: Executable file to examine.
-         objdump: Command to invoke to find dependencies.
-         dll_paths: List of directories to search for DLL files.
-       Returns:
-         Tuple containing:
-           Set containing paths to all DLL dependencies of the file.
-           Set of filenames of missing DLLs.
-       """
-       result, missing = set(), set()
-       to_process = {filename}
-       while len(to_process) > 0:
-               filename = to_process.pop()
-               for dll in file_dependencies(filename, objdump):
-                       try:
-                               dll = find_dll(dll, dll_paths)
-                               if dll not in result:
-                                       result |= {dll}
-                                       to_process |= {dll}
-                       except IOError as e:
-                               missing |= {dll}
+    Args:
+      filename: Executable file to examine.
+      objdump: Command to invoke to find dependencies.
+      dll_paths: List of directories to search for DLL files.
+    Returns:
+      Tuple containing:
+        Set containing paths to all DLL dependencies of the file.
+        Set of filenames of missing DLLs.
+    """
+    result, missing = set(), set()
+    to_process = {filename}
+    while len(to_process) > 0:
+        filename = to_process.pop()
+        for dll in file_dependencies(filename, objdump):
+            try:
+                dll = find_dll(dll, dll_paths)
+                if dll not in result:
+                    result |= {dll}
+                    to_process |= {dll}
+            except IOError as e:
+                missing |= {dll}
+
+    return result, missing
 
-       return result, missing
 
 def get_dll_path():
-       """Examine command line arguments and determine the DLL search path.
+    """Examine command line arguments and determine the DLL search path.
+
+    If the --path argument is provided, paths from this are added.
+    Furthermore, if --ldflags is provided, this is interpreted as a list of
+    linker flags and the -L paths are used to find associated paths that are
+    likely to contain DLLs, with the assumption that autotools usually
+    installs DLLs to ${prefix}/bin when installing Unix-style libraries into
+    ${prefix}/lib.
+
+    Returns:
+      List of filesystem paths to check for DLLs.
+    """
+    result = set(args.dll_path)
+
+    if args.ldflags != "":
+        for arg in shlex.split(args.ldflags):
+            if arg.startswith("-L"):
+                prefix, libdir = os.path.split(arg[2:])
+                if libdir != "lib":
+                    continue
+                bindir = os.path.join(prefix, "bin")
+                if os.path.exists(bindir):
+                    result |= {bindir}
 
-       If the --path argument is provided, paths from this are added.
-       Furthermore, if --ldflags is provided, this is interpreted as a list of
-       linker flags and the -L paths are used to find associated paths that are
-       likely to contain DLLs, with the assumption that autotools usually
-       installs DLLs to ${prefix}/bin when installing Unix-style libraries into
-       ${prefix}/lib.
-
-       Returns:
-         List of filesystem paths to check for DLLs.
-       """
-       result = set(args.dll_path)
-
-       if args.ldflags != '':
-               for arg in shlex.split(args.ldflags):
-                       if arg.startswith("-L"):
-                               prefix, libdir = os.path.split(arg[2:])
-                               if libdir != "lib":
-                                       continue
-                               bindir = os.path.join(prefix, "bin")
-                               if os.path.exists(bindir):
-                                       result |= {bindir}
+    return list(result)
 
-       return list(result)
 
 args = parser.parse_args()
 
@@ -155,21 +192,20 @@
 
 # Exit with failure if DLLs are missing.
 if missing:
-       sys.stderr.write("Missing DLLs not found in path %s:\n" % (dll_path,))
-       for filename in missing:
-               sys.stderr.write("\t%s\n" % filename)
-       sys.exit(1)
+    sys.stderr.write("Missing DLLs not found in path %s:\n" % (dll_path,))
+    for filename in missing:
+        sys.stderr.write("\t%s\n" % filename)
+    sys.exit(1)
 
 # Destination may be a full path (rename) or may be a directory to copy into:
 #   cp foo.exe bar/baz.exe
 #   cp foo.exe bar/
 if os.path.isdir(args.destination):
-       dest_dir = args.destination
+    dest_dir = args.destination
 else:
-       dest_dir = os.path.dirname(args.destination)
+    dest_dir = os.path.dirname(args.destination)
 
 # Copy .exe and DLLs.
 shutil.copy(args.source, args.destination)
 for filename in dll_files:
-       shutil.copy(filename, dest_dir)
-
+    shutil.copy(filename, dest_dir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/color.c new/deutex-5.2.3/src/color.c
--- old/deutex-5.2.2/src/color.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/color.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/color.h new/deutex-5.2.3/src/color.h
--- old/deutex-5.2.2/src/color.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/color.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/compose.c new/deutex-5.2.3/src/compose.c
--- old/deutex-5.2.2/src/compose.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/compose.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/deutex.c new/deutex-5.2.3/src/deutex.c
--- old/deutex-5.2.2/src/deutex.c       2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/deutex.c       2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/deutex.h new/deutex-5.2.3/src/deutex.h
--- old/deutex-5.2.2/src/deutex.h       2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/deutex.h       2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/endianio.c new/deutex-5.2.3/src/endianio.c
--- old/deutex-5.2.2/src/endianio.c     2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/endianio.c     2025-02-18 21:28:57.000000000 +0100
@@ -1,6 +1,6 @@
 /*
-  This file is Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® André Majorel,
+              contributors to the DeuTex project.
 
   Those functions allow to read little-endian and big-endian integers
   from a file regardless of the endianness of the CPU.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/endianio.h new/deutex-5.2.3/src/endianio.h
--- old/deutex-5.2.2/src/endianio.h     2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/endianio.h     2025-02-18 21:28:57.000000000 +0100
@@ -1,6 +1,6 @@
 /*
-  This file is Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® André Majorel,
+              contributors to the DeuTex project.
 
   Those functions allow to read little-endian and big-endian integers
   from a file regardless of the endianness of the CPU.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/endianm.c new/deutex-5.2.3/src/endianm.c
--- old/deutex-5.2.2/src/endianm.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/endianm.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,6 +1,6 @@
 /*
-  This file is Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® André Majorel,
+              contributors to the DeuTex project.
 
   Those functions allow to read little-endian and big-endian integers
   from memory regardless of the endianness of the CPU.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/endianm.h new/deutex-5.2.3/src/endianm.h
--- old/deutex-5.2.2/src/endianm.h      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/endianm.h      2025-02-18 21:28:57.000000000 +0100
@@ -1,6 +1,6 @@
 /*
-  This file is Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® André Majorel,
+              contributors to the DeuTex project.
 
   Those functions allow to read little-endian and big-endian integers
   from memory regardless of the endianness of the CPU.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/extract.c new/deutex-5.2.3/src/extract.c
--- old/deutex-5.2.2/src/extract.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/extract.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/extract.h new/deutex-5.2.3/src/extract.h
--- old/deutex-5.2.2/src/extract.h      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/extract.h      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/ident.c new/deutex-5.2.3/src/ident.c
--- old/deutex-5.2.2/src/ident.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/ident.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/ident.h new/deutex-5.2.3/src/ident.h
--- old/deutex-5.2.2/src/ident.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/ident.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/listdir.c new/deutex-5.2.3/src/listdir.c
--- old/deutex-5.2.2/src/listdir.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/listdir.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/lists.c new/deutex-5.2.3/src/lists.c
--- old/deutex-5.2.2/src/lists.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/lists.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/lists.h new/deutex-5.2.3/src/lists.h
--- old/deutex-5.2.2/src/lists.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/lists.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/merge.c new/deutex-5.2.3/src/merge.c
--- old/deutex-5.2.2/src/merge.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/merge.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/merge.h new/deutex-5.2.3/src/merge.h
--- old/deutex-5.2.2/src/merge.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/merge.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/mkwad.c new/deutex-5.2.3/src/mkwad.c
--- old/deutex-5.2.2/src/mkwad.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/mkwad.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
@@ -81,6 +81,7 @@
 void WADRopenR(struct WADINFO *info, const char *wadin)
 {                               /*directory */
     int32_t ntry, dirpos;
+    long filesize = 0x10000000L;
     int16_t n;
     struct WADDIR dir;
     if ((info->ok & WADR_RDWR))
@@ -91,6 +92,11 @@
     info->filename = Malloc(strlen(wadin) + 1);
     strcpy(info->filename, wadin);
     info->ok = WADR_READ;
+    if (fseek(info->fd, 0, SEEK_END) == 0)
+    {
+        filesize = ftell(info->fd);
+        fseek(info->fd, 0, SEEK_SET);
+    }
     /*signature */
     switch (WADRreadShort(info)) {
     case PWAD:
@@ -108,7 +114,7 @@
     if (ntry > 0xfce)
         Warning("WR11", "%s has more than 4046 lumps: vanilla-incompatible", 
fname(wadin));
     info->dirpos = dirpos = WADRreadLong(info);
-    if ((dirpos < 0) || (dirpos > 0x10000000L))
+    if ((dirpos < 0) || (dirpos >= filesize))
         ProgError("WR13", "%s: invalid directory offset %08lX",
                   fname(wadin), (unsigned long) dirpos);
     /*allocate directory */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/mkwad.h new/deutex-5.2.3/src/mkwad.h
--- old/deutex-5.2.2/src/mkwad.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/mkwad.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/picture.c new/deutex-5.2.3/src/picture.c
--- old/deutex-5.2.2/src/picture.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/picture.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/picture.h new/deutex-5.2.3/src/picture.h
--- old/deutex-5.2.2/src/picture.h      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/picture.h      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/png_tools.c new/deutex-5.2.3/src/png_tools.c
--- old/deutex-5.2.2/src/png_tools.c    2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/png_tools.c    2025-02-18 21:28:57.000000000 +0100
@@ -1,5 +1,5 @@
 /*
-  This file is Copyright © 2019 contributors to the DeuTex project.
+  Copyright © contributors to the DeuTex project.
 
   SPDX-License-Identifier: GPL-2.0-or-later
 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/png_tools.h new/deutex-5.2.3/src/png_tools.h
--- old/deutex-5.2.2/src/png_tools.h    2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/png_tools.h    2025-02-18 21:28:57.000000000 +0100
@@ -1,5 +1,5 @@
 /*
-  This file is Copyright © 2019 contributors to the DeuTex project.
+  Copyright © contributors to the DeuTex project.
 
   SPDX-License-Identifier: GPL-2.0-or-later
 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/sound.c new/deutex-5.2.3/src/sound.c
--- old/deutex-5.2.2/src/sound.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/sound.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/sound.h new/deutex-5.2.3/src/sound.h
--- old/deutex-5.2.2/src/sound.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/sound.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/sscript.c new/deutex-5.2.3/src/sscript.c
--- old/deutex-5.2.2/src/sscript.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/sscript.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/sscript.h new/deutex-5.2.3/src/sscript.h
--- old/deutex-5.2.2/src/sscript.h      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/sscript.h      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/text.c new/deutex-5.2.3/src/text.c
--- old/deutex-5.2.2/src/text.c 2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/text.c 2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/text.h new/deutex-5.2.3/src/text.h
--- old/deutex-5.2.2/src/text.h 2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/text.h 2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/texture.c new/deutex-5.2.3/src/texture.c
--- old/deutex-5.2.2/src/texture.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/texture.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/texture.h new/deutex-5.2.3/src/texture.h
--- old/deutex-5.2.2/src/texture.h      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/texture.h      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/tools.c new/deutex-5.2.3/src/tools.c
--- old/deutex-5.2.2/src/tools.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/tools.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/tools.h new/deutex-5.2.3/src/tools.h
--- old/deutex-5.2.2/src/tools.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/tools.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/usedidx.c new/deutex-5.2.3/src/usedidx.c
--- old/deutex-5.2.2/src/usedidx.c      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/usedidx.c      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/usedidx.h new/deutex-5.2.3/src/usedidx.h
--- old/deutex-5.2.2/src/usedidx.h      2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/usedidx.h      2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/wadio.c new/deutex-5.2.3/src/wadio.c
--- old/deutex-5.2.2/src/wadio.c        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/wadio.c        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/deutex-5.2.2/src/wadio.h new/deutex-5.2.3/src/wadio.h
--- old/deutex-5.2.2/src/wadio.h        2020-12-30 03:51:28.000000000 +0100
+++ new/deutex-5.2.3/src/wadio.h        2025-02-18 21:28:57.000000000 +0100
@@ -1,7 +1,7 @@
 /*
-  This file is Copyright © 1994-1995 Olivier Montanuy,
-               Copyright © 1999-2005 André Majorel,
-               Copyright © 2006-2019 contributors to the DeuTex project.
+  Copyright ® Olivier Montanuy,
+              André Majorel,
+              contributors to the DeuTex project.
 
   DeuTex incorporates code derived from DEU 5.21 that was put in the
   public domain in 1994 by Raphaël Quinet and Brendon Wyber.

Reply via email to