*: shrink by using [f]open_or_warn_stdin where appropriate

function                                             old     new   delta
lsattr_main                                           62     143     +81
open_or_warn_stdin                                     -      36     +36
fclose_if_not_stdin                                   20      47     +27
xfopen_stdin                                           -      20     +20
tac_main                                             336     356     +20
cksum_main                                           249     259     +10
bb_argv_dash                                           -       8      +8
su_main                                              448     455      +7
cmp_main                                             630     633      +3
passwd_main                                         1072    1074      +2
uudecode_main                                        317     315      -2
text_yank                                            110     108      -2
handle_incoming_and_exit                            2653    2651      -2
flags                                                  5       1      -4
write_leases                                         235     230      -5
fopen_or_warn_stdin                                   48      42      -6
fold_main                                            648     642      -6
static.argv_dash                                       8       -      -8
sum_main                                             142     128     -14
tail_main                                           1237    1221     -16
sed_main                                             711     695     -16
cmp_xfopen_input                                      17       -     -17
bb_cat                                               113      96     -17
catv_main                                            328     306     -22
strings_main                                         457     434     -23
hash_file                                            298     274     -24
sum_file                                             353     325     -28
sort_main                                            904     859     -45
expand_main                                          736     686     -50
cut_main                                            1116    1065     -51
md5_sha1_sum_main                                    549     493     -56
lsattr_args                                           90       -     -90
read_stduu                                           408     255    -153
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 7/20 up/down: 214/-657)        Total: -443 bytes
   text    data     bss     dec     hex filename
 797417     658    7428  805503   c4a7f busybox_old
 796973     658    7428  805059   c48c3 busybox_unstripped
This commit is contained in:
Denis Vlasenko
2008-03-17 09:07:36 +00:00
parent d02db89244
commit 62a90cdd74
26 changed files with 214 additions and 219 deletions

View File

@ -36,12 +36,9 @@ static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
void (*update)(const void*, size_t, void*);
void (*final)(void*, void*);
src_fd = STDIN_FILENO;
if (NOT_LONE_DASH(filename)) {
src_fd = open_or_warn(filename, O_RDONLY);
if (src_fd < 0) {
return NULL;
}
src_fd = open_or_warn_stdin(filename);
if (src_fd < 0) {
return NULL;
}
/* figure specific hash algorithims */
@ -78,7 +75,7 @@ static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
}
int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int md5_sha1_sum_main(int argc, char **argv)
int md5_sha1_sum_main(int argc ATTRIBUTE_UNUSED, char **argv)
{
int return_value = EXIT_SUCCESS;
uint8_t *hash_value;
@ -90,6 +87,10 @@ int md5_sha1_sum_main(int argc, char **argv)
if (ENABLE_FEATURE_MD5_SHA1_SUM_CHECK)
flags = getopt32(argv, "scw");
else optind = 1;
argv += optind;
//argc -= optind;
if (!*argv)
*--argv = (char*)"-";
if (ENABLE_FEATURE_MD5_SHA1_SUM_CHECK && !(flags & FLAG_CHECK)) {
if (flags & FLAG_SILENT) {
@ -101,26 +102,18 @@ int md5_sha1_sum_main(int argc, char **argv)
}
}
if (argc == optind) {
argv[argc++] = (char*)"-";
}
if (ENABLE_FEATURE_MD5_SHA1_SUM_CHECK && (flags & FLAG_CHECK)) {
FILE *pre_computed_stream;
int count_total = 0;
int count_failed = 0;
char *file_ptr = argv[optind];
char *line;
if (optind + 1 != argc) {
if (argv[1]) {
bb_error_msg_and_die
("only one argument may be specified when using -c");
}
pre_computed_stream = stdin;
if (NOT_LONE_DASH(file_ptr)) {
pre_computed_stream = xfopen(file_ptr, "r");
}
pre_computed_stream = xfopen_stdin(argv[0]);
while ((line = xmalloc_getline(pre_computed_stream)) != NULL) {
char *filename_ptr;
@ -168,17 +161,15 @@ int md5_sha1_sum_main(int argc, char **argv)
}
*/
} else {
while (optind < argc) {
char *file_ptr = argv[optind++];
hash_value = hash_file(file_ptr, hash_algo);
do {
hash_value = hash_file(*argv, hash_algo);
if (hash_value == NULL) {
return_value = EXIT_FAILURE;
} else {
printf("%s %s\n", hash_value, file_ptr);
printf("%s %s\n", hash_value, *argv);
free(hash_value);
}
}
} while (*++argv);
}
return return_value;
}