diff options
-rw-r--r-- | libopkg/opkg_conf.c | 28 | ||||
-rw-r--r-- | libopkg/pkg_dest.c | 6 | ||||
-rw-r--r-- | libopkg/pkg_dest.h | 1 |
3 files changed, 8 insertions, 27 deletions
diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c index 47e11ec..dc2c5f9 100644 --- a/libopkg/opkg_conf.c +++ b/libopkg/opkg_conf.c @@ -688,17 +688,18 @@ int opkg_conf_write_status_files(opkg_conf_t *conf) pkg_vec_t *all; pkg_t *pkg; int i; - int err; - FILE * status_file=NULL; + FILE *fp; if (conf->noaction) return 0; dest = (pkg_dest_t *)void_list_first(&conf->pkg_dest_list)->data; - status_file = fopen(dest->status_file_tmp_name, "w"); - if (status_file == NULL) { + + fp = fopen(dest->status_file_name, "w"); + if (fp == NULL) { fprintf(stderr, "%s: Can't open status file: %s for writing: %s\n", - __FUNCTION__, dest->status_file_tmp_name, strerror(errno)); + __FUNCTION__, dest->status_file_name, strerror(errno)); + return -1; } all = pkg_vec_alloc(); @@ -719,25 +720,12 @@ int opkg_conf_write_status_files(opkg_conf_t *conf) __FUNCTION__, pkg->name); continue; } - if (status_file) { - pkg_print_status(pkg, status_file); - } + pkg_print_status(pkg, fp); } pkg_vec_free(all); + fclose(fp); - if (status_file) { - err = ferror(status_file); - fclose(status_file); - if (!err) { - file_move(dest->status_file_tmp_name, dest->status_file_name); - } else { - fprintf(stderr, "%s: ERROR: An error has occurred writing %s, " - "retaining old %s\n", __FUNCTION__, - dest->status_file_tmp_name, dest->status_file_name); - } - status_file = NULL; - } return 0; } diff --git a/libopkg/pkg_dest.c b/libopkg/pkg_dest.c index b1b502a..2adaf62 100644 --- a/libopkg/pkg_dest.c +++ b/libopkg/pkg_dest.c @@ -56,9 +56,6 @@ int pkg_dest_init(pkg_dest_t *dest, const char *name, const char *root_dir,const sprintf_alloc(&dest->status_file_name, "%s/%s", dest->opkg_dir, OPKG_STATUS_FILE_SUFFIX); - sprintf_alloc(&dest->status_file_tmp_name, "%s/%s.tmp", - dest->opkg_dir, OPKG_STATUS_FILE_SUFFIX); - dest->status_file = NULL; return 0; @@ -84,9 +81,6 @@ void pkg_dest_deinit(pkg_dest_t *dest) free(dest->status_file_name); dest->status_file_name = NULL; - free(dest->status_file_tmp_name); - dest->status_file_tmp_name = NULL; - if (dest->status_file) { fclose(dest->status_file); } diff --git a/libopkg/pkg_dest.h b/libopkg/pkg_dest.h index d5d5b3c..0966a9c 100644 --- a/libopkg/pkg_dest.h +++ b/libopkg/pkg_dest.h @@ -29,7 +29,6 @@ struct pkg_dest char *lists_dir; char *info_dir; char *status_file_name; - char *status_file_tmp_name; FILE *status_file; }; |