diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-21 23:05:26 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-21 23:05:26 +0000 |
commit | 5415c856eaccd1bc5d064022770a288f43b2e94f (patch) | |
tree | 5973db4e6f81b5e311e8944700ded5db1083d440 /shell | |
parent | b74a2dba571d1c5a6127c683fb50923336d9c59f (diff) |
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 'shell')
-rw-r--r-- | shell/bbsh.c | 2 | ||||
-rw-r--r-- | shell/hush.c | 6 | ||||
-rw-r--r-- | shell/lash_unused.c | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/shell/bbsh.c b/shell/bbsh.c index 3be64eec7..897c0227c 100644 --- a/shell/bbsh.c +++ b/shell/bbsh.c @@ -206,7 +206,7 @@ int bbsh_main(int argc, char **argv) getopt32(argv, "c:", &command); - f = argv[optind] ? xfopen(argv[optind],"r") : NULL; + f = argv[optind] ? xfopen_for_read(argv[optind]) : NULL; if (command) handle(command); else { unsigned cmdlen=0; diff --git a/shell/hush.c b/shell/hush.c index 3dc27d9c2..cf6a18f86 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -4012,7 +4012,7 @@ int hush_main(int argc, char **argv) if (argv[0] && argv[0][0] == '-') { debug_printf("sourcing /etc/profile\n"); - input = fopen("/etc/profile", "r"); + input = fopen_for_read("/etc/profile"); if (input != NULL) { close_on_exec_on(fileno(input)); parse_and_run_file(input); @@ -4116,7 +4116,7 @@ int hush_main(int argc, char **argv) debug_printf("\nrunning script '%s'\n", argv[optind]); global_argv = argv + optind; global_argc = argc - optind; - input = xfopen(argv[optind], "r"); + input = xfopen_for_read(argv[optind]); fcntl(fileno(input), F_SETFD, FD_CLOEXEC); opt = parse_and_run_file(input); } @@ -4423,7 +4423,7 @@ static int builtin_source(char **argv) return EXIT_FAILURE; /* XXX search through $PATH is missing */ - input = fopen(argv[1], "r"); + input = fopen_for_read(argv[1]); if (!input) { bb_error_msg("can't open '%s'", argv[1]); return EXIT_FAILURE; diff --git a/shell/lash_unused.c b/shell/lash_unused.c index 708408954..90b1f56cf 100644 --- a/shell/lash_unused.c +++ b/shell/lash_unused.c @@ -1513,7 +1513,7 @@ int lash_main(int argc, char **argv) if (global_argv[0] && global_argv[0][0] == '-') { FILE *prof_input; - prof_input = fopen("/etc/profile", "r"); + prof_input = fopen_for_read("/etc/profile"); if (prof_input) { llist_add_to(&close_me_list, (void *)(long)fileno(prof_input)); /* Now run the file */ @@ -1553,7 +1553,7 @@ int lash_main(int argc, char **argv) } } else if (!local_pending_command && global_argv[optind]) { //printf( "optind=%d argv[optind]='%s'\n", optind, argv[optind]); - input = xfopen(global_argv[optind], "r"); + input = xfopen_for_read(global_argv[optind]); /* be lazy, never mark this closed */ llist_add_to(&close_me_list, (void *)(long)fileno(input)); } |