From 5415c856eaccd1bc5d064022770a288f43b2e94f Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 21 Jul 2008 23:05:26 +0000 Subject: 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 --- archival/dpkg.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'archival/dpkg.c') 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) status_node_t *status_node = NULL; unsigned status_num; - status_file = xfopen(filename, "r"); + status_file = xfopen_for_read(filename); while ((control_buffer = xmalloc_fgetline_str(status_file, "\n\n")) != NULL) { const unsigned package_num = fill_package_struct(control_buffer); if (package_num != -1) { @@ -790,8 +790,8 @@ static void write_buffer_no_status(FILE *new_status_file, const char *control_bu /* This could do with a cleanup */ static void write_status_file(deb_file_t **deb_file) { - FILE *old_status_file = xfopen("/var/lib/dpkg/status", "r"); - FILE *new_status_file = xfopen("/var/lib/dpkg/status.udeb", "w"); + FILE *old_status_file = xfopen_for_read("/var/lib/dpkg/status"); + FILE *new_status_file = xfopen_for_write("/var/lib/dpkg/status.udeb"); char *package_name; char *status_from_file; char *control_buffer = NULL; @@ -1161,7 +1161,7 @@ static char **create_list(const char *filename) int count; /* don't use [xw]fopen here, handle error ourself */ - list_stream = fopen(filename, "r"); + list_stream = fopen_for_read(filename); if (list_stream == NULL) { return NULL; } @@ -1548,7 +1548,7 @@ static void unpack_package(deb_file_t *deb_file) /* Create the list file */ list_filename = xasprintf("/var/lib/dpkg/info/%s.%s", package_name, "list"); - out_stream = xfopen(list_filename, "w"); + out_stream = xfopen_for_write(list_filename); while (archive_handle->sub_archive->passed) { /* the leading . has been stripped by data_extract_all_prefix already */ fputs(archive_handle->sub_archive->passed->data, out_stream); -- cgit v1.2.3