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 /archival | |
parent | b74a2dba571d1c5a6127c683fb50923336d9c59f (diff) | |
download | busybox-w32-5415c856eaccd1bc5d064022770a288f43b2e94f.tar.gz busybox-w32-5415c856eaccd1bc5d064022770a288f43b2e94f.tar.bz2 busybox-w32-5415c856eaccd1bc5d064022770a288f43b2e94f.zip |
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 'archival')
-rw-r--r-- | archival/cpio.c | 2 | ||||
-rw-r--r-- | archival/dpkg.c | 10 | ||||
-rw-r--r-- | archival/tar.c | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/archival/cpio.c b/archival/cpio.c index ebe911a96..37b6b5cce 100644 --- a/archival/cpio.c +++ b/archival/cpio.c | |||
@@ -287,7 +287,7 @@ int cpio_main(int argc UNUSED_PARAM, char **argv) | |||
287 | bb_show_usage(); | 287 | bb_show_usage(); |
288 | if (opt & CPIO_OPT_FILE) { | 288 | if (opt & CPIO_OPT_FILE) { |
289 | fclose(stdout); | 289 | fclose(stdout); |
290 | stdout = fopen(cpio_filename, "w"); | 290 | stdout = fopen_for_write(cpio_filename); |
291 | /* Paranoia: I don't trust libc that much */ | 291 | /* Paranoia: I don't trust libc that much */ |
292 | xdup2(fileno(stdout), STDOUT_FILENO); | 292 | xdup2(fileno(stdout), STDOUT_FILENO); |
293 | } | 293 | } |
diff --git a/archival/dpkg.c b/archival/dpkg.c index 671aae7cc..9ea308703 100644 --- a/archival/dpkg.c +++ b/archival/dpkg.c | |||
@@ -748,7 +748,7 @@ static void index_status_file(const char *filename) | |||
748 | status_node_t *status_node = NULL; | 748 | status_node_t *status_node = NULL; |
749 | unsigned status_num; | 749 | unsigned status_num; |
750 | 750 | ||
751 | status_file = xfopen(filename, "r"); | 751 | status_file = xfopen_for_read(filename); |
752 | while ((control_buffer = xmalloc_fgetline_str(status_file, "\n\n")) != NULL) { | 752 | while ((control_buffer = xmalloc_fgetline_str(status_file, "\n\n")) != NULL) { |
753 | const unsigned package_num = fill_package_struct(control_buffer); | 753 | const unsigned package_num = fill_package_struct(control_buffer); |
754 | if (package_num != -1) { | 754 | if (package_num != -1) { |
@@ -790,8 +790,8 @@ static void write_buffer_no_status(FILE *new_status_file, const char *control_bu | |||
790 | /* This could do with a cleanup */ | 790 | /* This could do with a cleanup */ |
791 | static void write_status_file(deb_file_t **deb_file) | 791 | static void write_status_file(deb_file_t **deb_file) |
792 | { | 792 | { |
793 | FILE *old_status_file = xfopen("/var/lib/dpkg/status", "r"); | 793 | FILE *old_status_file = xfopen_for_read("/var/lib/dpkg/status"); |
794 | FILE *new_status_file = xfopen("/var/lib/dpkg/status.udeb", "w"); | 794 | FILE *new_status_file = xfopen_for_write("/var/lib/dpkg/status.udeb"); |
795 | char *package_name; | 795 | char *package_name; |
796 | char *status_from_file; | 796 | char *status_from_file; |
797 | char *control_buffer = NULL; | 797 | char *control_buffer = NULL; |
@@ -1161,7 +1161,7 @@ static char **create_list(const char *filename) | |||
1161 | int count; | 1161 | int count; |
1162 | 1162 | ||
1163 | /* don't use [xw]fopen here, handle error ourself */ | 1163 | /* don't use [xw]fopen here, handle error ourself */ |
1164 | list_stream = fopen(filename, "r"); | 1164 | list_stream = fopen_for_read(filename); |
1165 | if (list_stream == NULL) { | 1165 | if (list_stream == NULL) { |
1166 | return NULL; | 1166 | return NULL; |
1167 | } | 1167 | } |
@@ -1548,7 +1548,7 @@ static void unpack_package(deb_file_t *deb_file) | |||
1548 | 1548 | ||
1549 | /* Create the list file */ | 1549 | /* Create the list file */ |
1550 | list_filename = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "list"); | 1550 | list_filename = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "list"); |
1551 | out_stream = xfopen(list_filename, "w"); | 1551 | out_stream = xfopen_for_write(list_filename); |
1552 | while (archive_handle->sub_archive->passed) { | 1552 | while (archive_handle->sub_archive->passed) { |
1553 | /* the leading . has been stripped by data_extract_all_prefix already */ | 1553 | /* the leading . has been stripped by data_extract_all_prefix already */ |
1554 | fputs(archive_handle->sub_archive->passed->data, out_stream); | 1554 | fputs(archive_handle->sub_archive->passed->data, out_stream); |
diff --git a/archival/tar.c b/archival/tar.c index a46442f8e..b2481b843 100644 --- a/archival/tar.c +++ b/archival/tar.c | |||
@@ -663,7 +663,7 @@ static llist_t *append_file_list_to_list(llist_t *list) | |||
663 | llist_t *newlist = NULL; | 663 | llist_t *newlist = NULL; |
664 | 664 | ||
665 | while (list) { | 665 | while (list) { |
666 | src_stream = xfopen(llist_pop(&list), "r"); | 666 | src_stream = xfopen_for_read(llist_pop(&list)); |
667 | while ((line = xmalloc_fgetline(src_stream)) != NULL) { | 667 | while ((line = xmalloc_fgetline(src_stream)) != NULL) { |
668 | /* kill trailing '/' unless the string is just "/" */ | 668 | /* kill trailing '/' unless the string is just "/" */ |
669 | char *cp = last_char_is(line, '/'); | 669 | char *cp = last_char_is(line, '/'); |