summaryrefslogtreecommitdiffhomepage
path: root/shell
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-07-21 23:05:26 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-07-21 23:05:26 +0000
commit5415c856eaccd1bc5d064022770a288f43b2e94f (patch)
tree5973db4e6f81b5e311e8944700ded5db1083d440 /shell
parentb74a2dba571d1c5a6127c683fb50923336d9c59f (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.c2
-rw-r--r--shell/hush.c6
-rw-r--r--shell/lash_unused.c4
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));
}