Subject: bug#77641: [platform-testers] new snapshot available: gzip-1.13.56-e549

From: Paul Eggert <[email-masked]>
Date: Tue, 8 Apr 2025 13:59:40 -0700

On 2025-04-08 11:25, Nelson H. F. Beebe wrote:
> Here is the output on NetBSD 10.0 for the test script for zdiff
> behavior:

Thanks. I'm quoting it below. Apparently the equivalent of the following 
crashed:

echo b >b
gzip b
gzip_status=$(gzip -cdfq -- b.gz)

whereas the same thing succeeded if one substitutes "a" for "b". I 
suspect the problem isn't reproduced by the above commands, though, and 
don't know how to debug this further, remotely.

> % cat ~/foo.sh
> #! /bin/sh -
> echo a>a
> echo b>b
> ./gzip a b
> /usr/pkg/bin/bash -x ./zdiff a.gz b.gz
> 
> % cd /local/build/cc/gzip-1.13.56-e549
> 
> % ~/foo.sh
> + case $1 in
> + prog=diff
> + cmp='${DIFF-diff}'
> + version='zdiff (gzip) 1.13.56-e549
> Copyright (C) 2025 Free Software Foundation, Inc.
> This is free software.  You may redistribute copies of it under the terms of
> the GNU General Public License<https://www.gnu.org/licenses/gpl.html>.
> There is NO WARRANTY, to the extent permitted by law.
> 
> Written by Jean-loup Gailly.'
> + usage='Usage: ./zdiff [OPTION]... FILE1 [FILE2]
> Compare FILE1 to FILE2, using their uncompressed contents if they are
> compressed.  If FILE2 is omitted, compare FILE1 to the uncompressed
> contents of FILE1.gz.  Do comparisons like '\''diff'\'' does.
> 
> OPTIONs are the same as for '\''diff'\''.
> 
> Report bugs to<[email-masked]>.'
> + escape='
>    s/'\''/'\''\\'\'''\''/g
>    $s/X$/'\''/
> '
> + filesonly=
> + file1=
> + file2=
> + needop=
> + for arg in "$@"
> + case $filesonly$needop$arg in
> + case $needop in
> + case $arg in
> + case $file1 in
> + file1=a.gz
> + for arg in "$@"
> + case $filesonly$needop$arg in
> + case $needop in
> + case $arg in
> + case $file1 in
> + case $file2 in
> + file2=b.gz
> + case $needop in
> + cmp='${DIFF-diff} --'
> + case $file1 in
> + case $file2 in
> + gzip_status=0
> + exec
> + case $file2 in
> + case $file1,$file2 in
> + case $file1 in
> + case $file2 in
> + echo X
> + eval '${DIFF-diff} --' /dev/fd/5 -
> + echo X
> ++ exec
> ++ gzip -cdfq -- a.gz
> ++ eval '${DIFF-diff} --' /dev/fd/5 -
> ++ gzip -cdfq -- b.gz
> +++ diff -- /dev/fd/5 -
> ++ echo 0
> ++ echo 141
> + gzip_status='0
> 141'