archival/*: shrink by reusing sufficiently similar functions

function                                             old     new   delta
append_ext                                             -      16     +16
unxz_main                                             77      83      +6
unlzma_main                                           77      83      +6
uncompress_main                                       42      48      +6
gzip_main                                            184     190      +6
bzip2_main                                           114     120      +6
bunzip2_main                                          61      67      +6
bbunpack                                             469     475      +6
send_tree                                            355     360      +5
lzop_main                                             89      92      +3
gunzip_main                                           61      64      +3
make_new_name_lzop                                    84      82      -2
make_new_name_gunzip                                 114     112      -2
make_new_name_unxz                                    14       -     -14
make_new_name_unlzma                                  14       -     -14
make_new_name_uncompress                              14       -     -14
make_new_name_bunzip2                                 14       -     -14
make_new_name_gzip                                    17       -     -17
make_new_name_bzip2                                   17       -     -17
------------------------------------------------------------------------------
(add/remove: 1/6 grow/shrink: 10/2 up/down: 69/-94)           Total: -25 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2010-05-31 14:18:57 +02:00
parent b8b72f02f0
commit 39a04f71ca
5 changed files with 34 additions and 57 deletions

View File

@@ -1042,7 +1042,7 @@ static smallint do_lzo_decompress(void)
return lzo_decompress(&header);
}
static char* make_new_name_lzop(char *filename)
static char* FAST_FUNC make_new_name_lzop(char *filename, const char *expected_ext UNUSED_PARAM)
{
if (option_mask32 & OPT_DECOMPRESS) {
char *extension = strrchr(filename, '.');
@@ -1054,7 +1054,7 @@ static char* make_new_name_lzop(char *filename)
return xasprintf("%s.lzo", filename);
}
static IF_DESKTOP(long long) int pack_lzop(unpack_info_t *info UNUSED_PARAM)
static IF_DESKTOP(long long) int FAST_FUNC pack_lzop(unpack_info_t *info UNUSED_PARAM)
{
if (option_mask32 & OPT_DECOMPRESS)
return do_lzo_decompress();
@@ -1074,5 +1074,5 @@ int lzop_main(int argc UNUSED_PARAM, char **argv)
option_mask32 |= OPT_DECOMPRESS;
G.lzo_crc32_table = crc32_filltable(NULL, 0);
return bbunpack(argv, make_new_name_lzop, pack_lzop);
return bbunpack(argv, pack_lzop, make_new_name_lzop, /*unused:*/ NULL);
}