From a60936da062fc569328cd643c460dcf215ed9966 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sat, 28 Jun 2008 05:04:09 +0000 Subject: 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 --- include/unarchive.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/unarchive.h b/include/unarchive.h index 721f879..1fab570 100644 --- a/include/unarchive.h +++ b/include/unarchive.h @@ -30,7 +30,7 @@ typedef struct file_header_t { } file_header_t; typedef struct archive_handle_t { - /* define if the header and data component should be processed */ + /* Define if the header and data component should be processed */ char FAST_FUNC (*filter)(struct archive_handle_t *); llist_t *accept; /* List of files that have been rejected */ @@ -41,10 +41,10 @@ typedef struct archive_handle_t { /* Contains the processed header entry */ file_header_t *file_header; - /* process the header component, e.g. tar -t */ + /* Process the header component, e.g. tar -t */ void FAST_FUNC (*action_header)(const file_header_t *); - /* process the data component, e.g. extract to filesystem */ + /* Process the data component, e.g. extract to filesystem */ void FAST_FUNC (*action_data)(struct archive_handle_t *); /* How to process any sub archive, e.g. get_header_tar_gz */ @@ -66,7 +66,11 @@ typedef struct archive_handle_t { char *buffer; /* Flags and misc. stuff */ - unsigned char flags; + unsigned char ah_flags; + + /* "Private" storage for archivers */ +// unsigned char ah_priv_inited; + void *ah_priv[8]; } archive_handle_t; -- cgit v1.1