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:
@@ -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 ");
|
||||
|
@@ -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));
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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) {
|
||||
|
@@ -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)
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user