about summary refs log tree commit diff stats
path: root/src/common.c
diff options
context:
space:
mode:
authorSteffen Jaeckel <jaeckel-floss@eyet-services.de>2022-03-13 12:02:59 +0100
committerSteffen Jaeckel <jaeckel-floss@eyet-services.de>2022-03-14 13:17:46 +0100
commit705b6f7806bb2bab00dded8beed8c43f4190bb93 (patch)
tree448a7c897212974a8e1270f75518156a564eff8e /src/common.c
parentb8e46552bffc559263e86b2dcc0331b3f47065b7 (diff)
downloadprofani-tty-705b6f7806bb2bab00dded8beed8c43f4190bb93.tar.gz
use `g_mkdir_with_parents()` instead of home-baked solution
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
Diffstat (limited to 'src/common.c')
-rw-r--r--src/common.c36
1 files changed, 4 insertions, 32 deletions
diff --git a/src/common.c b/src/common.c
index 6020b8c3..5e0fabf6 100644
--- a/src/common.c
+++ b/src/common.c
@@ -71,44 +71,16 @@ struct curl_data_t
 static size_t _data_callback(void* ptr, size_t size, size_t nmemb, void* data);
 
 gboolean
-create_dir(char* name)
+create_dir(const char* name)
 {
-    struct stat sb;
-
-    if (stat(name, &sb) != 0) {
-        if (errno != ENOENT || mkdir(name, S_IRWXU) != 0) {
-            return FALSE;
-        }
-    } else {
-        if ((sb.st_mode & S_IFDIR) != S_IFDIR) {
-            log_debug("create_dir: %s exists and is not a directory!", name);
-            return FALSE;
-        }
+    if (g_mkdir_with_parents(name, S_IRWXU) != 0) {
+        log_error("Failed to create directory at '%s' with error '%s'", name, strerror(errno));
+        return FALSE;
     }
-
     return TRUE;
 }
 
 gboolean
-mkdir_recursive(const char* dir)
-{
-    gboolean result = TRUE;
-
-    for (int i = 1; i <= strlen(dir); i++) {
-        if (dir[i] == '/' || dir[i] == '\0') {
-            gchar* next_dir = g_strndup(dir, i);
-            result = create_dir(next_dir);
-            g_free(next_dir);
-            if (!result) {
-                break;
-            }
-        }
-    }
-
-    return result;
-}
-
-gboolean
 copy_file(const char* const sourcepath, const char* const targetpath, const gboolean overwrite_existing)
 {
     GFile* source = g_file_new_for_path(sourcepath);