diff options
author | ZyX <kp-pav@yandex.ru> | 2015-10-17 21:46:30 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-23 14:54:11 +0300 |
commit | a82a059921f36fb580026ef4cc31f64c110d07b7 (patch) | |
tree | 77b2761f4c37b5c7485058f0324846cf22b65fca /src | |
parent | aadaa1fed4d471fc2e286b0ffa151c006482389e (diff) | |
download | rneovim-a82a059921f36fb580026ef4cc31f64c110d07b7.tar.gz rneovim-a82a059921f36fb580026ef4cc31f64c110d07b7.tar.bz2 rneovim-a82a059921f36fb580026ef4cc31f64c110d07b7.zip |
option: Add `//` to the end of default `&directory`
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/option.c | 9 | ||||
-rw-r--r-- | src/nvim/os/stdpaths.c | 13 | ||||
-rw-r--r-- | src/nvim/shada.c | 2 |
3 files changed, 17 insertions, 7 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c index 9fa8a6539e..9089947803 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -698,10 +698,11 @@ void set_init_1(void) #endif false); - set_string_default("viewdir", stdpaths_user_data_subpath("view"), true); - set_string_default("backupdir", stdpaths_user_data_subpath("backup"), true); - set_string_default("directory", stdpaths_user_data_subpath("swap"), true); - set_string_default("undodir", stdpaths_user_data_subpath("undo"), true); + set_string_default("viewdir", stdpaths_user_data_subpath("view", 0), true); + set_string_default("backupdir", stdpaths_user_data_subpath("backup", 0), + true); + set_string_default("directory", stdpaths_user_data_subpath("swap", 2), true); + set_string_default("undodir", stdpaths_user_data_subpath("undo", 0), true); // Set default for &runtimepath. All necessary expansions are performed in // this function. set_runtimepath_default(); diff --git a/src/nvim/os/stdpaths.c b/src/nvim/os/stdpaths.c index 0ed7aec2a6..d4bff65312 100644 --- a/src/nvim/os/stdpaths.c +++ b/src/nvim/os/stdpaths.c @@ -92,10 +92,19 @@ char *stdpaths_user_conf_subpath(const char *fname) /// Return subpath of $XDG_DATA_HOME /// /// @param[in] fname New component of the path. +/// @param[in] trailing_pathseps Amount of trailing path separators to add. /// /// @return [allocated] `$XDG_DATA_HOME/nvim/{fname}` -char *stdpaths_user_data_subpath(const char *fname) +char *stdpaths_user_data_subpath(const char *fname, + const size_t trailing_pathseps) FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL { - return concat_fnames_realloc(get_xdg_home(kXDGDataHome), fname, true); + char *ret = concat_fnames_realloc(get_xdg_home(kXDGDataHome), fname, true); + if (trailing_pathseps) { + const size_t len = strlen(ret); + ret = xrealloc(ret, len + trailing_pathseps + 1); + memset(ret + len, PATHSEP, trailing_pathseps); + ret[len + trailing_pathseps] = NUL; + } + return ret; } diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 6fd13a88b7..d6cbba4b12 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -1591,7 +1591,7 @@ static const char *shada_get_default_file(void) FUNC_ATTR_WARN_UNUSED_RESULT { if (default_shada_file == NULL) { - char *shada_dir = stdpaths_user_data_subpath("shada"); + char *shada_dir = stdpaths_user_data_subpath("shada", 0); default_shada_file = concat_fnames_realloc(shada_dir, "main.shada", true); } return default_shada_file; |