[PATCH] gzip: support -n option for suppressing time stamps
Jason A. Donenfeld
Jason at zx2c4.com
Tue May 28 15:06:40 UTC 2013
Cgit uses it in its snapshot [1] . Alpine Linux wants it for
its cgit support [2]. This should be pretty simple.
[1] http://git.zx2c4.com/cgit/commit/?id=055e092a330098f6b9177266facf43029dbe1883
[2] http://bugs.alpinelinux.org/issues/2022
Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
---
archival/gzip.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/archival/gzip.c b/archival/gzip.c
index 31ccab3..6301d96 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -46,6 +46,7 @@ aa: 85.1% -- replaced with aa.gz
//usage: "\n -d Decompress"
//usage: "\n -c Write to stdout"
//usage: "\n -f Force"
+//usage: "\n -n Do not write timestamp"
//usage:
//usage:#define gzip_example_usage
//usage: "$ ls -la /tmp/busybox*\n"
@@ -365,6 +366,8 @@ struct globals {
/*uint32_t *crc_32_tab;*/
uint32_t crc; /* shift register contents */
+
+ int suppress_timestamp;
};
#define G1 (*(ptr_to_globals - 1))
@@ -2051,7 +2054,8 @@ IF_DESKTOP(long long) int FAST_FUNC pack_gzip(transformer_aux_data_t *aux UNUSED
//G2.bl_desc.max_code = 0;
s.st_ctime = 0;
- fstat(STDIN_FILENO, &s);
+ if (!G1.suppress_timestamp)
+ fstat(STDIN_FILENO, &s);
zip(s.st_ctime);
return 0;
}
@@ -2114,6 +2118,7 @@ int gzip_main(int argc UNUSED_PARAM, char **argv)
SET_PTR_TO_GLOBALS((char *)xzalloc(sizeof(struct globals)+sizeof(struct globals2))
+ sizeof(struct globals));
+ G1.suppress_timestamp = opt & 0x2000; // -n
/* Allocate all global buffers (for DYN_ALLOC option) */
ALLOC(uch, G1.l_buf, INBUFSIZ);
ALLOC(uch, G1.outbuf, OUTBUFSIZ);
--
1.8.2.1
More information about the busybox
mailing list