From: Paul Eggert Date: Sat, 5 Nov 2016 03:15:42 +0000 (-0700) Subject: gzip --no-name: avoid spurious warning X-Git-Tag: v1.9~42 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;ds=sidebyside;h=fa0feeca560a412d513696aca15e41e755c62254;p=debian%2Fgzip gzip --no-name: avoid spurious warning Problem reported by Jim Meyering (Bug#24826). * tests/timestamp: Add a test from Jim Meyering to exercise the fix * zip.c (zip): Treat unknown time stamps as 0. --- diff --git a/tests/timestamp b/tests/timestamp index 7acfe5d..141c1d4 100755 --- a/tests/timestamp +++ b/tests/timestamp @@ -49,4 +49,7 @@ touch -t 210602070628.15 in || { test $? = 2 || fail=1 } +# Ensure that --no-name does not provoke a time stamp warning. +: | gzip --no-name > k || fail=1 + Exit $fail diff --git a/zip.c b/zip.c index eb60409..a3b4559 100644 --- a/zip.c +++ b/zip.c @@ -54,7 +54,9 @@ int zip(in, out) flags |= ORIG_NAME; } put_byte(flags); /* general flags */ - if (0 < time_stamp.tv_sec && time_stamp.tv_sec <= 0xffffffff) + if (time_stamp.tv_nsec < 0) + stamp = 0; + else if (0 < time_stamp.tv_sec && time_stamp.tv_sec <= 0xffffffff) stamp = time_stamp.tv_sec; else {