aboutsummaryrefslogtreecommitdiff
path: root/archival
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 /archival
parentb74a2dba571d1c5a6127c683fb50923336d9c59f (diff)
downloadbusybox-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.c2
-rw-r--r--archival/dpkg.c10
-rw-r--r--archival/tar.c2
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 */
791static void write_status_file(deb_file_t **deb_file) 791static 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, '/');