From 5598bdf0d3d46a865a4d23785e2d09e6db9be420 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 18 Apr 2016 02:34:29 +0200 Subject: unzip: shorter code for date/time generation function old new delta unzip_main 2426 2414 -12 Signed-off-by: Denys Vlasenko --- archival/unzip.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'archival') diff --git a/archival/unzip.c b/archival/unzip.c index a7532e0..be32e60 100644 --- a/archival/unzip.c +++ b/archival/unzip.c @@ -642,14 +642,14 @@ int unzip_main(int argc, char **argv) } else { if (listing) { /* List entry */ - unsigned dostime = zip_header.formatted.modtime | (zip_header.formatted.moddate << 16); char dtbuf[sizeof("mm-dd-yyyy hh:mm")]; sprintf(dtbuf, "%02u-%02u-%04u %02u:%02u", - (dostime & 0x01e00000) >> 21, - (dostime & 0x001f0000) >> 16, - ((dostime & 0xfe000000) >> 25) + 1980, - (dostime & 0x0000f800) >> 11, - (dostime & 0x000007e0) >> 5 + (zip_header.formatted.moddate >> 5) & 0xf, // mm: 0x01e0 + (zip_header.formatted.moddate) & 0x1f, // dd: 0x001f + (zip_header.formatted.moddate >> 9) + 1980, // yy: 0xfe00 + (zip_header.formatted.modtime >> 11), // hh: 0xf800 + (zip_header.formatted.modtime >> 5) & 0x3f // mm: 0x07e0 + // seconds/2 are not shown, encoded in ----------- 0x001f ); if (!verbose) { // " Length Date Time Name\n" -- cgit v1.1