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 --- miscutils/crond.c | 2 +- miscutils/devfsd.c | 2 +- miscutils/fbsplash.c | 2 +- miscutils/less.c | 2 +- miscutils/makedevs.c | 2 +- miscutils/man.c | 4 +--- 6 files changed, 6 insertions(+), 8 deletions(-) (limited to 'miscutils') diff --git a/miscutils/crond.c b/miscutils/crond.c index c7ee793a5..b3a06a376 100644 --- a/miscutils/crond.c +++ b/miscutils/crond.c @@ -529,7 +529,7 @@ static void CheckUpdates(void) FILE *fi; char buf[256]; - fi = fopen(CRONUPDATE, "r"); + fi = fopen_for_read(CRONUPDATE); if (fi != NULL) { unlink(CRONUPDATE); while (fgets(buf, sizeof(buf), fi) != NULL) { diff --git a/miscutils/devfsd.c b/miscutils/devfsd.c index c85ff08f3..61b97dce4 100644 --- a/miscutils/devfsd.c +++ b/miscutils/devfsd.c @@ -459,7 +459,7 @@ static void read_config_file(char *path, int optional, unsigned long *event_mask free(p); return; } - fp = fopen(path, "r"); + fp = fopen_for_read(path); if (fp != NULL) { while (fgets(buf, STRING_LENGTH, fp) != NULL) { /* Skip whitespace */ diff --git a/miscutils/fbsplash.c b/miscutils/fbsplash.c index 67847c1eb..380f09bea 100644 --- a/miscutils/fbsplash.c +++ b/miscutils/fbsplash.c @@ -341,7 +341,7 @@ static void init(const char *cfg_filename) case 7: G.bdebug_messages = val; if (G.bdebug_messages) - G.logfile_fd = xfopen("/tmp/fbsplash.log", "w"); + G.logfile_fd = xfopen_for_write("/tmp/fbsplash.log"); break; #endif err: diff --git a/miscutils/less.c b/miscutils/less.c index 1e22d333d..530a40a8c 100644 --- a/miscutils/less.c +++ b/miscutils/less.c @@ -1129,7 +1129,7 @@ static void save_input_to_file(void) print_statusline("Log file: "); current_line = less_gets(sizeof("Log file: ")-1); if (current_line[0]) { - fp = fopen(current_line, "w"); + fp = fopen_for_write(current_line); if (!fp) { msg = "Error opening log file"; goto ret; diff --git a/miscutils/makedevs.c b/miscutils/makedevs.c index 3b45d70b4..ed08f7ece 100644 --- a/miscutils/makedevs.c +++ b/miscutils/makedevs.c @@ -80,7 +80,7 @@ int makedevs_main(int argc, char **argv) getopt32(argv, "d:", &line); if (line) - table = xfopen(line, "r"); + table = xfopen_for_read(line); if (optind >= argc || (rootdir=argv[optind])==NULL) { bb_error_msg_and_die("root directory not specified"); diff --git a/miscutils/man.c b/miscutils/man.c index 7ef5941a1..df00c3ee7 100644 --- a/miscutils/man.c +++ b/miscutils/man.c @@ -106,9 +106,7 @@ int man_main(int argc UNUSED_PARAM, char **argv) if (parser) { /* go through man configuration file and search relevant paths, sections */ char *token[2]; - while (config_read(parser, token, 2, 0, "# \t", PARSE_LAST_IS_GREEDY)) { - if (!token[1]) - continue; + while (config_read(parser, token, 2, 2, "# \t", PARSE_LAST_IS_GREEDY)) { if (strcmp("MANPATH", token[0]) == 0) { man_path_list[count_mp] = xstrdup(token[1]); count_mp++; -- cgit v1.2.3