pkg: coalesce soem flag members into a packed bit field
[oweals/opkg-lede.git] / libopkg / pkg_dest.c
index b1b502ace75be540d8bb314b70856804b6d4ee2c..341d0a84cc720d229b63fe4e01525d6f4064b70f 100644 (file)
    General Public License for more details.
 */
 
-#include "includes.h"
+#include <stdio.h>
 
 #include "pkg_dest.h"
 #include "file_util.h"
-#include "str_util.h"
 #include "sprintf_alloc.h"
 #include "opkg_conf.h"
 #include "opkg_cmd.h"
 #include "opkg_defines.h"
 #include "libbb/libbb.h"
 
-int pkg_dest_init(pkg_dest_t *dest, const char *name, const char *root_dir,const char * lists_dir)
+int pkg_dest_init(pkg_dest_t * dest, const char *name, const char *root_dir,
+                 const char *lists_dir)
 {
-    dest->name = xstrdup(name);
+       dest->name = xstrdup(name);
 
-    /* Guarantee that dest->root_dir ends with a '/' */
-    if (str_ends_with(root_dir, "/")) {
-       dest->root_dir = xstrdup(root_dir);
-    } else {
-       sprintf_alloc(&dest->root_dir, "%s/", root_dir);
-    }
-    file_mkdir_hier(dest->root_dir, 0755);
+       /* Guarantee that dest->root_dir ends with a '/' */
+       if (root_dir[strlen(root_dir) - 1] == '/') {
+               dest->root_dir = xstrdup(root_dir);
+       } else {
+               sprintf_alloc(&dest->root_dir, "%s/", root_dir);
+       }
+       file_mkdir_hier(dest->root_dir, 0755);
 
-    sprintf_alloc(&dest->opkg_dir, "%s%s",
-                 dest->root_dir, OPKG_STATE_DIR_PREFIX);
-    file_mkdir_hier(dest->opkg_dir, 0755);
+       sprintf_alloc(&dest->opkg_dir, "%s%s",
+                     dest->root_dir, OPKG_STATE_DIR_PREFIX);
+       file_mkdir_hier(dest->opkg_dir, 0755);
 
-    if (str_starts_with (lists_dir, "/")) 
-        sprintf_alloc(&dest->lists_dir, "%s", lists_dir);
-    else
-        sprintf_alloc(&dest->lists_dir, "/%s", lists_dir);
+       if (lists_dir[0] == '/')
+               sprintf_alloc(&dest->lists_dir, "%s", lists_dir);
+       else
+               sprintf_alloc(&dest->lists_dir, "/%s", lists_dir);
 
-    file_mkdir_hier(dest->lists_dir, 0755);
+       file_mkdir_hier(dest->lists_dir, 0755);
 
-    sprintf_alloc(&dest->info_dir, "%s/%s",
-                 dest->opkg_dir, OPKG_INFO_DIR_SUFFIX);
-    file_mkdir_hier(dest->info_dir, 0755);
+       sprintf_alloc(&dest->info_dir, "%s/%s",
+                     dest->opkg_dir, OPKG_INFO_DIR_SUFFIX);
+       file_mkdir_hier(dest->info_dir, 0755);
 
-    sprintf_alloc(&dest->status_file_name, "%s/%s",
-                 dest->opkg_dir, OPKG_STATUS_FILE_SUFFIX);
+       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;
+       return 0;
 }
 
-void pkg_dest_deinit(pkg_dest_t *dest)
+void pkg_dest_deinit(pkg_dest_t * dest)
 {
-    free(dest->name);
-    dest->name = NULL;
-
-    free(dest->root_dir);
-    dest->root_dir = NULL;
-
-    free(dest->opkg_dir);
-    dest->opkg_dir = NULL;
+       free(dest->name);
+       dest->name = NULL;
 
-    free(dest->lists_dir);
-    dest->lists_dir = NULL;
+       free(dest->root_dir);
+       dest->root_dir = NULL;
 
-    free(dest->info_dir);
-    dest->info_dir = NULL;
+       free(dest->opkg_dir);
+       dest->opkg_dir = NULL;
 
-    free(dest->status_file_name);
-    dest->status_file_name = NULL;
+       free(dest->lists_dir);
+       dest->lists_dir = NULL;
 
-    free(dest->status_file_tmp_name);
-    dest->status_file_tmp_name = NULL;
+       free(dest->info_dir);
+       dest->info_dir = NULL;
 
-    if (dest->status_file) {
-       fclose(dest->status_file);
-    }
-    dest->status_file = NULL;
+       free(dest->status_file_name);
+       dest->status_file_name = NULL;
 
-    dest->root_dir = NULL;
+       dest->root_dir = NULL;
 }