summaryrefslogtreecommitdiffstats
path: root/libopkg
diff options
context:
space:
mode:
Diffstat (limited to 'libopkg')
-rw-r--r--libopkg/opkg_conf.c28
-rw-r--r--libopkg/pkg_dest.c6
-rw-r--r--libopkg/pkg_dest.h1
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;
};