aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/stdpaths.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2015-10-17 15:48:38 +0300
committerZyX <kp-pav@yandex.ru>2015-10-23 14:54:10 +0300
commita06a8bad6080e605c25124446c7441cee8911234 (patch)
tree2758c9b642585e26b2c2cbcee8f057450142facd /src/nvim/os/stdpaths.c
parent2e750973e936a04d9effea88f78f03a5a07ab282 (diff)
downloadrneovim-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.c12
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;
}