diff options
author | ZyX <kp-pav@yandex.ru> | 2015-10-17 15:48:38 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-23 14:54:10 +0300 |
commit | a06a8bad6080e605c25124446c7441cee8911234 (patch) | |
tree | 2758c9b642585e26b2c2cbcee8f057450142facd /src/nvim/os/stdpaths.c | |
parent | 2e750973e936a04d9effea88f78f03a5a07ab282 (diff) | |
download | rneovim-a06a8bad6080e605c25124446c7441cee8911234.tar.gz rneovim-a06a8bad6080e605c25124446c7441cee8911234.tar.bz2 rneovim-a06a8bad6080e605c25124446c7441cee8911234.zip |
stdpaths: Give proper error message in case directory creation failed
Diffstat (limited to 'src/nvim/os/stdpaths.c')
-rw-r--r-- | src/nvim/os/stdpaths.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/nvim/os/stdpaths.c b/src/nvim/os/stdpaths.c index 9d93f25a7e..e242cd3d69 100644 --- a/src/nvim/os/stdpaths.c +++ b/src/nvim/os/stdpaths.c @@ -64,13 +64,15 @@ static char *get_xdg_home(const XDGVarType idx) return dir; } -static void create_dir(const char *dir, int mode, const char *suffix) +static void create_dir(const char *dir, int mode) FUNC_ATTR_NONNULL_ALL { char *failed; - if (!os_mkdir_recurse(dir, mode, &failed)) { - // TODO: Create a folder in $TMPDIR instead - DLOG("Create dir failed"); + int err; + if ((err = os_mkdir_recurse(dir, mode, &failed)) != 0) { + EMSG3(_("E920: Failed to create data directory %s: %s"), failed, + os_strerror(-err)); + xfree(failed); } } @@ -85,7 +87,7 @@ char *stdpaths_user_data_subpath(const char *fname) { char *dir = concat_fnames_realloc(get_xdg_home(kXDGDataHome), fname, true); if (!os_isdir((char_u *)dir)) { - create_dir(dir, 0755, fname); + create_dir(dir, 0755); } return dir; } |