--- //.git/fs/object/669b3abd702b934927499d976e563a1d663f9648/tree/sys/src/cmd/gzip/gzip.c +++ sys/src/cmd/gzip/gzip.c @@ -4,7 +4,7 @@ #include #include "gzip.h" -static int gzipf(char*, int); +static int gzipf(char*, int, int); static int gzip(char*, long, int, Biobuf*); static int crcread(void *fd, void *buf, int n); static int gzwrite(void *bout, void *buf, int n); @@ -29,9 +29,11 @@ main(int argc, char *argv[]) { int i, ok, stdout; + long mtime; level = 6; stdout = 0; + mtime = time(0); ARGBEGIN{ case 'D': debug++; @@ -46,6 +48,9 @@ case '5': case '6': case '7': case '8': case '9': level = ARGC() - '0'; break; + case 'n': + mtime = 0; + break; default: usage(); break; @@ -58,18 +63,18 @@ if(argc == 0){ Binit(&bout, 1, OWRITE); - ok = gzip(nil, time(0), 0, &bout); + ok = gzip(nil, mtime, 0, &bout); Bterm(&bout); }else{ ok = 1; for(i = 0; i < argc; i++) - ok &= gzipf(argv[i], stdout); + ok &= gzipf(argv[i], !mtime, stdout); } exits(ok ? nil: "errors"); } static int -gzipf(char *file, int stdout) +gzipf(char *file, int nomtime, int stdout) { Dir *dir; char ofile[256], *f, *s; @@ -120,7 +125,7 @@ fprint(2, "compressing %s to %s\n", file, ofile); Binit(&bout, ofd, OWRITE); - ok = gzip(file, dir->mtime, ifd, &bout); + ok = gzip(file, nomtime? 0 : dir->mtime, ifd, &bout); if(!ok || Bflush(&bout) < 0){ fprint(2, "gzip: error writing %s: %r\n", ofile); if(!stdout)