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
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user