diff options
author | Denis Vlasenko | 2008-07-21 23:05:26 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-07-21 23:05:26 +0000 |
commit | 5415c856eaccd1bc5d064022770a288f43b2e94f (patch) | |
tree | 5973db4e6f81b5e311e8944700ded5db1083d440 /util-linux | |
parent | b74a2dba571d1c5a6127c683fb50923336d9c59f (diff) | |
download | busybox-5415c856eaccd1bc5d064022770a288f43b2e94f.zip busybox-5415c856eaccd1bc5d064022770a288f43b2e94f.tar.gz |
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
Diffstat (limited to 'util-linux')
-rw-r--r-- | util-linux/fbset.c | 2 | ||||
-rw-r--r-- | util-linux/fdisk.c | 2 | ||||
-rw-r--r-- | util-linux/fdisk_sun.c | 2 | ||||
-rw-r--r-- | util-linux/hexdump.c | 21 | ||||
-rw-r--r-- | util-linux/mkfs_minix.c | 2 | ||||
-rw-r--r-- | util-linux/more.c | 2 | ||||
-rw-r--r-- | util-linux/mount.c | 2 | ||||
-rw-r--r-- | util-linux/readprofile.c | 2 | ||||
-rw-r--r-- | util-linux/volume_id/get_devname.c | 4 |
9 files changed, 14 insertions, 25 deletions
diff --git a/util-linux/fbset.c b/util-linux/fbset.c index ab7770d..ac45fe8 100644 --- a/util-linux/fbset.c +++ b/util-linux/fbset.c @@ -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 "); diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c index 702567a..b1f0b65 100644 --- a/util-linux/fdisk.c +++ b/util-linux/fdisk.c @@ -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)); diff --git a/util-linux/fdisk_sun.c b/util-linux/fdisk_sun.c index 427efbe..d1a436b 100644 --- a/util-linux/fdisk_sun.c +++ b/util-linux/fdisk_sun.c @@ -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; } diff --git a/util-linux/hexdump.c b/util-linux/hexdump.c index 4d2b059..8ac12f0 100644 --- a/util-linux/hexdump.c +++ b/util-linux/hexdump.c @@ -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; diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index 8c3991a..b29bf5a 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c @@ -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); diff --git a/util-linux/more.c b/util-linux/more.c index 9395466..cf8e137 100644 --- a/util-linux/more.c +++ b/util-linux/more.c @@ -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); diff --git a/util-linux/mount.c b/util-linux/mount.c index 31f433b..2288e2c 100644 --- a/util-linux/mount.c +++ b/util-linux/mount.c @@ -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) { diff --git a/util-linux/readprofile.c b/util-linux/readprofile.c index 1c15712..1f5ba2e 100644 --- a/util-linux/readprofile.c +++ b/util-linux/readprofile.c @@ -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) diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c index d1968b7..f9a2c90 100644 --- a/util-linux/volume_id/get_devname.c +++ b/util-linux/volume_id/get_devname.c @@ -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) { |