diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-28 05:04:09 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-28 05:04:09 +0000 |
commit | a60936da062fc569328cd643c460dcf215ed9966 (patch) | |
tree | f67e12d028c68c40d6ece445420cd5ab4046ff61 /include | |
parent | 9579d87be4ab9b02195749c15a2112e2a4466ab4 (diff) | |
download | busybox-w32-a60936da062fc569328cd643c460dcf215ed9966.tar.gz busybox-w32-a60936da062fc569328cd643c460dcf215ed9966.tar.bz2 busybox-w32-a60936da062fc569328cd643c460dcf215ed9966.zip |
libunarchive: stop using static data in archivers - archive_handle_t
can trivially provide space for that.
rpm: code shrink
tar: simplify autodetection of bz2/.gz
function old new delta
static.not_first 1 - -1
static.end 1 - -1
bb_makedev 51 49 -2
static.saved_hardlinks_created 4 - -4
static.saved_hardlinks 4 - -4
longname 4 - -4
linkname 4 - -4
hash_file 251 247 -4
get_header_tar 1528 1521 -7
rpm_main 1711 1697 -14
get_header_cpio 965 944 -21
------------------------------------------------------------------------------
(add/remove: 0/6 grow/shrink: 0/5 up/down: 0/-66) Total: -66 bytes
text data bss dec hex filename
804926 611 6868 812405 c6575 busybox_old
804878 611 6852 812341 c6535 busybox_unstripped
Diffstat (limited to 'include')
-rw-r--r-- | include/unarchive.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/unarchive.h b/include/unarchive.h index 721f879a4..1fab570c3 100644 --- a/include/unarchive.h +++ b/include/unarchive.h | |||
@@ -30,7 +30,7 @@ typedef struct file_header_t { | |||
30 | } file_header_t; | 30 | } file_header_t; |
31 | 31 | ||
32 | typedef struct archive_handle_t { | 32 | typedef struct archive_handle_t { |
33 | /* define if the header and data component should be processed */ | 33 | /* Define if the header and data component should be processed */ |
34 | char FAST_FUNC (*filter)(struct archive_handle_t *); | 34 | char FAST_FUNC (*filter)(struct archive_handle_t *); |
35 | llist_t *accept; | 35 | llist_t *accept; |
36 | /* List of files that have been rejected */ | 36 | /* List of files that have been rejected */ |
@@ -41,10 +41,10 @@ typedef struct archive_handle_t { | |||
41 | /* Contains the processed header entry */ | 41 | /* Contains the processed header entry */ |
42 | file_header_t *file_header; | 42 | file_header_t *file_header; |
43 | 43 | ||
44 | /* process the header component, e.g. tar -t */ | 44 | /* Process the header component, e.g. tar -t */ |
45 | void FAST_FUNC (*action_header)(const file_header_t *); | 45 | void FAST_FUNC (*action_header)(const file_header_t *); |
46 | 46 | ||
47 | /* process the data component, e.g. extract to filesystem */ | 47 | /* Process the data component, e.g. extract to filesystem */ |
48 | void FAST_FUNC (*action_data)(struct archive_handle_t *); | 48 | void FAST_FUNC (*action_data)(struct archive_handle_t *); |
49 | 49 | ||
50 | /* How to process any sub archive, e.g. get_header_tar_gz */ | 50 | /* How to process any sub archive, e.g. get_header_tar_gz */ |
@@ -66,7 +66,11 @@ typedef struct archive_handle_t { | |||
66 | char *buffer; | 66 | char *buffer; |
67 | 67 | ||
68 | /* Flags and misc. stuff */ | 68 | /* Flags and misc. stuff */ |
69 | unsigned char flags; | 69 | unsigned char ah_flags; |
70 | |||
71 | /* "Private" storage for archivers */ | ||
72 | // unsigned char ah_priv_inited; | ||
73 | void *ah_priv[8]; | ||
70 | 74 | ||
71 | } archive_handle_t; | 75 | } archive_handle_t; |
72 | 76 | ||