[git commit master] unzip: tiny code shrink -2 bytes
Denys Vlasenko
vda.linux at googlemail.com
Mon May 24 02:46:18 UTC 2010
commit: http://git.busybox.net/busybox/commit/?id=e98884b9bec7cca415f1813764741bf18b70e8cf
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
archival/unzip.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/archival/unzip.c b/archival/unzip.c
index 868166b..5e8bac3 100644
--- a/archival/unzip.c
+++ b/archival/unzip.c
@@ -42,7 +42,7 @@ typedef union {
uint8_t raw[ZIP_HEADER_LEN];
struct {
uint16_t version; /* 0-1 */
- uint16_t flags; /* 2-3 */
+ uint16_t zip_flags; /* 2-3 */
uint16_t method; /* 4-5 */
uint16_t modtime; /* 6-7 */
uint16_t moddate; /* 8-9 */
@@ -66,7 +66,6 @@ struct BUG_zip_header_must_be_26_bytes {
#define FIX_ENDIANNESS_ZIP(zip_header) do { \
(zip_header).formatted.version = SWAP_LE16((zip_header).formatted.version ); \
- (zip_header).formatted.flags = SWAP_LE16((zip_header).formatted.flags ); \
(zip_header).formatted.method = SWAP_LE16((zip_header).formatted.method ); \
(zip_header).formatted.modtime = SWAP_LE16((zip_header).formatted.modtime ); \
(zip_header).formatted.moddate = SWAP_LE16((zip_header).formatted.moddate ); \
@@ -491,11 +490,11 @@ int unzip_main(int argc, char **argv)
bb_error_msg_and_die("unsupported method %d", zip_header.formatted.method);
}
#if !ENABLE_DESKTOP
- if (zip_header.formatted.flags & 0x0009) {
+ if (zip_header.formatted.zip_flags & SWAP_LE16(0x0009)) {
bb_error_msg_and_die("zip flags 1 and 8 are not supported");
}
#else
- if (zip_header.formatted.flags & 0x0001) {
+ if (zip_header.formatted.zip_flags & SWAP_LE16(0x0001)) {
/* 0x0001 - encrypted */
bb_error_msg_and_die("zip flag 1 (encryption) is not supported");
}
@@ -503,7 +502,7 @@ int unzip_main(int argc, char **argv)
{
cdf_header_t cdf_header;
cdf_offset = read_next_cdf(cdf_offset, &cdf_header);
- if (zip_header.formatted.flags & 0x0008) {
+ if (zip_header.formatted.zip_flags & SWAP_LE16(0x0008)) {
/* 0x0008 - streaming. [u]cmpsize can be reliably gotten
* only from Central Directory. See unzip_doc.txt */
zip_header.formatted.crc32 = cdf_header.formatted.crc32;
--
1.6.3.3
More information about the busybox-cvs
mailing list