Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package diffoscope for openSUSE:Factory 
checked in at 2026-09-12 21:22:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/diffoscope (Old)
 and      /work/SRC/openSUSE:Factory/.diffoscope.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "diffoscope"

Sat Sep 12 21:22:02 2026 rev:54 rq:1377568 version:329

Changes:
--------
--- /work/SRC/openSUSE:Factory/diffoscope/diffoscope.changes    2026-06-29 
17:31:32.656456376 +0200
+++ /work/SRC/openSUSE:Factory/.diffoscope.new.1265/diffoscope.changes  
2026-09-12 21:26:00.194161713 +0200
@@ -1,0 +2,9 @@
+Sat Sep  5 15:09:58 UTC 2026 - Andrea Manzini <[email protected]>
+
+- update to 329:
+  * Allow trailing garbage in Gzip files.
+  * Use the XML comparators for SVG vector image
+    files.
+- Spec cleanup: drop obsolete Group: tag.
+
+-------------------------------------------------------------------

Old:
----
  diffoscope-322.tar.bz2
  diffoscope-322.tar.bz2.asc

New:
----
  diffoscope-329.tar.bz2
  diffoscope-329.tar.bz2.asc

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

Other differences:
------------------
++++++ diffoscope.spec ++++++
--- /var/tmp/diff_new_pack.6mADZL/_old  2026-09-12 21:26:00.798187065 +0200
+++ /var/tmp/diff_new_pack.6mADZL/_new  2026-09-12 21:26:00.800187149 +0200
@@ -17,11 +17,10 @@
 
 
 Name:           diffoscope
-Version:        322
+Version:        329
 Release:        0
 Summary:        In-depth comparison of files, archives, and directories
 License:        GPL-3.0-or-later
-Group:          Development/Languages/Python
 URL:            https://diffoscope.org/
 Source0:        https://diffoscope.org/archive/diffoscope-%{version}.tar.bz2
 Source1:        
https://diffoscope.org/archive/diffoscope-%{version}.tar.bz2.asc
@@ -39,11 +38,11 @@
 Requires:       python3-python-magic
 Requires(post): update-alternatives
 Requires(postun): update-alternatives
+Recommends:     python3-argcomplete
+Recommends:     python3-defusedxml
 # Tools required for proper function of this program
 # in extras_require
 Recommends:     python3-distro
-Recommends:     python3-argcomplete
-Recommends:     python3-defusedxml
 Recommends:     python3-jsondiff
 Recommends:     python3-progressbar
 # for getfacl

