From 892de7987409ccd209dd4f43fb7717408d4a04bd Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 19 Apr 2004 05:54:21 +0000 Subject: various little bug fixes --- src/cmd/gzip/gzip.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/cmd/gzip') diff --git a/src/cmd/gzip/gzip.c b/src/cmd/gzip/gzip.c index 10954d3a..f37405b9 100644 --- a/src/cmd/gzip/gzip.c +++ b/src/cmd/gzip/gzip.c @@ -29,13 +29,29 @@ void main(int argc, char *argv[]) { int i, ok, stdout; + char **oargv; + oargv = argv; level = 6; stdout = 0; ARGBEGIN{ case 'D': debug++; break; + case 'd': + /* + * gnu tar expects gzip -d to decompress + * humor it. ugh. + */ + /* remove -d from command line - magic! */ + if(strcmp(argv[0], "-d") == 0){ + while(*argv++) + *(argv-1) = *argv; + }else + memmove(_args-1, _args, strlen(_args)+1); + exec("gunzip", oargv); + sysfatal("exec gunzip failed"); + break; case 'v': verbose++; break; -- cgit v1.2.3