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 --- modutils/depmod.c | 2 +- modutils/insmod.c | 6 +++--- modutils/lsmod.c | 4 ++-- modutils/modprobe-small.c | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) (limited to 'modutils') diff --git a/modutils/depmod.c b/modutils/depmod.c index d128ac0..b6a914e 100644 --- a/modutils/depmod.c +++ b/modutils/depmod.c @@ -150,7 +150,7 @@ int depmod_main(int argc UNUSED_PARAM, char **argv) if (!(option_mask32 & ARG_n)) { /* --dry-run */ chp = concat_path_file(moddir, CONFIG_DEFAULT_DEPMOD_FILE); - filedes = xfopen(chp, "w"); + filedes = xfopen_for_write(chp); if (ENABLE_FEATURE_CLEAN_UP) free(chp); } diff --git a/modutils/insmod.c b/modutils/insmod.c index 97f4a87..9dcc5b0 100644 --- a/modutils/insmod.c +++ b/modutils/insmod.c @@ -3992,7 +3992,7 @@ int insmod_main(int argc, char **argv) /* Get a filedesc for the module. Check that we have a complete path */ if (stat(arg1, &st) < 0 || !S_ISREG(st.st_mode) - || (fp = fopen(arg1, "r")) == NULL + || (fp = fopen_for_read(arg1)) == NULL ) { /* Hmm. Could not open it. First search under /lib/modules/`uname -r`, * but do not error out yet if we fail to find it... */ @@ -4016,7 +4016,7 @@ int insmod_main(int argc, char **argv) } /* Check if we have found anything yet */ - if (!m_filename || ((fp = fopen(m_filename, "r")) == NULL)) { + if (!m_filename || ((fp = fopen_for_read(m_filename)) == NULL)) { int r; char *module_dir; @@ -4033,7 +4033,7 @@ int insmod_main(int argc, char **argv) bb_error_msg_and_die("%s: module not found", m_fullName); free(module_dir); if (m_filename == NULL - || ((fp = fopen(m_filename, "r")) == NULL) + || ((fp = fopen_for_read(m_filename)) == NULL) ) { bb_error_msg_and_die("%s: module not found", m_fullName); } diff --git a/modutils/lsmod.c b/modutils/lsmod.c index 5e37923..3f23703 100644 --- a/modutils/lsmod.c +++ b/modutils/lsmod.c @@ -28,7 +28,7 @@ static void check_tainted(void) FILE *f; tainted = 0; - f = fopen(TAINT_FILENAME, "r"); + f = fopen_for_read(TAINT_FILENAME); if (f) { fscanf(f, "%d", &tainted); fclose(f); @@ -145,7 +145,7 @@ int lsmod_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) int lsmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int lsmod_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) { - FILE *file = xfopen("/proc/modules", "r"); + FILE *file = xfopen_for_read("/proc/modules"); printf("Module Size Used by"); check_tainted(); diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c index ae7c29c..f75dae8 100644 --- a/modutils/modprobe-small.c +++ b/modutils/modprobe-small.c @@ -299,7 +299,7 @@ static FAST_FUNC int fileAction(const char *pathname, static int load_dep_bb(void) { char *line; - FILE *fp = fopen(DEPFILE_BB, "r"); + FILE *fp = fopen_for_read(DEPFILE_BB); if (!fp) return 0; @@ -492,7 +492,7 @@ static int already_loaded(const char *name) char *line; FILE* modules; - modules = xfopen("/proc/modules", "r"); + modules = xfopen_for_read("/proc/modules"); while ((line = xmalloc_fgets(modules)) != NULL) { if (strncmp(line, name, len) == 0 && line[len] == ' ') { free(line); @@ -688,7 +688,7 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv) /* are we lsmod? -> just dump /proc/modules */ if ('l' == applet0) { - xprint_and_close_file(xfopen("/proc/modules", "r")); + xprint_and_close_file(xfopen_for_read("/proc/modules")); return EXIT_SUCCESS; } -- cgit v1.1