libbb: added xfdopen_for_read/write

function                                             old     new   delta
xfdopen_helper                                         -      40     +40
logdir_open                                         1163    1184     +21
process_stdin                                        433     443     +10
xfdopen_for_write                                      -       9      +9
doCommands                                          2465    2474      +9
patch_main                                          1214    1222      +8
bbunpack                                             457     465      +8
xfdopen_for_read                                       -       7      +7
scan_tree                                            258     262      +4
xstrtoul_range_sfx                                   230     231      +1
sendmail_main                                        957     955      -2
passwd_main                                         1027    1023      -4
parse                                                969     964      -5
test_main                                            253     247      -6
sed_main                                             655     649      -6
dos2unix_main                                        437     429      -8
fbsplash_main                                        950     938     -12
handle_dir_common                                    371     354     -17
expand_vars_to_list                                 2197    2169     -28
update_passwd                                       1275    1246     -29
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 7/10 up/down: 117/-117)           Total: 0 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2009-11-15 23:28:11 +01:00
parent 647553a4fc
commit a7ccdeef39
15 changed files with 51 additions and 49 deletions

View file

@ -293,7 +293,7 @@ static int parse(const char *boundary, char **argv)
}
// parent dumps to fd[1]
close(fd[0]);
fp = fdopen(fd[1], "w");
fp = xfdopen_for_write(fd[1]);
signal(SIGPIPE, SIG_IGN); // ignore EPIPE
// or create a file for dump
} else {

View file

@ -93,7 +93,7 @@ int sendmail_main(int argc UNUSED_PARAM, char **argv)
// save initial stdin since body is piped!
xdup2(STDIN_FILENO, 3);
G.fp0 = fdopen(3, "r");
G.fp0 = xfdopen_for_read(3);
// parse options
// -f is required. -H and -S are mutually exclusive