++++++ diffoscope-322.tar.bz2 -> diffoscope-329.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/debian/changelog 
new/diffoscope-329/debian/changelog
--- old/diffoscope-322/debian/changelog 2026-06-26 17:55:03.000000000 +0200
+++ new/diffoscope-329/debian/changelog 2026-08-21 17:26:26.000000000 +0200
@@ -1,3 +1,68 @@
+diffoscope (329) unstable; urgency=medium
+
+  [ Jochen Sprickerhof ]
+  * Handle missing cpio and qemu-img in autopkgtests. (Closes: #1144617)
+
+ -- Chris Lamb <[email protected]>  Fri, 21 Aug 2026 08:26:23 -0700
+
+diffoscope (328) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Don't require python3-guestfs in the autopkgtests on 32-bit architectures.
+    (Closes: #1144372)
+
+  [ Jochen Sprickerhof ]
+  * Use the XML comparators for SVG vector image files. (Closes: #1144242)
+
+ -- Chris Lamb <[email protected]>  Fri, 14 Aug 2026 11:20:05 -0700
+
+diffoscope (327) unstable; urgency=medium
+
+  [ Colin Watson ]
+  * Handle missing openssh-client binaries in autopkgtests.
+
+ -- Chris Lamb <[email protected]>  Fri, 07 Aug 2026 08:05:12 -0700
+
+diffoscope (326) unstable; urgency=medium
+
+  [ Vagrant Cascadian ]
+  * Add external tool reference for "pedump" to use the "mono" package on
+    GNU guix.
+
+ -- Chris Lamb <[email protected]>  Thu, 30 Jul 2026 11:30:21 -0700
+
+diffoscope (325) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Fix tests to work with zipdetails 4.0008. (Closes: #1141359)
+  * Downgrade debhelper compatibility level to 13 for now.
+  * Update copyright years.
+
+ -- Chris Lamb <[email protected]>  Fri, 17 Jul 2026 10:43:01 -0700
+
+diffoscope (324) unstable; urgency=medium
+
+  [ Paul Spooren ]
+  * Allow trailing garbage in Gzip files.
+
+  [ Chris Lamb ]
+  * Bump debhelper compatibility level to 14.
+
+ -- Chris Lamb <[email protected]>  Fri, 10 Jul 2026 08:34:33 -0700
+
+diffoscope (323) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Debian adds an extra "Flags:" line in the output of ocamlobjinfo via a
+    patch, so adjust how we test OCaml to ensure cross-distribution
+    compatibility. (Closes: reproducible-builds/diffoscope#430)
+  * Update copyright years.
+
+  [ Michael Daniels ]
+  * Fix tests when using zipdetails version >= 4.006.
+
+ -- Chris Lamb <[email protected]>  Tue, 30 Jun 2026 10:10:24 -0700
+
 diffoscope (322) unstable; urgency=medium
 
   [ Zbigniew Jędrzejewski-Szmek ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/debian/tests/control 
new/diffoscope-329/debian/tests/control
--- old/diffoscope-322/debian/tests/control     2026-06-26 17:55:03.000000000 
+0200
+++ new/diffoscope-329/debian/tests/control     2026-08-21 17:26:26.000000000 
+0200
@@ -7,7 +7,7 @@
 #   $ mv debian/tests/control.tmp debian/tests/control
 
 Tests: pytest-with-recommends
-Depends: python3-all, diffoscope, black, python3-pytest, python3-h5py, file, 
linux-image-amd64 [amd64] | linux-image-generic [amd64], 7zip, abootimg, acl, 
apksigcopier, apksigner, apktool, binutils-multiarch, bzip2, caca-utils, 
colord, coreboot-utils [!risv64], db-util, default-jdk-headless | default-jdk | 
java-sdk, device-tree-compiler, docx2txt, e2fsprogs, enjarify, ffmpeg, 
fontforge-extras, fonttools, fp-utils [!riscv64 !s390x], genisoimage, gettext, 
ghc, ghostscript, giflib-tools, gnumeric, gnupg-utils, gpg, hdf5-tools, 
html2text, imagemagick, jsbeautifier, libarchive-tools, libxmlb-utils, llvm, 
lz4, lzip, mono-devel (>= 6.14.1+ds-3) [!riscv64] | mono-utils (<< 6.14.1+ds-3) 
[!riscv64], ocaml, odt2txt, oggvideotools [!s390x], openssh-client, openssl, 
perl, pgpdump, poppler-utils, procyon-decompiler, python3-pdfminer, 
r-base-core, rpm2cpio, sng, sqlite3, squashfs-tools, systemd-ukify, tcpdump, 
u-boot-tools, unzip, wabt, xmlbeans, xxd, xz-utils, zip, zstd, 
python3-argcomplete, pyth
 on3-binwalk, python3-defusedxml, python3-distro, python3-guestfs, 
python3-jsondiff, python3-progressbar, python3-pypdf, python3-debian, 
python3-pyxattr, python3-rpm, python3-tlsh
+Depends: python3-all, diffoscope, black, python3-pytest, python3-h5py, file, 
linux-image-amd64 [amd64] | linux-image-generic [amd64], 7zip, abootimg, acl, 
apksigcopier, apksigner, apktool, binutils-multiarch, bzip2, caca-utils, 
colord, coreboot-utils [!risv64], db-util, default-jdk-headless | default-jdk | 
java-sdk, device-tree-compiler, docx2txt, e2fsprogs, enjarify, ffmpeg, 
fontforge-extras, fonttools, fp-utils [!riscv64 !s390x], genisoimage, gettext, 
ghc, ghostscript, giflib-tools, gnumeric, gnupg-utils, gpg, hdf5-tools, 
html2text, imagemagick, jsbeautifier, libarchive-tools, libxmlb-utils, llvm, 
lz4, lzip, mono-devel (>= 6.14.1+ds-3) [!riscv64] | mono-utils (<< 6.14.1+ds-3) 
[!riscv64], ocaml, odt2txt, oggvideotools [!s390x], openssh-client, openssl, 
perl, pgpdump, poppler-utils, procyon-decompiler, python3-pdfminer, 
r-base-core, rpm2cpio, sng, sqlite3, squashfs-tools, systemd-ukify, tcpdump, 
u-boot-tools, unzip, wabt, xmlbeans, xxd, xz-utils, zip, zstd, 
python3-argcomplete, pyth
 on3-binwalk, python3-defusedxml, python3-distro, python3-guestfs [amd64 arm64 
loong64 ppc64el riscv64 s390x], python3-jsondiff, python3-progressbar, 
python3-pypdf, python3-debian, python3-pyxattr, python3-rpm, python3-tlsh
 
 Tests: pytest
 Depends: python3-all, diffoscope, python3-pytest, python3-h5py, file, 
python3-tlsh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/debian/tests/control.sh 
new/diffoscope-329/debian/tests/control.sh
--- old/diffoscope-322/debian/tests/control.sh  2026-06-26 17:55:03.000000000 
+0200
+++ new/diffoscope-329/debian/tests/control.sh  2026-08-21 17:26:26.000000000 
+0200
@@ -25,6 +25,7 @@
 sed -i "s,\(mono-devel (>= 6.14.1+ds-3)\),\1 [!riscv64]," 
debian/tests/control.tmp
 sed -i "s,\(mono-utils (<< 6.14.1+ds-3)\),\1 [!riscv64]," 
debian/tests/control.tmp
 sed -i "s,\(oggvideotools\),\1 [!s390x]," debian/tests/control.tmp
+sed -i "s,\(python3-guestfs\),\1 [amd64 arm64 loong64 ppc64el riscv64 s390x]," 
debian/tests/control.tmp
 #sed -i "s,python3-androguard,androguard," debian/tests/control.tmp
 #sed -i "s,\(dexdump\),\1 [amd64 arm64 armhf i386]," debian/tests/control.tmp
 # aapt removed due to not being in trixie atma - #1070416
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/debian/tests/pytest 
new/diffoscope-329/debian/tests/pytest
--- old/diffoscope-322/debian/tests/pytest      2026-06-26 17:55:03.000000000 
+0200
+++ new/diffoscope-329/debian/tests/pytest      2026-08-21 17:26:26.000000000 
+0200
@@ -9,7 +9,7 @@
 
 export LIBGUESTFS_MEMSIZE=128
 if [ "$(basename "$0")" = "pytest-with-recommends" ]; then
-    export DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS="aapt2 androguard apktool 
asar dexdump zipinfo pedump oggDump ppudump otool lipo radare2"
+    export DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS="aapt2 androguard apktool 
asar cpio dexdump zipinfo pedump qemu-img oggDump ppudump otool lipo radare2 
ssh"
 fi
 
 for py in $(py3versions -s); do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/diffoscope/__init__.py 
new/diffoscope-329/diffoscope/__init__.py
--- old/diffoscope-322/diffoscope/__init__.py   2026-06-26 17:55:03.000000000 
+0200
+++ new/diffoscope-329/diffoscope/__init__.py   2026-08-21 17:26:26.000000000 
+0200
@@ -17,4 +17,4 @@
 # You should have received a copy of the GNU General Public License
 # along with diffoscope.  If not, see <https://www.gnu.org/licenses/>.
 
-VERSION = "322"
+VERSION = "329"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/diffoscope/comparators/gzip.py 
new/diffoscope-329/diffoscope/comparators/gzip.py
--- old/diffoscope-322/diffoscope/comparators/gzip.py   2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/diffoscope/comparators/gzip.py   2026-08-21 
17:26:26.000000000 +0200
@@ -48,11 +48,19 @@
             # Use the short options (-d and -c) instead of the long options
             # (--decompress and --stdout) to support the gzip implementation
             # present in busybox, which doesn't support the long options.
-            subprocess.check_call(
+            returncode = subprocess.call(
                 ["gzip", "-d", "-c", self.source.path],
                 stdout=fp,
                 stderr=None,
             )
+        # gzip exits with 2 (a warning) when decompression succeeds but there
+        # is trailing garbage after the stream, eg. metadata appended to
+        # OpenWrt firmware images. The payload is still fully decompressed, so
+        # only treat a fatal error (exit code 1) as a failure.
+        if returncode not in (0, 2):
+            raise subprocess.CalledProcessError(
+                returncode, ["gzip", "-d", "-c", self.source.path]
+            )
         return dest_path
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/diffoscope/comparators/xml.py 
new/diffoscope-329/diffoscope/comparators/xml.py
--- old/diffoscope-322/diffoscope/comparators/xml.py    2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/diffoscope/comparators/xml.py    2026-08-21 
17:26:26.000000000 +0200
@@ -118,7 +118,7 @@
 
     DESCRIPTION = "XML files"
     FILE_TYPE_RE = re.compile(
-        r"^(XML \S+ document|GnuCash file|XHTML document)"
+        r"^(XML \S+ document|GnuCash file|XHTML document|SVG Scalable Vector 
Graphics image)"
     )
 
     @classmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/diffoscope/external_tools.py 
new/diffoscope-329/diffoscope/external_tools.py
--- old/diffoscope-322/diffoscope/external_tools.py     2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/diffoscope/external_tools.py     2026-08-21 
17:26:26.000000000 +0200
@@ -175,6 +175,7 @@
         "debian": "mono-devel (>= 6.14.1+ds-3) | mono-utils (<< 6.14.1+ds-3)",
         "arch": "mono",
         "FreeBSD": "mono",
+        "guix": "mono",
     },
     "ppudump": {
         "debian": "fp-utils",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/comparators/test_epub.py 
new/diffoscope-329/tests/comparators/test_epub.py
--- old/diffoscope-322/tests/comparators/test_epub.py   2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/comparators/test_epub.py   2026-08-21 
17:26:26.000000000 +0200
@@ -2,7 +2,7 @@
 # diffoscope: in-depth comparison of files, archives, and directories
 #
 # Copyright © 2015 Jérémy Bobbio <[email protected]>
-# Copyright © 2016-2017, 2020-2024 Chris Lamb <[email protected]>
+# Copyright © 2016-2017, 2020-2024, 2026 Chris Lamb <[email protected]>
 #
 # diffoscope is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@
 
 
 @skip_unless_tools_exist("zipinfo", "zipdetails")
-@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.004")
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.008")
 def test_differences(differences):
     assert differences[0].source1 == "zipinfo {}"
     assert differences[0].source2 == "zipinfo {}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/comparators/test_gzip.py 
new/diffoscope-329/tests/comparators/test_gzip.py
--- old/diffoscope-322/tests/comparators/test_gzip.py   2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/comparators/test_gzip.py   2026-08-21 
17:26:26.000000000 +0200
@@ -17,6 +17,7 @@
 # You should have received a copy of the GNU General Public License
 # along with diffoscope.  If not, see <https://www.gnu.org/licenses/>.
 
+import gzip
 import shutil
 import pytest
 
@@ -90,6 +91,28 @@
     assert differences[1].unified_diff == expected_diff
 
 
+def test_trailing_garbage(tmpdir):
+    # OpenWrt firmware images append metadata after the gzip stream, which
+    # makes gzip(1) exit with a warning (code 2) even though the payload
+    # decompressed fine. Ensure we still compare the content.
+    def make(name, content):
+        path = str(tmpdir.join(name))
+        with gzip.open(path, "wb") as fp:
+            fp.write(content)
+        with open(path, "ab") as fp:
+            fp.write(b"OpenWrt appended metadata blob")
+        return specialize(FilesystemFile(path))
+
+    file1 = make("garbage1.gz", b"hello\n")
+    file2 = make("garbage2.gz", b"world\n")
+
+    assert file1.compare(file1) is None
+    difference = file1.compare(file2)
+    assert difference is not None
+    # The decompressed content must have been extracted and compared.
+    assert difference.details[-1].unified_diff
+
+
 def test_compare_non_existing(monkeypatch, gzip1):
     monkeypatch.setattr(Config(), "new_file", True)
     difference = gzip1.compare(MissingFile("/nonexisting", gzip1))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/comparators/test_ocaml.py 
new/diffoscope-329/tests/comparators/test_ocaml.py
--- old/diffoscope-322/tests/comparators/test_ocaml.py  2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/comparators/test_ocaml.py  2026-08-21 
17:26:26.000000000 +0200
@@ -23,7 +23,7 @@
 from diffoscope.comparators.binary import FilesystemFile
 from diffoscope.comparators.utils.specialize import specialize
 
-from ..utils.data import assert_diff_startswith
+from ..utils.data import assert_diff_endswith
 from ..utils.tools import skip_unless_tool_is_at_least
 from ..utils.nonexisting import assert_non_existing
 
@@ -74,7 +74,10 @@
 
 @skip_unless_tool_is_at_least("ocamlobjinfo", ocaml_version, "5.4.1")
 def test_diff(differences):
-    assert_diff_startswith(differences[0], "ocaml_expected_diff")
+    # Debian adds an extra "Flags:" line in the output, so we only compare the
+    # bottom parts of the diff to ensure cross-distro compatibility.
+    # (diffoscope#430)
+    assert_diff_endswith(differences[0], "ocaml_expected_diff")
 
 
 @skip_unless_tool_is_at_least("ocamlobjinfo", ocaml_version, "4.11")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/diffoscope-322/tests/comparators/test_openssh_pub_key.py 
new/diffoscope-329/tests/comparators/test_openssh_pub_key.py
--- old/diffoscope-322/tests/comparators/test_openssh_pub_key.py        
2026-06-26 17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/comparators/test_openssh_pub_key.py        
2026-08-21 17:26:26.000000000 +0200
@@ -72,12 +72,14 @@
     return opensshpubkey2.compare(opensshpubkey3).details
 
 
+@skip_unless_tools_exist("ssh")
 @skip_unless_tool_is_at_least("ssh-keygen", openssh_version, "6.9")
 @skip_unless_tool_is_at_most("ssh-keygen", openssh_version, "9.7p1")
 def test_diff12(differences12):
     assert_diff(differences12[0], "openssh_pub_key_expected_diff_12")
 
 
+@skip_unless_tools_exist("ssh")
 @skip_unless_tool_is_at_least("ssh-keygen", openssh_version, "6.9")
 def test_diff23(differences23):
     assert_diff(differences23[0], "openssh_pub_key_expected_diff_23")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/comparators/test_zip.py 
new/diffoscope-329/tests/comparators/test_zip.py
--- old/diffoscope-322/tests/comparators/test_zip.py    2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/comparators/test_zip.py    2026-08-21 
17:26:26.000000000 +0200
@@ -2,7 +2,7 @@
 # diffoscope: in-depth comparison of files, archives, and directories
 #
 # Copyright © 2015 Jérémy Bobbio <[email protected]>
-# Copyright © 2015-2020, 2022, 2024-2025 Chris Lamb <[email protected]>
+# Copyright © 2015-2020, 2022, 2024-2026 Chris Lamb <[email protected]>
 #
 # diffoscope is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -81,7 +81,7 @@
 
 
 @skip_unless_tools_exist("zipinfo", "zipdetails")
-@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.004")
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.008")
 @skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
 def test_metadata(differences):
     assert_diff(differences[0], "zip_zipinfo_expected_diff")
@@ -96,6 +96,7 @@
 
 
 @skip_unless_tools_exist("zipinfo", "bsdtar", "zipdetails")
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.008")
 @skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
 def test_extra_fields(differences2):
     assert_diff(differences2[0], "zip_bsdtar_expected_diff")
@@ -188,7 +189,8 @@
     return jmod1.compare(jmod2).details
 
 
-@skip_unless_tools_exist("zipinfo", "zipdetails", "zipnote")
+@skip_unless_tools_exist("zipinfo", "zipnote")
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.008")
 @skip_unless_tool_is_at_least("perl", io_compress_zip_version, "2.212")
 def test_jmod_metadata(jmod_differences, jmod1, jmod2):
     assert jmod_differences[0].source1 == "zipinfo {}"
@@ -209,7 +211,7 @@
 
 
 @skip_unless_tools_exist("zipnote", "zipdetails")
-@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.004")
+@skip_unless_tool_is_at_least("zipdetails", zipdetails_version, "4.008")
 def test_commented(comment_differences):
     assert_diff(comment_differences[1], "comment_zipinfo_expected_diff")
     assert_diff(comment_differences[2], "comment_zipdetails_expected_diff")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/diffoscope-322/tests/data/comment_zipdetails_expected_diff 
new/diffoscope-329/tests/data/comment_zipdetails_expected_diff
--- old/diffoscope-322/tests/data/comment_zipdetails_expected_diff      
2026-06-26 17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/data/comment_zipdetails_expected_diff      
2026-08-21 17:26:26.000000000 +0200
@@ -1,4 +1,4 @@
-@@ -37,15 +37,15 @@
+@@ -33,15 +33,15 @@
  0047 Compression Method    0000 (0) 'Stored'
  0049 Modification Time     4D869485 (1300665477) 'Thu Dec  6 18:36:10 2018'
  004D CRC                   00000000 (0)
@@ -15,7 +15,7 @@
       [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'
       [Bits 28-31]          08 (8) 'Regular File'
  0067 Local Header Offset   00000000 (0)
-@@ -61,20 +61,22 @@
+@@ -53,18 +53,20 @@
  0077 Extra ID #2           7875 (30837) 'Unix Extra type 3 [ux]'
  0079   Length              000B (11)
  007B   Version             01 (1)
@@ -43,6 +43,4 @@
 +009F Comment Length        0007 (7)
 +00A1 Comment               'XXXXXXX'
  #
- # Warning Count: 2
- #
  # Done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/data/epub_expected_diffs 
new/diffoscope-329/tests/data/epub_expected_diffs
--- old/diffoscope-322/tests/data/epub_expected_diffs   2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/data/epub_expected_diffs   2026-08-21 
17:26:26.000000000 +0200
@@ -38,8 +38,8 @@
  001A Filename Length       0008 (8)
  001C Extra Length          0000 (0)
  001E Filename              'XXXXXXXX'
- #
-@@ -21,15 +21,15 @@
+ 0026 PAYLOAD               XXXXXXXXXXXXXXXXXXXX
+@@ -17,15 +17,15 @@
  003A LOCAL HEADER #2       04034B50 (67324752)
  003E Extract Zip Spec      14 (20) '2.0'
  003F Extract OS            00 (0) 'MS-DOS'
@@ -55,8 +55,8 @@
  0054 Filename Length       0016 (22)
  0056 Extra Length          0000 (0)
  0058 Filename              'XXXXXXXXXXXXXXXXXXXXXX'
- #
-@@ -42,15 +42,15 @@
+ 006E PAYLOAD               
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+@@ -34,15 +34,15 @@
  0114 LOCAL HEADER #3       04034B50 (67324752)
  0118 Extract Zip Spec      14 (20) '2.0'
  0119 Extract OS            00 (0) 'MS-DOS'
@@ -72,8 +72,8 @@
  012E Filename Length       002D (45)
  0130 Extra Length          0000 (0)
  0132 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #
-@@ -62,15 +62,15 @@
+ 015F PAYLOAD               
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+@@ -50,15 +50,15 @@
  01D6 LOCAL HEADER #4       04034B50 (67324752)
  01DA Extract Zip Spec      14 (20) '2.0'
  01DB Extract OS            00 (0) 'MS-DOS'
@@ -89,8 +89,8 @@
  01F0 Filename Length       000E (14)
  01F2 Extra Length          0000 (0)
  01F4 Filename              'XXXXXXXXXXXXXX'
- #
-@@ -83,15 +83,15 @@
+ 0202 PAYLOAD               
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+@@ -67,15 +67,15 @@
  02DF LOCAL HEADER #5       04034B50 (67324752)
  02E3 Extract Zip Spec      14 (20) '2.0'
  02E4 Extract OS            00 (0) 'MS-DOS'
@@ -106,8 +106,8 @@
  02F9 Filename Length       0010 (16)
  02FB Extra Length          0000 (0)
  02FD Filename              'XXXXXXXXXXXXXXXX'
- #
-@@ -103,334 +103,334 @@
+ 030D PAYLOAD
+@@ -83,280 +83,280 @@
  043B LOCAL HEADER #6       04034B50 (67324752)
  043F Extract Zip Spec      14 (20) '2.0'
  0440 Extract OS            00 (0) 'MS-DOS'
@@ -125,10 +125,6 @@
  0455 Filename Length       000B (11)
  0457 Extra Length          0000 (0)
  0459 Filename              'XXXXXXXXXXX'
- #
- # WARNING: Offset 0x459: Filename 'XXXXXXXXXXX'
- #          Zero length filename
- #
  0464 PAYLOAD
  
 -0640 LOCAL HEADER #7       04034B50 (67324752)
@@ -145,10 +141,6 @@
 -065A Filename Length       0007 (7)
 -065C Extra Length          0000 (0)
 -065E Filename              'XXXXXXX'
--#
--# WARNING: Offset 0x65E: Filename 'XXXXXXX'
--#          Zero length filename
--#
 -0665 PAYLOAD
 -
 -07A3 LOCAL HEADER #8       04034B50 (67324752)
@@ -165,10 +157,6 @@
 -07BD Filename Length       0009 (9)
 -07BF Extra Length          0000 (0)
 -07C1 Filename              'XXXXXXXXX'
--#
--# WARNING: Offset 0x7C1: Filename 'XXXXXXXXX'
--#          Zero length filename
--#
 -07CA PAYLOAD
 -
 -0929 LOCAL HEADER #9       04034B50 (67324752)
@@ -185,10 +173,6 @@
 -0943 Filename Length       000B (11)
 -0945 Extra Length          0000 (0)
 -0947 Filename              'XXXXXXXXXXX'
--#
--# WARNING: Offset 0x947: Filename 'XXXXXXXXXXX'
--#          Zero length filename
--#
 -0952 PAYLOAD
 -
 -0AB5 CENTRAL HEADER #1     02014B50 (33639248)
@@ -222,10 +206,6 @@
 +0659 Filename Length       0007 (7)
 +065B Extra Length          0000 (0)
 +065D Filename              'XXXXXXX'
-+#
-+# WARNING: Offset 0x65D: Filename 'XXXXXXX'
-+#          Zero length filename
-+#
 +0664 PAYLOAD
 +
 +07A0 LOCAL HEADER #8       04034B50 (67324752)
@@ -242,10 +222,6 @@
 +07BA Filename Length       0009 (9)
 +07BC Extra Length          0000 (0)
 +07BE Filename              'XXXXXXXXX'
-+#
-+# WARNING: Offset 0x7BE: Filename 'XXXXXXXXX'
-+#          Zero length filename
-+#
 +07C7 PAYLOAD
 +
 +0926 LOCAL HEADER #9       04034B50 (67324752)
@@ -262,10 +238,6 @@
 +0940 Filename Length       000B (11)
 +0942 Extra Length          0000 (0)
 +0944 Filename              'XXXXXXXXXXX'
-+#
-+# WARNING: Offset 0x944: Filename 'XXXXXXXXXXX'
-+#          Zero length filename
-+#
 +094F PAYLOAD
 +
 +0AB2 CENTRAL HEADER #1     02014B50 (33639248)
@@ -289,16 +261,7 @@
 -0ADB Ext File Attributes   00000000 (0)
 -0ADF Local Header Offset   00000000 (0)
 -0AE3 Filename              'XXXXXXXX'
--#
--# WARNING: Offset 0xAE3: Filename 'XXXXXXXX'
-+0AD8 Ext File Attributes   00000000 (0)
-+0ADC Local Header Offset   00000000 (0)
-+0AE0 Filename              'XXXXXXXX'
-+#
-+# WARNING: Offset 0xAE0: Filename 'XXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0AEB CENTRAL HEADER #2     02014B50 (33639248)
 -0AEF Created Zip Spec      00 (0) '0.0'
 -0AF0 Created OS            00 (0) 'MS-DOS'
@@ -317,6 +280,10 @@
 -0B0B Comment Length        0000 (0)
 -0B0D Disk Start            0000 (0)
 -0B0F Int File Attributes   0000 (0)
++0AD8 Ext File Attributes   00000000 (0)
++0ADC Local Header Offset   00000000 (0)
++0AE0 Filename              'XXXXXXXX'
++
 +0AE8 CENTRAL HEADER #2     02014B50 (33639248)
 +0AEC Created Zip Spec      00 (0) '0.0'
 +0AED Created OS            00 (0) 'MS-DOS'
@@ -339,16 +306,7 @@
 -0B11 Ext File Attributes   00000000 (0)
 -0B15 Local Header Offset   0000003A (58)
 -0B19 Filename              'XXXXXXXXXXXXXXXXXXXXXX'
--#
--# WARNING: Offset 0xB19: Filename 'XXXXXXXXXXXXXXXXXXXXXX'
-+0B0E Ext File Attributes   00000000 (0)
-+0B12 Local Header Offset   0000003A (58)
-+0B16 Filename              'XXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xB16: Filename 'XXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0B2F CENTRAL HEADER #3     02014B50 (33639248)
 -0B33 Created Zip Spec      00 (0) '0.0'
 -0B34 Created OS            00 (0) 'MS-DOS'
@@ -367,6 +325,10 @@
 -0B4F Comment Length        0000 (0)
 -0B51 Disk Start            0000 (0)
 -0B53 Int File Attributes   0000 (0)
++0B0E Ext File Attributes   00000000 (0)
++0B12 Local Header Offset   0000003A (58)
++0B16 Filename              'XXXXXXXXXXXXXXXXXXXXXX'
++
 +0B2C CENTRAL HEADER #3     02014B50 (33639248)
 +0B30 Created Zip Spec      00 (0) '0.0'
 +0B31 Created OS            00 (0) 'MS-DOS'
@@ -389,16 +351,7 @@
 -0B55 Ext File Attributes   00000000 (0)
 -0B59 Local Header Offset   00000114 (276)
 -0B5D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
--#
--# WARNING: Offset 0xB5D: Filename 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+0B52 Ext File Attributes   00000000 (0)
-+0B56 Local Header Offset   00000114 (276)
-+0B5A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xB5A: Filename 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0B8A CENTRAL HEADER #4     02014B50 (33639248)
 -0B8E Created Zip Spec      00 (0) '0.0'
 -0B8F Created OS            00 (0) 'MS-DOS'
@@ -417,6 +370,10 @@
 -0BAA Comment Length        0000 (0)
 -0BAC Disk Start            0000 (0)
 -0BAE Int File Attributes   0000 (0)
++0B52 Ext File Attributes   00000000 (0)
++0B56 Local Header Offset   00000114 (276)
++0B5A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
++
 +0B87 CENTRAL HEADER #4     02014B50 (33639248)
 +0B8B Created Zip Spec      00 (0) '0.0'
 +0B8C Created OS            00 (0) 'MS-DOS'
@@ -439,16 +396,7 @@
 -0BB0 Ext File Attributes   00000000 (0)
 -0BB4 Local Header Offset   000001D6 (470)
 -0BB8 Filename              'XXXXXXXXXXXXXX'
--#
--# WARNING: Offset 0xBB8: Filename 'XXXXXXXXXXXXXX'
-+0BAD Ext File Attributes   00000000 (0)
-+0BB1 Local Header Offset   000001D6 (470)
-+0BB5 Filename              'XXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xBB5: Filename 'XXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0BC6 CENTRAL HEADER #5     02014B50 (33639248)
 -0BCA Created Zip Spec      00 (0) '0.0'
 -0BCB Created OS            00 (0) 'MS-DOS'
@@ -467,6 +415,10 @@
 -0BE6 Comment Length        0000 (0)
 -0BE8 Disk Start            0000 (0)
 -0BEA Int File Attributes   0000 (0)
++0BAD Ext File Attributes   00000000 (0)
++0BB1 Local Header Offset   000001D6 (470)
++0BB5 Filename              'XXXXXXXXXXXXXX'
++
 +0BC3 CENTRAL HEADER #5     02014B50 (33639248)
 +0BC7 Created Zip Spec      00 (0) '0.0'
 +0BC8 Created OS            00 (0) 'MS-DOS'
@@ -489,16 +441,7 @@
 -0BEC Ext File Attributes   00000000 (0)
 -0BF0 Local Header Offset   000002DF (735)
 -0BF4 Filename              'XXXXXXXXXXXXXXXX'
--#
--# WARNING: Offset 0xBF4: Filename 'XXXXXXXXXXXXXXXX'
-+0BE9 Ext File Attributes   00000000 (0)
-+0BED Local Header Offset   000002DF (735)
-+0BF1 Filename              'XXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xBF1: Filename 'XXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0C04 CENTRAL HEADER #6     02014B50 (33639248)
 -0C08 Created Zip Spec      00 (0) '0.0'
 -0C09 Created OS            00 (0) 'MS-DOS'
@@ -517,6 +460,10 @@
 -0C24 Comment Length        0000 (0)
 -0C26 Disk Start            0000 (0)
 -0C28 Int File Attributes   0000 (0)
++0BE9 Ext File Attributes   00000000 (0)
++0BED Local Header Offset   000002DF (735)
++0BF1 Filename              'XXXXXXXXXXXXXXXX'
++
 +0C01 CENTRAL HEADER #6     02014B50 (33639248)
 +0C05 Created Zip Spec      00 (0) '0.0'
 +0C06 Created OS            00 (0) 'MS-DOS'
@@ -539,16 +486,7 @@
 -0C2A Ext File Attributes   00000000 (0)
 -0C2E Local Header Offset   0000043B (1083)
 -0C32 Filename              'XXXXXXXXXXX'
--#
--# WARNING: Offset 0xC32: Filename 'XXXXXXXXXXX'
-+0C27 Ext File Attributes   00000000 (0)
-+0C2B Local Header Offset   0000043B (1083)
-+0C2F Filename              'XXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xC2F: Filename 'XXXXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0C3D CENTRAL HEADER #7     02014B50 (33639248)
 -0C41 Created Zip Spec      00 (0) '0.0'
 -0C42 Created OS            00 (0) 'MS-DOS'
@@ -567,6 +505,10 @@
 -0C5D Comment Length        0000 (0)
 -0C5F Disk Start            0000 (0)
 -0C61 Int File Attributes   0000 (0)
++0C27 Ext File Attributes   00000000 (0)
++0C2B Local Header Offset   0000043B (1083)
++0C2F Filename              'XXXXXXXXXXX'
++
 +0C3A CENTRAL HEADER #7     02014B50 (33639248)
 +0C3E Created Zip Spec      00 (0) '0.0'
 +0C3F Created OS            00 (0) 'MS-DOS'
@@ -589,16 +531,7 @@
 -0C63 Ext File Attributes   00000000 (0)
 -0C67 Local Header Offset   00000640 (1600)
 -0C6B Filename              'XXXXXXX'
--#
--# WARNING: Offset 0xC6B: Filename 'XXXXXXX'
-+0C60 Ext File Attributes   00000000 (0)
-+0C64 Local Header Offset   0000063F (1599)
-+0C68 Filename              'XXXXXXX'
-+#
-+# WARNING: Offset 0xC68: Filename 'XXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0C72 CENTRAL HEADER #8     02014B50 (33639248)
 -0C76 Created Zip Spec      00 (0) '0.0'
 -0C77 Created OS            00 (0) 'MS-DOS'
@@ -617,6 +550,10 @@
 -0C92 Comment Length        0000 (0)
 -0C94 Disk Start            0000 (0)
 -0C96 Int File Attributes   0000 (0)
++0C60 Ext File Attributes   00000000 (0)
++0C64 Local Header Offset   0000063F (1599)
++0C68 Filename              'XXXXXXX'
++
 +0C6F CENTRAL HEADER #8     02014B50 (33639248)
 +0C73 Created Zip Spec      00 (0) '0.0'
 +0C74 Created OS            00 (0) 'MS-DOS'
@@ -639,16 +576,7 @@
 -0C98 Ext File Attributes   00000000 (0)
 -0C9C Local Header Offset   000007A3 (1955)
 -0CA0 Filename              'XXXXXXXXX'
--#
--# WARNING: Offset 0xCA0: Filename 'XXXXXXXXX'
-+0C95 Ext File Attributes   00000000 (0)
-+0C99 Local Header Offset   000007A0 (1952)
-+0C9D Filename              'XXXXXXXXX'
-+#
-+# WARNING: Offset 0xC9D: Filename 'XXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0CA9 CENTRAL HEADER #9     02014B50 (33639248)
 -0CAD Created Zip Spec      00 (0) '0.0'
 -0CAE Created OS            00 (0) 'MS-DOS'
@@ -667,6 +595,10 @@
 -0CC9 Comment Length        0000 (0)
 -0CCB Disk Start            0000 (0)
 -0CCD Int File Attributes   0000 (0)
++0C95 Ext File Attributes   00000000 (0)
++0C99 Local Header Offset   000007A0 (1952)
++0C9D Filename              'XXXXXXXXX'
++
 +0CA6 CENTRAL HEADER #9     02014B50 (33639248)
 +0CAA Created Zip Spec      00 (0) '0.0'
 +0CAB Created OS            00 (0) 'MS-DOS'
@@ -689,16 +621,7 @@
 -0CCF Ext File Attributes   00000000 (0)
 -0CD3 Local Header Offset   00000929 (2345)
 -0CD7 Filename              'XXXXXXXXXXX'
--#
--# WARNING: Offset 0xCD7: Filename 'XXXXXXXXXXX'
-+0CCC Ext File Attributes   00000000 (0)
-+0CD0 Local Header Offset   00000926 (2342)
-+0CD4 Filename              'XXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xCD4: Filename 'XXXXXXXXXXX'
- #          Zero length filename
- #
- 
+-
 -0CE2 END CENTRAL HEADER    06054B50 (101010256)
 -0CE6 Number of this disk   0000 (0)
 -0CE8 Central Dir Disk no   0000 (0)
@@ -707,6 +630,10 @@
 -0CEE Size of Central Dir   0000022D (557)
 -0CF2 Offset to Central Dir 00000AB5 (2741)
 -0CF6 Comment Length        0000 (0)
++0CCC Ext File Attributes   00000000 (0)
++0CD0 Local Header Offset   00000926 (2342)
++0CD4 Filename              'XXXXXXXXXXX'
++
 +0CDF END CENTRAL HEADER    06054B50 (101010256)
 +0CE3 Number of this disk   0000 (0)
 +0CE5 Central Dir Disk no   0000 (0)
@@ -716,8 +643,6 @@
 +0CEF Offset to Central Dir 00000AB2 (2738)
 +0CF3 Comment Length        0000 (0)
  #
- # Warning Count: 18
- #
  # Done
 
 @@ -1,13 +1,13 @@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/diffoscope-322/tests/data/jmod_zipdetails_expected_diff 
new/diffoscope-329/tests/data/jmod_zipdetails_expected_diff
--- old/diffoscope-322/tests/data/jmod_zipdetails_expected_diff 2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/data/jmod_zipdetails_expected_diff 2026-08-21 
17:26:26.000000000 +0200
@@ -1,4 +1,4 @@
-@@ -8,228 +8,392 @@
+@@ -8,195 +8,335 @@
  0008 Extract Zip Spec      14 (20) '2.0'
  0009 Extract OS            00 (0) 'MS-DOS'
  000A General Purpose Flag  0808 (2056)
@@ -14,10 +14,6 @@
  001E Filename Length       0019 (25)
  0020 Extra Length          0000 (0)
  0022 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXX'
- #
- # WARNING: Offset 0x22: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
 -003B PAYLOAD
 +003B PAYLOAD               
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +                           
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
@@ -26,6 +22,177 @@
 -01C2 CRC                   6587172C (1703352108)
 -01C6 Compressed Size       00000183 (387)
 -01CA Uncompressed Size     000002A8 (680)
+-
+-01CE LOCAL HEADER #2       04034B50 (67324752)
+-01D2 Extract Zip Spec      14 (20) '2.0'
+-01D3 Extract OS            00 (0) 'MS-DOS'
+-01D4 General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-01D6 Compression Method    0008 (8) 'Deflated'
+-01D8 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-01DC CRC                   00000000 (0)
+-01E0 Compressed Size       00000000 (0)
+-01E4 Uncompressed Size     00000000 (0)
+-01E8 Filename Length       001D (29)
+-01EA Extra Length          0000 (0)
+-01EC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
+-0209 PAYLOAD
+-
+-05C7 DATA DESCRIPTOR       08074B50 (134695760)
+-05CB CRC                   520F887B (1376749691)
+-05CF Compressed Size       000003BE (958)
+-05D3 Uncompressed Size     00000842 (2114)
+-
+-05D7 LOCAL HEADER #3       04034B50 (67324752)
+-05DB Extract Zip Spec      14 (20) '2.0'
+-05DC Extract OS            00 (0) 'MS-DOS'
+-05DD General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-05DF Compression Method    0008 (8) 'Deflated'
+-05E1 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-05E5 CRC                   00000000 (0)
+-05E9 Compressed Size       00000000 (0)
+-05ED Uncompressed Size     00000000 (0)
+-05F1 Filename Length       0018 (24)
+-05F3 Extra Length          0000 (0)
+-05F5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'
+-060D PAYLOAD
+-
+-08F6 DATA DESCRIPTOR       08074B50 (134695760)
+-08FA CRC                   0CA3AB2B (212052779)
+-08FE Compressed Size       000002E9 (745)
+-0902 Uncompressed Size     000005F2 (1522)
+-
+-0906 LOCAL HEADER #4       04034B50 (67324752)
+-090A Extract Zip Spec      14 (20) '2.0'
+-090B Extract OS            00 (0) 'MS-DOS'
+-090C General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-090E Compression Method    0008 (8) 'Deflated'
+-0910 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-0914 CRC                   00000000 (0)
+-0918 Compressed Size       00000000 (0)
+-091C Uncompressed Size     00000000 (0)
+-0920 Filename Length       000D (13)
+-0922 Extra Length          0000 (0)
+-0924 Filename              'XXXXXXXXXXXXX'
+-0931 PAYLOAD
+-
+-2548 DATA DESCRIPTOR       08074B50 (134695760)
+-254C CRC                   D5B79B3B (3585579835)
+-2550 Compressed Size       00001C17 (7191)
+-2554 Uncompressed Size     00004B4A (19274)
+-
+-2558 CENTRAL HEADER #1     02014B50 (33639248)
+-255C Created Zip Spec      14 (20) '2.0'
+-255D Created OS            00 (0) 'MS-DOS'
+-255E Extract Zip Spec      14 (20) '2.0'
+-255F Extract OS            00 (0) 'MS-DOS'
+-2560 General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-2562 Compression Method    0008 (8) 'Deflated'
+-2564 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-2568 CRC                   6587172C (1703352108)
+-256C Compressed Size       00000183 (387)
+-2570 Uncompressed Size     000002A8 (680)
+-2574 Filename Length       0019 (25)
+-2576 Extra Length          0000 (0)
+-2578 Comment Length        0000 (0)
+-257A Disk Start            0000 (0)
+-257C Int File Attributes   0000 (0)
+-     [Bit 0]               0 'Binary Data'
+-257E Ext File Attributes   00000000 (0)
+-2582 Local Header Offset   00000000 (0) [Actual Offset is 00000004 (4)]
+-2586 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXX'
+-
+-259F CENTRAL HEADER #2     02014B50 (33639248)
+-25A3 Created Zip Spec      14 (20) '2.0'
+-25A4 Created OS            00 (0) 'MS-DOS'
+-25A5 Extract Zip Spec      14 (20) '2.0'
+-25A6 Extract OS            00 (0) 'MS-DOS'
+-25A7 General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-25A9 Compression Method    0008 (8) 'Deflated'
+-25AB Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-25AF CRC                   520F887B (1376749691)
+-25B3 Compressed Size       000003BE (958)
+-25B7 Uncompressed Size     00000842 (2114)
+-25BB Filename Length       001D (29)
+-25BD Extra Length          0000 (0)
+-25BF Comment Length        0000 (0)
+-25C1 Disk Start            0000 (0)
+-25C3 Int File Attributes   0000 (0)
+-     [Bit 0]               0 'Binary Data'
+-25C5 Ext File Attributes   00000000 (0)
+-25C9 Local Header Offset   000001CA (458) [Actual Offset is 000001CE (462)]
+-25CD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
+-
+-25EA CENTRAL HEADER #3     02014B50 (33639248)
+-25EE Created Zip Spec      14 (20) '2.0'
+-25EF Created OS            00 (0) 'MS-DOS'
+-25F0 Extract Zip Spec      14 (20) '2.0'
+-25F1 Extract OS            00 (0) 'MS-DOS'
+-25F2 General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-25F4 Compression Method    0008 (8) 'Deflated'
+-25F6 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-25FA CRC                   0CA3AB2B (212052779)
+-25FE Compressed Size       000002E9 (745)
+-2602 Uncompressed Size     000005F2 (1522)
+-2606 Filename Length       0018 (24)
+-2608 Extra Length          0000 (0)
+-260A Comment Length        0000 (0)
+-260C Disk Start            0000 (0)
+-260E Int File Attributes   0000 (0)
+-     [Bit 0]               0 'Binary Data'
+-2610 Ext File Attributes   00000000 (0)
+-2614 Local Header Offset   000005D3 (1491) [Actual Offset is 000005D7 (1495)]
+-2618 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'
+-
+-2630 CENTRAL HEADER #4     02014B50 (33639248)
+-2634 Created Zip Spec      14 (20) '2.0'
+-2635 Created OS            00 (0) 'MS-DOS'
+-2636 Extract Zip Spec      14 (20) '2.0'
+-2637 Extract OS            00 (0) 'MS-DOS'
+-2638 General Purpose Flag  0808 (2056)
+-     [Bits 1-2]            0 'Normal Compression'
+-     [Bit  3]              1 'Streamed'
+-     [Bit 11]              1 'Language Encoding'
+-263A Compression Method    0008 (8) 'Deflated'
+-263C Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
+-2640 CRC                   D5B79B3B (3585579835)
+-2644 Compressed Size       00001C17 (7191)
+-2648 Uncompressed Size     00004B4A (19274)
+-264C Filename Length       000D (13)
+-264E Extra Length          0000 (0)
+-2650 Comment Length        0000 (0)
+-2652 Disk Start            0000 (0)
+-2654 Int File Attributes   0000 (0)
+-     [Bit 0]               0 'Binary Data'
+-2656 Ext File Attributes   00000000 (0)
+-265A Local Header Offset   00000902 (2306) [Actual Offset is 00000906 (2310)]
+-265E Filename              'XXXXXXXXXXXXX'
+-
+-266B END CENTRAL HEADER    06054B50 (101010256)
+-266F Number of this disk   0000 (0)
+-2671 Central Dir Disk no   0000 (0)
+-2673 Entries in this disk  0004 (4)
+-2675 Total Entries         0004 (4)
+-2677 Size of Central Dir   00000113 (275)
+-267B Offset to Central Dir 00002554 (9556) [Actual Offset is 00002558 (9560)]
+-267F Comment Length        0000 (0)
 +00F5 DATA DESCRIPTOR       08074B50 (134695760)
 +00F9 CRC                   501CDF4F (1344069455)
 +00FD Compressed Size       000000BA (186)
@@ -46,17 +213,9 @@
 +011F Filename Length       0026 (38)
 +0121 Extra Length          0000 (0)
 +0123 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0x123: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#          Zero length filename
-+#
 +0149 PAYLOAD               
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 +                           
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- 
--01CE LOCAL HEADER #2       04034B50 (67324752)
--01D2 Extract Zip Spec      14 (20) '2.0'
--01D3 Extract OS            00 (0) 'MS-DOS'
--01D4 General Purpose Flag  0808 (2056)
++
 +022C DATA DESCRIPTOR       08074B50 (134695760)
 +0230 CRC                   908EB8AB (2425272491)
 +0234 Compressed Size       000000E3 (227)
@@ -66,17 +225,9 @@
 +0240 Extract Zip Spec      14 (20) '2.0'
 +0241 Extract OS            00 (0) 'MS-DOS'
 +0242 General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--01D6 Compression Method    0008 (8) 'Deflated'
--01D8 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--01DC CRC                   00000000 (0)
--01E0 Compressed Size       00000000 (0)
--01E4 Uncompressed Size     00000000 (0)
--01E8 Filename Length       001D (29)
--01EA Extra Length          0000 (0)
--01EC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +0244 Compression Method    0008 (8) 'Deflated'
 +0246 Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +024A CRC                   00000000 (0)
@@ -85,18 +236,8 @@
 +0256 Filename Length       002D (45)
 +0258 Extra Length          0000 (0)
 +025A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x1EC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+# WARNING: Offset 0x25A: Filename 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
--0209 PAYLOAD
 +0287 PAYLOAD
- 
--05C7 DATA DESCRIPTOR       08074B50 (134695760)
--05CB CRC                   520F887B (1376749691)
--05CF Compressed Size       000003BE (958)
--05D3 Uncompressed Size     00000842 (2114)
++
 +0479 DATA DESCRIPTOR       08074B50 (134695760)
 +047D CRC                   DBE690DE (3689320670)
 +0481 Compressed Size       000001F2 (498)
@@ -117,16 +258,8 @@
 +04A3 Filename Length       002E (46)
 +04A5 Extra Length          0000 (0)
 +04A7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0x4A7: Filename 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#          Zero length filename
-+#
 +04D5 PAYLOAD
- 
--05D7 LOCAL HEADER #3       04034B50 (67324752)
--05DB Extract Zip Spec      14 (20) '2.0'
--05DC Extract OS            00 (0) 'MS-DOS'
--05DD General Purpose Flag  0808 (2056)
++
 +07CA DATA DESCRIPTOR       08074B50 (134695760)
 +07CE CRC                   2DCCF7D4 (768407508)
 +07D2 Compressed Size       000002F5 (757)
@@ -136,17 +269,9 @@
 +07DE Extract Zip Spec      14 (20) '2.0'
 +07DF Extract OS            00 (0) 'MS-DOS'
 +07E0 General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--05DF Compression Method    0008 (8) 'Deflated'
--05E1 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--05E5 CRC                   00000000 (0)
--05E9 Compressed Size       00000000 (0)
--05ED Uncompressed Size     00000000 (0)
--05F1 Filename Length       0018 (24)
--05F3 Extra Length          0000 (0)
--05F5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +07E2 Compression Method    0008 (8) 'Deflated'
 +07E4 Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +07E8 CRC                   00000000 (0)
@@ -155,18 +280,8 @@
 +07F4 Filename Length       001D (29)
 +07F6 Extra Length          0000 (0)
 +07F8 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x5F5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'
-+# WARNING: Offset 0x7F8: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
--060D PAYLOAD
 +0815 PAYLOAD
- 
--08F6 DATA DESCRIPTOR       08074B50 (134695760)
--08FA CRC                   0CA3AB2B (212052779)
--08FE Compressed Size       000002E9 (745)
--0902 Uncompressed Size     000005F2 (1522)
++
 +0BD3 DATA DESCRIPTOR       08074B50 (134695760)
 +0BD7 CRC                   520F887B (1376749691)
 +0BDB Compressed Size       000003BE (958)
@@ -187,16 +302,8 @@
 +0BFD Filename Length       0018 (24)
 +0BFF Extra Length          0000 (0)
 +0C01 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0xC01: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'
-+#          Zero length filename
-+#
 +0C19 PAYLOAD
- 
--0906 LOCAL HEADER #4       04034B50 (67324752)
--090A Extract Zip Spec      14 (20) '2.0'
--090B Extract OS            00 (0) 'MS-DOS'
--090C General Purpose Flag  0808 (2056)
++
 +0F02 DATA DESCRIPTOR       08074B50 (134695760)
 +0F06 CRC                   0CA3AB2B (212052779)
 +0F0A Compressed Size       000002E9 (745)
@@ -206,17 +313,9 @@
 +0F16 Extract Zip Spec      14 (20) '2.0'
 +0F17 Extract OS            00 (0) 'MS-DOS'
 +0F18 General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--090E Compression Method    0008 (8) 'Deflated'
--0910 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--0914 CRC                   00000000 (0)
--0918 Compressed Size       00000000 (0)
--091C Uncompressed Size     00000000 (0)
--0920 Filename Length       000D (13)
--0922 Extra Length          0000 (0)
--0924 Filename              'XXXXXXXXXXXXX'
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +0F1A Compression Method    0008 (8) 'Deflated'
 +0F1C Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +0F20 CRC                   00000000 (0)
@@ -225,18 +324,8 @@
 +0F2C Filename Length       000D (13)
 +0F2E Extra Length          0000 (0)
 +0F30 Filename              'XXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x924: Filename 'XXXXXXXXXXXXX'
-+# WARNING: Offset 0xF30: Filename 'XXXXXXXXXXXXX'
- #          Zero length filename
- #
--0931 PAYLOAD
 +0F3D PAYLOAD
- 
--2548 DATA DESCRIPTOR       08074B50 (134695760)
--254C CRC                   D5B79B3B (3585579835)
--2550 Compressed Size       00001C17 (7191)
--2554 Uncompressed Size     00004B4A (19274)
++
 +2B54 DATA DESCRIPTOR       08074B50 (134695760)
 +2B58 CRC                   D5B79B3B (3585579835)
 +2B5C Compressed Size       00001C17 (7191)
@@ -265,10 +354,6 @@
 +2B8A Ext File Attributes   00000000 (0)
 +2B8E Local Header Offset   00000000 (0) [Actual Offset is 00000004 (4)]
 +2B92 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0x2B92: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXX'
-+#          Zero length filename
-+#
 +
 +2BAB CENTRAL HEADER #2     02014B50 (33639248)
 +2BAF Created Zip Spec      14 (20) '2.0'
@@ -293,10 +378,6 @@
 +2BD1 Ext File Attributes   00000000 (0)
 +2BD5 Local Header Offset   00000101 (257) [Actual Offset is 00000105 (261)]
 +2BD9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0x2BD9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#          Zero length filename
-+#
 +
 +2BFF CENTRAL HEADER #3     02014B50 (33639248)
 +2C03 Created Zip Spec      14 (20) '2.0'
@@ -321,36 +402,16 @@
 +2C25 Ext File Attributes   00000000 (0)
 +2C29 Local Header Offset   00000238 (568) [Actual Offset is 0000023C (572)]
 +2C2D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#
-+# WARNING: Offset 0x2C2D: Filename 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+#          Zero length filename
-+#
- 
--2558 CENTRAL HEADER #1     02014B50 (33639248)
--255C Created Zip Spec      14 (20) '2.0'
--255D Created OS            00 (0) 'MS-DOS'
--255E Extract Zip Spec      14 (20) '2.0'
--255F Extract OS            00 (0) 'MS-DOS'
--2560 General Purpose Flag  0808 (2056)
++
 +2C5A CENTRAL HEADER #4     02014B50 (33639248)
 +2C5E Created Zip Spec      14 (20) '2.0'
 +2C5F Created OS            00 (0) 'MS-DOS'
 +2C60 Extract Zip Spec      14 (20) '2.0'
 +2C61 Extract OS            00 (0) 'MS-DOS'
 +2C62 General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--2562 Compression Method    0008 (8) 'Deflated'
--2564 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--2568 CRC                   6587172C (1703352108)
--256C Compressed Size       00000183 (387)
--2570 Uncompressed Size     000002A8 (680)
--2574 Filename Length       0019 (25)
--2576 Extra Length          0000 (0)
--2578 Comment Length        0000 (0)
--257A Disk Start            0000 (0)
--257C Int File Attributes   0000 (0)
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +2C64 Compression Method    0008 (8) 'Deflated'
 +2C66 Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +2C6A CRC                   2DCCF7D4 (768407508)
@@ -361,44 +422,20 @@
 +2C7A Comment Length        0000 (0)
 +2C7C Disk Start            0000 (0)
 +2C7E Int File Attributes   0000 (0)
-      [Bit 0]               0 'Binary Data'
--257E Ext File Attributes   00000000 (0)
--2582 Local Header Offset   00000000 (0) [Actual Offset is 00000004 (4)]
--2586 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXX'
++     [Bit 0]               0 'Binary Data'
 +2C80 Ext File Attributes   00000000 (0)
 +2C84 Local Header Offset   00000485 (1157) [Actual Offset is 00000489 (1161)]
 +2C88 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x2586: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXX'
-+# WARNING: Offset 0x2C88: Filename 
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
--259F CENTRAL HEADER #2     02014B50 (33639248)
--25A3 Created Zip Spec      14 (20) '2.0'
--25A4 Created OS            00 (0) 'MS-DOS'
--25A5 Extract Zip Spec      14 (20) '2.0'
--25A6 Extract OS            00 (0) 'MS-DOS'
--25A7 General Purpose Flag  0808 (2056)
++
 +2CB6 CENTRAL HEADER #5     02014B50 (33639248)
 +2CBA Created Zip Spec      14 (20) '2.0'
 +2CBB Created OS            00 (0) 'MS-DOS'
 +2CBC Extract Zip Spec      14 (20) '2.0'
 +2CBD Extract OS            00 (0) 'MS-DOS'
 +2CBE General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--25A9 Compression Method    0008 (8) 'Deflated'
--25AB Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--25AF CRC                   520F887B (1376749691)
--25B3 Compressed Size       000003BE (958)
--25B7 Uncompressed Size     00000842 (2114)
--25BB Filename Length       001D (29)
--25BD Extra Length          0000 (0)
--25BF Comment Length        0000 (0)
--25C1 Disk Start            0000 (0)
--25C3 Int File Attributes   0000 (0)
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +2CC0 Compression Method    0008 (8) 'Deflated'
 +2CC2 Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +2CC6 CRC                   520F887B (1376749691)
@@ -409,44 +446,20 @@
 +2CD6 Comment Length        0000 (0)
 +2CD8 Disk Start            0000 (0)
 +2CDA Int File Attributes   0000 (0)
-      [Bit 0]               0 'Binary Data'
--25C5 Ext File Attributes   00000000 (0)
--25C9 Local Header Offset   000001CA (458) [Actual Offset is 000001CE (462)]
--25CD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
++     [Bit 0]               0 'Binary Data'
 +2CDC Ext File Attributes   00000000 (0)
 +2CE0 Local Header Offset   000007D6 (2006) [Actual Offset is 000007DA (2010)]
 +2CE4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x25CD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
-+# WARNING: Offset 0x2CE4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
--25EA CENTRAL HEADER #3     02014B50 (33639248)
--25EE Created Zip Spec      14 (20) '2.0'
--25EF Created OS            00 (0) 'MS-DOS'
--25F0 Extract Zip Spec      14 (20) '2.0'
--25F1 Extract OS            00 (0) 'MS-DOS'
--25F2 General Purpose Flag  0808 (2056)
++
 +2D01 CENTRAL HEADER #6     02014B50 (33639248)
 +2D05 Created Zip Spec      14 (20) '2.0'
 +2D06 Created OS            00 (0) 'MS-DOS'
 +2D07 Extract Zip Spec      14 (20) '2.0'
 +2D08 Extract OS            00 (0) 'MS-DOS'
 +2D09 General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--25F4 Compression Method    0008 (8) 'Deflated'
--25F6 Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--25FA CRC                   0CA3AB2B (212052779)
--25FE Compressed Size       000002E9 (745)
--2602 Uncompressed Size     000005F2 (1522)
--2606 Filename Length       0018 (24)
--2608 Extra Length          0000 (0)
--260A Comment Length        0000 (0)
--260C Disk Start            0000 (0)
--260E Int File Attributes   0000 (0)
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +2D0B Compression Method    0008 (8) 'Deflated'
 +2D0D Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +2D11 CRC                   0CA3AB2B (212052779)
@@ -457,44 +470,20 @@
 +2D21 Comment Length        0000 (0)
 +2D23 Disk Start            0000 (0)
 +2D25 Int File Attributes   0000 (0)
-      [Bit 0]               0 'Binary Data'
--2610 Ext File Attributes   00000000 (0)
--2614 Local Header Offset   000005D3 (1491) [Actual Offset is 000005D7 (1495)]
--2618 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'
++     [Bit 0]               0 'Binary Data'
 +2D27 Ext File Attributes   00000000 (0)
 +2D2B Local Header Offset   00000BDF (3039) [Actual Offset is 00000BE3 (3043)]
 +2D2F Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x2618: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'
-+# WARNING: Offset 0x2D2F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
--2630 CENTRAL HEADER #4     02014B50 (33639248)
--2634 Created Zip Spec      14 (20) '2.0'
--2635 Created OS            00 (0) 'MS-DOS'
--2636 Extract Zip Spec      14 (20) '2.0'
--2637 Extract OS            00 (0) 'MS-DOS'
--2638 General Purpose Flag  0808 (2056)
++
 +2D47 CENTRAL HEADER #7     02014B50 (33639248)
 +2D4B Created Zip Spec      14 (20) '2.0'
 +2D4C Created OS            00 (0) 'MS-DOS'
 +2D4D Extract Zip Spec      14 (20) '2.0'
 +2D4E Extract OS            00 (0) 'MS-DOS'
 +2D4F General Purpose Flag  0808 (2056)
-      [Bits 1-2]            0 'Normal Compression'
-      [Bit  3]              1 'Streamed'
-      [Bit 11]              1 'Language Encoding'
--263A Compression Method    0008 (8) 'Deflated'
--263C Modification Time     4EF126D9 (1324426969) 'Wed Jul 17 04:54:50 2019'
--2640 CRC                   D5B79B3B (3585579835)
--2644 Compressed Size       00001C17 (7191)
--2648 Uncompressed Size     00004B4A (19274)
--264C Filename Length       000D (13)
--264E Extra Length          0000 (0)
--2650 Comment Length        0000 (0)
--2652 Disk Start            0000 (0)
--2654 Int File Attributes   0000 (0)
++     [Bits 1-2]            0 'Normal Compression'
++     [Bit  3]              1 'Streamed'
++     [Bit 11]              1 'Language Encoding'
 +2D51 Compression Method    0008 (8) 'Deflated'
 +2D53 Modification Time     4EF126DA (1324426970) 'Wed Jul 17 04:54:52 2019'
 +2D57 CRC                   D5B79B3B (3585579835)
@@ -505,27 +494,11 @@
 +2D67 Comment Length        0000 (0)
 +2D69 Disk Start            0000 (0)
 +2D6B Int File Attributes   0000 (0)
-      [Bit 0]               0 'Binary Data'
--2656 Ext File Attributes   00000000 (0)
--265A Local Header Offset   00000902 (2306) [Actual Offset is 00000906 (2310)]
--265E Filename              'XXXXXXXXXXXXX'
++     [Bit 0]               0 'Binary Data'
 +2D6D Ext File Attributes   00000000 (0)
 +2D71 Local Header Offset   00000F0E (3854) [Actual Offset is 00000F12 (3858)]
 +2D75 Filename              'XXXXXXXXXXXXX'
- #
--# WARNING: Offset 0x265E: Filename 'XXXXXXXXXXXXX'
-+# WARNING: Offset 0x2D75: Filename 'XXXXXXXXXXXXX'
- #          Zero length filename
- #
- 
--266B END CENTRAL HEADER    06054B50 (101010256)
--266F Number of this disk   0000 (0)
--2671 Central Dir Disk no   0000 (0)
--2673 Entries in this disk  0004 (4)
--2675 Total Entries         0004 (4)
--2677 Size of Central Dir   00000113 (275)
--267B Offset to Central Dir 00002554 (9556) [Actual Offset is 00002558 (9560)]
--267F Comment Length        0000 (0)
++
 +2D82 END CENTRAL HEADER    06054B50 (101010256)
 +2D86 Number of this disk   0000 (0)
 +2D88 Central Dir Disk no   0000 (0)
@@ -535,8 +508,6 @@
 +2D92 Offset to Central Dir 00002B60 (11104) [Actual Offset is 00002B64 
(11108)]
 +2D96 Comment Length        0000 (0)
  #
--# Warning Count: 8
-+# Warning Count: 14
  # Info Count: 1
  #
  # Done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/data/ocaml_expected_diff 
new/diffoscope-329/tests/data/ocaml_expected_diff
--- old/diffoscope-322/tests/data/ocaml_expected_diff   2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/data/ocaml_expected_diff   2026-08-21 
17:26:26.000000000 +0200
@@ -1,7 +1,3 @@
-@@ -1,6 +1,6 @@
--Unit name: Test1
-+Unit name: Test2
- Flags: [ Alerts _ ]
  Interfaces imported:
 -      351c2dc2fb4a56dac258b47c26262db6        Test1
 +      ac02205dc900024a67ede9f394c59d72        Test2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/diffoscope-322/tests/data/zip2_zipdetails_expected_diff 
new/diffoscope-329/tests/data/zip2_zipdetails_expected_diff
--- old/diffoscope-322/tests/data/zip2_zipdetails_expected_diff 2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/data/zip2_zipdetails_expected_diff 2026-08-21 
17:26:26.000000000 +0200
@@ -1,11 +1,11 @@
-@@ -44,16 +44,16 @@
- #
- # WARNING: Offset 0x5C: Filename 'XXXXXXXX'
- #          Zero length filename
- #
+@@ -36,16 +36,16 @@
+ 0054 Uncompressed Size     000001BE (446)
+ 0058 Filename Length       0008 (8)
+ 005A Extra Length          001C (28)
+ 005C Filename              'XXXXXXXX'
  0064 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'
  0066   Length              0009 (9)
- 0068   Flags               03 (3) 'Modification Access'
+ 0068   Flags               03 (3) 'Modification & Access'
 -0069   Modification Time   558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
 -006D   Access Time         558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015'
 +0069   Modification Time   41414141 (1094795585) 'Fri Sep 10 05:53:05 2004'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/diffoscope-322/tests/data/zip_zipdetails_expected_diff 
new/diffoscope-329/tests/data/zip_zipdetails_expected_diff
--- old/diffoscope-322/tests/data/zip_zipdetails_expected_diff  2026-06-26 
17:55:03.000000000 +0200
+++ new/diffoscope-329/tests/data/zip_zipdetails_expected_diff  2026-08-21 
17:26:26.000000000 +0200
@@ -1,4 +1,4 @@
-@@ -30,129 +30,129 @@
+@@ -26,117 +26,117 @@
  
  003E LOCAL HEADER #2       04034B50 (67324752)
  0042 Extract Zip Spec      14 (20) '2.0'
@@ -17,13 +17,9 @@
  0058 Filename Length       0008 (8)
  005A Extra Length          001C (28)
  005C Filename              'XXXXXXXX'
- #
- # WARNING: Offset 0x5C: Filename 'XXXXXXXX'
- #          Zero length filename
- #
  0064 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'
  0066   Length              0009 (9)
- 0068   Flags               03 (3) 'Modification Access'
+ 0068   Flags               03 (3) 'Modification & Access'
 -0069   Modification Time   558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
 +0069   Modification Time   558AB474 (1435153524) 'Wed Jun 24 13:45:24 2015'
  006D   Access Time         558AB45F (1435153503) 'Wed Jun 24 13:45:03 2015'
@@ -76,16 +72,9 @@
       [Bits 28-31]          04 (4) 'Directory'
 -01B7 Local Header Offset   00000000 (0)
 -01BB Filename              'XXXX'
-+0246 Local Header Offset   00000000 (0)
-+024A Filename              'XXXX'
- #
--# WARNING: Offset 0x1BB: Filename 'XXXX'
-+# WARNING: Offset 0x24A: Filename 'XXXX'
- #          Zero length filename
- #
 -01BF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'
 -01C1   Length              0005 (5)
--01C3   Flags               03 (3) 'Modification Access'
+-01C3   Flags               03 (3) 'Modification & Access'
 -01C4   Modification Time   558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
 -01C8 Extra ID #2           7875 (30837) 'Unix Extra type 3 [ux]'
 -01CA   Length              000B (11)
@@ -94,9 +83,11 @@
 -01CE   UID                 000003E8 (1000)
 -01D2   GID Size            04 (4)
 -01D3   GID                 000003E8 (1000)
++0246 Local Header Offset   00000000 (0)
++024A Filename              'XXXX'
 +024E Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'
 +0250   Length              0005 (5)
-+0252   Flags               03 (3) 'Modification Access'
++0252   Flags               03 (3) 'Modification & Access'
 +0253   Modification Time   558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
 +0257 Extra ID #2           7875 (30837) 'Unix Extra type 3 [ux]'
 +0259   Length              000B (11)
@@ -154,16 +145,9 @@
       [Bits 28-31]          08 (8) 'Regular File'
 -0201 Local Header Offset   0000003E (62)
 -0205 Filename              'XXXXXXXX'
-+0290 Local Header Offset   0000003E (62)
-+0294 Filename              'XXXXXXXX'
- #
--# WARNING: Offset 0x205: Filename 'XXXXXXXX'
-+# WARNING: Offset 0x294: Filename 'XXXXXXXX'
- #          Zero length filename
- #
 -020D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'
 -020F   Length              0005 (5)
--0211   Flags               03 (3) 'Modification Access'
+-0211   Flags               03 (3) 'Modification & Access'
 -0212   Modification Time   558AB455 (1435153493) 'Wed Jun 24 13:44:53 2015'
 -0216 Extra ID #2           7875 (30837) 'Unix Extra type 3 [ux]'
 -0218   Length              000B (11)
@@ -172,9 +156,11 @@
 -021C   UID                 000003E8 (1000)
 -0220   GID Size            04 (4)
 -0221   GID                 000003E8 (1000)
++0290 Local Header Offset   0000003E (62)
++0294 Filename              'XXXXXXXX'
 +029C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'
 +029E   Length              0005 (5)
-+02A0   Flags               03 (3) 'Modification Access'
++02A0   Flags               03 (3) 'Modification & Access'
 +02A1   Modification Time   558AB474 (1435153524) 'Wed Jun 24 13:45:24 2015'
 +02A5 Extra ID #2           7875 (30837) 'Unix Extra type 3 [ux]'
 +02A7   Length              000B (11)
@@ -202,6 +188,6 @@
 +02C8 Comment Length        0000 (0)
  #
  # Error Count: 1
- # Warning Count: 5
+ # Warning Count: 1
  #
  # Done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/diffoscope-322/tests/utils/data.py 
new/diffoscope-329/tests/utils/data.py
--- old/diffoscope-322/tests/utils/data.py      2026-06-26 17:55:03.000000000 
+0200
+++ new/diffoscope-329/tests/utils/data.py      2026-08-21 17:26:26.000000000 
+0200
@@ -3,7 +3,7 @@
 #
 # Copyright © 2015      Jérémy Bobbio <[email protected]>
 # Copyright © 2016-2017 Mattia Rizzolo <[email protected]>
-# Copyright © 2019-2023, 2025 Chris Lamb <[email protected]>
+# Copyright © 2019-2023, 2025-2026 Chris Lamb <[email protected]>
 #
 # diffoscope is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -70,6 +70,12 @@
     assert haystack.startswith(needle)
 
 
+def assert_diff_endswith(difference, filename):
+    haystack = difference.unified_diff
+    needle = get_data(filename)
+    assert haystack.endswith(needle)
+
+
 # 
https://code.activestate.com/recipes/576620-changedirectory-context-manager/#c3
 @contextlib.contextmanager
 def cwd_data():

Reply via email to