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:
Denis Vlasenko
2008-07-21 23:05:26 +00:00
parent b74a2dba57
commit 5415c856ea
71 changed files with 173 additions and 168 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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();

View File

@@ -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;
}