From: Luca Bacci Date: Mon, 2 Jan 2023 13:16:47 +0000 (+0100) Subject: Rework _babl_mkdir () X-Git-Tag: archive/raspbian/1%0.1.106-3+rpi1^2~15^2^2~33 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=276c4e4907b4cf636c90926f989f7279a7cba9af;p=babl.git Rework _babl_mkdir () --- diff --git a/babl/babl-cache.c b/babl/babl-cache.c index 433f5c7..efdce3f 100644 --- a/babl/babl-cache.c +++ b/babl/babl-cache.c @@ -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; } } diff --git a/babl/babl-util.c b/babl/babl-util.c index 66a9290..2b78a5e 100644 --- a/babl/babl-util.c +++ b/babl/babl-util.c @@ -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, diff --git a/babl/babl-util.h b/babl/babl-util.h index 6c96540..fce8e8f 100644 --- a/babl/babl-util.h +++ b/babl/babl-util.h @@ -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,