Hello, here is a better patch. It removes the directory part of the filename when it is read from the .gz file, and not when opening it, so the earlier side effects should disappear now.
// Ulf
--- gzip.c.old 2005-04-28 01:45:23.405819616 +0200 +++ gzip.c 2005-04-28 02:10:35.386963544 +0200 @@ -1330,6 +1330,8 @@ local int get_method(in) error("corrupted input -- file name too large"); } } + char *base2 = base_name (base); + strcpy(base, base2); /* If necessary, adapt the name to local OS conventions: */ if (!list) { MAKE_LEGAL_NAME(base);