aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/stdpaths.c
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2015-10-17 21:46:30 +0300
committerZyX <kp-pav@yandex.ru>2015-10-23 14:54:11 +0300
commita82a059921f36fb580026ef4cc31f64c110d07b7 (patch)
tree77b2761f4c37b5c7485058f0324846cf22b65fca /src/nvim/os/stdpaths.c
parentaadaa1fed4d471fc2e286b0ffa151c006482389e (diff)
downloadrneovim-a82a059921f36fb580026ef4cc31f64c110d07b7.tar.gz
rneovim-a82a059921f36fb580026ef4cc31f64c110d07b7.tar.bz2
rneovim-a82a059921f36fb580026ef4cc31f64c110d07b7.zip
option: Add `//` to the end of default `&directory`
Diffstat (limited to 'src/nvim/os/stdpaths.c')
-rw-r--r--src/nvim/os/stdpaths.c13
1 files changed, 11 insertions, 2 deletions
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;
}