Remove status_file_tmp_name. This code does not improve robustness.
[oweals/opkg-lede.git] / libopkg / pkg_dest_list.c
index 75d0f3d4ada448c5942d08c6c4caca0514307a43..b117bbba2949ca127f6a18bd295febf366a0af51 100644 (file)
@@ -1,4 +1,4 @@
-/* pkg_dest_list.c - the itsy package management system
+/* pkg_dest_list.c - the opkg package management system
 
    Carl D. Worth
 
 #include "pkg_dest.h"
 #include "void_list.h"
 #include "pkg_dest_list.h"
+#include "libbb/libbb.h"
 
-int pkg_dest_list_elt_init(pkg_dest_list_elt_t *elt, pkg_dest_t *data)
+void pkg_dest_list_elt_init(pkg_dest_list_elt_t *elt, pkg_dest_t *data)
 {
-    return void_list_elt_init((void_list_elt_t *) elt, data);
+    void_list_elt_init((void_list_elt_t *) elt, data);
 }
 
 void pkg_dest_list_elt_deinit(pkg_dest_list_elt_t *elt)
@@ -31,18 +32,18 @@ void pkg_dest_list_elt_deinit(pkg_dest_list_elt_t *elt)
     void_list_elt_deinit((void_list_elt_t *) elt);
 }
 
-int pkg_dest_list_init(pkg_dest_list_t *list)
+void pkg_dest_list_init(pkg_dest_list_t *list)
 {
-    return void_list_init((void_list_t *) list);
+    void_list_init((void_list_t *) list);
 }
 
 void pkg_dest_list_deinit(pkg_dest_list_t *list)
 {
-    pkg_dest_list_elt_t *iter;
+    pkg_dest_list_elt_t *iter, *n;
     pkg_dest_t *pkg_dest;
 
-    for (iter = list->head; iter; iter = iter->next) {
-       pkg_dest = iter->data;
+    list_for_each_entry_safe(iter, n,  &list->head, node) {
+       pkg_dest = (pkg_dest_t *)iter->data;
        pkg_dest_deinit(pkg_dest);
 
        /* malloced in pkg_dest_list_append */
@@ -55,28 +56,19 @@ void pkg_dest_list_deinit(pkg_dest_list_t *list)
 pkg_dest_t *pkg_dest_list_append(pkg_dest_list_t *list, const char *name,
                                 const char *root_dir,const char *lists_dir)
 {
-    int err;
     pkg_dest_t *pkg_dest;
 
-    /* freed in plg_dest_list_deinit */
-    pkg_dest = malloc(sizeof(pkg_dest_t));
-    if (pkg_dest == NULL) {
-       fprintf(stderr, "%s: out of memory\n", __FUNCTION__);
-       return NULL;
-    }
-
+    /* freed in pkg_dest_list_deinit */
+    pkg_dest = xcalloc(1, sizeof(pkg_dest_t));
     pkg_dest_init(pkg_dest, name, root_dir,lists_dir);
-    err = void_list_append((void_list_t *) list, pkg_dest);
-    if (err) {
-       return NULL;
-    }
+    void_list_append((void_list_t *) list, pkg_dest);
 
     return pkg_dest;
 }
 
-int pkg_dest_list_push(pkg_dest_list_t *list, pkg_dest_t *data)
+void pkg_dest_list_push(pkg_dest_list_t *list, pkg_dest_t *data)
 {
-    return void_list_push((void_list_t *) list, data);
+    void_list_push((void_list_t *) list, data);
 }
 
 pkg_dest_list_elt_t *pkg_dest_list_pop(pkg_dest_list_t *list)