diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-06-02 14:14:48 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-06-02 14:14:48 +0200 |
commit | 26b6ccf340243ec3acd594c6928b18e95d3deea9 (patch) | |
tree | 90955d90056adbd8724db164f7cbb3e56833ed8b /include | |
parent | abb154ba02f9a9a98465cb1f816f974cca536392 (diff) | |
download | busybox-w32-26b6ccf340243ec3acd594c6928b18e95d3deea9.tar.gz busybox-w32-26b6ccf340243ec3acd594c6928b18e95d3deea9.tar.bz2 busybox-w32-26b6ccf340243ec3acd594c6928b18e95d3deea9.zip |
*: simplify checks for gz/bz2/xz magic
function old new delta
send_tree 360 355 -5
rpm2cpio_main 249 220 -29
setup_unzip_on_fd 150 118 -32
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-66) Total: -66 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/unarchive.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/unarchive.h b/include/unarchive.h index aa7ecec55..8009de282 100644 --- a/include/unarchive.h +++ b/include/unarchive.h | |||
@@ -4,6 +4,22 @@ | |||
4 | 4 | ||
5 | PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN | 5 | PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN |
6 | 6 | ||
7 | enum { | ||
8 | #if BB_BIG_ENDIAN | ||
9 | COMPRESS_MAGIC = 0x1f9d, | ||
10 | GZIP_MAGIC = 0x1f8b, | ||
11 | BZIP2_MAGIC = ('B'<<8) + 'Z', | ||
12 | XZ_MAGIC1 = (0xfd<<8) + '7', | ||
13 | XZ_MAGIC2 = ((((('z'<<8) + 'X')<<8) + 'Z')<<8) + 0, | ||
14 | #else | ||
15 | COMPRESS_MAGIC = 0x9d1f, | ||
16 | GZIP_MAGIC = 0x8b1f, | ||
17 | BZIP2_MAGIC = ('Z'<<8) + 'B', | ||
18 | XZ_MAGIC1 = ('7'<<8) + 0xfd, | ||
19 | XZ_MAGIC2 = (((((0<<8) + 'Z')<<8) + 'X')<<8) + 'z', | ||
20 | #endif | ||
21 | }; | ||
22 | |||
7 | typedef struct file_header_t { | 23 | typedef struct file_header_t { |
8 | char *name; | 24 | char *name; |
9 | char *link_target; | 25 | char *link_target; |