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

@@ -178,7 +178,7 @@ static int readmode(struct fb_var_screeninfo *base, const char *fn,
char buf[256];
char *p = buf;
f = xfopen(fn, "r");
f = xfopen_for_read(fn);
while (!feof(f)) {
fgets(buf, sizeof(buf), f);
p = strstr(buf, "mode ");

View File

@@ -2684,7 +2684,7 @@ is_ide_cdrom_or_tape(const char *device)
return 0;
snprintf(buf, sizeof(buf), "/proc/ide/%s/media", device+5);
procf = fopen(buf, "r");
procf = fopen_for_read(buf);
if (procf != NULL && fgets(buf, sizeof(buf), procf))
is_ide = (!strncmp(buf, "cdrom", 5) ||
!strncmp(buf, "tape", 4));

View File

@@ -181,7 +181,7 @@ sun_autoconfigure_scsi(void)
id[0] & 0xff,
(id[0]>>8) & 0xff
);
pfd = fopen("/proc/scsi/scsi", "r");
pfd = fopen_for_read("/proc/scsi/scsi");
if (!pfd) {
return NULL;
}

View File

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

View File

@@ -540,7 +540,7 @@ static void get_list_blocks(char *filename)
FILE *listfile;
unsigned long blockno;
listfile = xfopen(filename, "r");
listfile = xfopen_for_read(filename);
while (!feof(listfile)) {
fscanf(listfile, "%ld\n", &blockno);
mark_zone(blockno);

View File

@@ -72,7 +72,7 @@ int more_main(int argc UNUSED_PARAM, char **argv)
* is not a tty and turns into cat. This makes sense. */
if (!isatty(STDOUT_FILENO))
return bb_cat(argv);
cin = fopen(CURRENT_TTY, "r");
cin = fopen_for_read(CURRENT_TTY);
if (!cin)
return bb_cat(argv);

View File

@@ -363,7 +363,7 @@ static llist_t *get_block_backed_filesystems(void)
FILE *f;
for (i = 0; i < 2; i++) {
f = fopen(filesystems[i], "r");
f = fopen_for_read(filesystems[i]);
if (!f) continue;
while ((buf = xmalloc_fgetline(f)) != NULL) {

View File

@@ -144,7 +144,7 @@ int readprofile_main(int argc UNUSED_PARAM, char **argv)
total = 0;
map = xfopen(mapFile, "r");
map = xfopen_for_read(mapFile);
while (fgets(mapline, S_LEN, map)) {
if (sscanf(mapline, "%llx %s %s", &fn_add, mode, fn_name) != 3)

View File

@@ -165,7 +165,7 @@ uuidcache_init_partitions(void)
int handleOnFirst;
char *chptr;
procpt = xfopen("/proc/partitions", "r");
procpt = xfopen_for_read("/proc/partitions");
/*
# cat /proc/partitions
major minor #blocks name
@@ -259,7 +259,7 @@ uuidcache_init_cdroms(void)
int ma, mi;
FILE *proccd;
proccd = fopen(PROC_CDROMS, "r");
proccd = fopen_for_read(PROC_CDROMS);
if (!proccd) {
// static smallint warn = 0;
// if (!warn) {