From 5415c856eaccd1bc5d064022770a288f43b2e94f Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 21 Jul 2008 23:05:26 +0000 Subject: libbb: [x]fopen_for_{read,write} introduced and used. (by Valdimir) function old new delta config_open2 - 41 +41 config_read 507 542 +35 find_pair 169 187 +18 fopen_for_write - 14 +14 fopen_for_read - 14 +14 find_main 406 418 +12 xfopen_for_write - 10 +10 xfopen_for_read - 10 +10 popstring 134 140 +6 parse_inittab 396 401 +5 next_token 923 928 +5 pack_gzip 1659 1661 +2 bb__parsespent 117 119 +2 fallbackSort 1719 1717 -2 evalvar 1376 1374 -2 qrealloc 36 33 -3 ... ... ... ... singlemount 4579 4569 -10 process_stdin 443 433 -10 patch_main 1111 1101 -10 ifupdown_main 2175 2165 -10 file_action_grep 90 80 -10 uuidcache_init 649 637 -12 hush_main 797 785 -12 read_config 230 217 -13 dpkg_main 3835 3820 -15 read_line_input 3134 3110 -24 sysctl_main 232 203 -29 config_open 40 10 -30 WARN_BAD_LINE 44 - -44 login_main 1714 1575 -139 ------------------------------------------------------------------------------ (add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes --- util-linux/hexdump.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'util-linux/hexdump.c') diff --git a/util-linux/hexdump.c b/util-linux/hexdump.c index 4d2b0592b..8ac12f082 100644 --- a/util-linux/hexdump.c +++ b/util-linux/hexdump.c @@ -14,24 +14,13 @@ /* This is a NOEXEC applet. Be very careful! */ - static void bb_dump_addfile(dumper_t *dumper, char *name) { - char *p; - FILE *fp; - char *buf; - - fp = xfopen(name, "r"); - - while ((buf = xmalloc_fgetline(fp)) != NULL) { - p = skip_whitespace(buf); - - if (*p && (*p != '#')) { - bb_dump_add(dumper, p); - } - free(buf); + parser_t *parser = config_open2(name, xfopen_for_read); + while (config_read(parser, &name, 1, 1, "# \t", 0)) { + bb_dump_add(dumper, name); } - fclose(fp); + config_close(parser); } static const char *const add_strings[] = { @@ -131,7 +120,7 @@ int hexdump_main(int argc, char **argv) do { char *buf; - fp = xfopen(*argv, "r"); + fp = xfopen_for_read(*argv); jump_in: while ((buf = xmalloc_fgetline(fp)) != NULL) { p = buf; -- cgit v1.2.3