Rework _babl_mkdir ()
authorLuca Bacci <luca.bacci982@gmail.com>
Mon, 2 Jan 2023 13:16:47 +0000 (14:16 +0100)
committerØyvind "pippin" Kolås <pippin@gimp.org>
Tue, 3 Jan 2023 10:33:37 +0000 (10:33 +0000)
babl/babl-cache.c
babl/babl-util.c
babl/babl-util.h

index 433f5c7bf20675e118e1dd723c6b48673802a5a4..efdce3f7daa1c6f8b675c7ee29e772be6132de97 100644 (file)
@@ -51,20 +51,7 @@ mk_ancestry_iter (const char *path)
         {
           BablStat stat_buf;
           if ( ! (_babl_stat (copy, &stat_buf)==0 && S_ISDIR(stat_buf.st_mode)))
-            {
-              if (mk_ancestry_iter (copy) != 0)
-                {
-                  result = -1;
-                }
-              else
-                {
-#ifndef _WIN32
-                  result = _babl_mkdir (copy, S_IRWXU);
-#else
-                  result = _babl_mkdir (copy);
-#endif
-                }
-            }
+            result = mk_ancestry_iter (copy) == 0 ? _babl_mkdir (copy, S_IRWXU) : -1;
         }
     }
 
index 66a9290f8990aef94c5568d528602bb14d154268..2b78a5e7e86e467e2b7e342fbddcdc8b9dbc53a9 100644 (file)
@@ -244,6 +244,26 @@ _babl_stat (const char *path,
 #endif
 }
 
+int
+_babl_mkdir (const char *path,
+             int         mode)
+{
+#ifndef _WIN32
+  return mkdir (path, (mode_t) mode);
+#else
+  wchar_t *path_utf16 = babl_convert_utf8_to_utf16 (path);
+  int result = 0;
+  (void) mode;
+
+  result = _wmkdir (path_utf16);
+
+  if (path_utf16)
+    babl_free (path_utf16);
+
+  return result;
+#endif
+}
+
 void
 _babl_dir_foreach (const char             *path,
                    _babl_dir_foreach_cb_t  callback,
@@ -306,33 +326,6 @@ cleanup:
 #endif
 }
 
-#ifndef _WIN32
-
-int
-_babl_mkdir (const char *path,
-             mode_t      mode)
-{
-  return mkdir (path, mode);
-}
-
-#else
-
-int
-_babl_mkdir (const char *path)
-{
-  wchar_t *path_utf16 = babl_convert_utf8_to_utf16 (path);
-  int result = 0;
-
-  result = _wmkdir (path_utf16);
-
-  if (path_utf16)
-    babl_free (path_utf16);
-
-  return result;
-}
-
-#endif
-
 int
 _babl_file_get_contents (const char  *path,
                          char       **contents,
index 6c965408e53e18af84d90f53efbd86b198ca19e9..fce8e8fc2ce6374a921422dfba5e43e0182db88e 100644 (file)
@@ -59,14 +59,9 @@ int
 _babl_stat (const char *path,
             BablStat   *buffer);
 
-#ifndef _WIN32
 int
 _babl_mkdir (const char *path,
-             mode_t      mode);
-#else
-int
-_babl_mkdir (const char *path);
-#endif
+             int         mode);
 
 typedef void
 (*_babl_dir_foreach_cb_t) (const char *base_path,