diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2015-12-12 22:57:02 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-12-12 22:57:02 -0500 |
commit | ebdb802bf55a45eb7e4fa59cdb0689e7a3323f86 (patch) | |
tree | 90ca7f70057a79e5bf5370dc29954262c4f35eff /src | |
parent | f183cc14de40542899f1bad44943695b0ccf0e5c (diff) | |
parent | 810d31a43001e0955a0a3194998afcc9a0ed33ec (diff) | |
download | rneovim-ebdb802bf55a45eb7e4fa59cdb0689e7a3323f86.tar.gz rneovim-ebdb802bf55a45eb7e4fa59cdb0689e7a3323f86.tar.bz2 rneovim-ebdb802bf55a45eb7e4fa59cdb0689e7a3323f86.zip |
Merge pull request #3816 from sethjackson/win-setenv
Windows: Implement os_setenv()
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/os/env.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nvim/os/env.c b/src/nvim/os/env.c index 0e052ced55..a791dca39c 100644 --- a/src/nvim/os/env.c +++ b/src/nvim/os/env.c @@ -46,7 +46,19 @@ bool os_env_exists(const char *name) int os_setenv(const char *name, const char *value, int overwrite) FUNC_ATTR_NONNULL_ALL { +#ifdef HAVE_SETENV return setenv(name, value, overwrite); +#elif defined(HAVE_PUTENV_S) + if (!overwrite && os_getenv(name) != NULL) { + return 0; + } + if (_putenv_s(name, value) == 0) { + return 0; + } + return -1; +#else +# error "This system has no implementation available for os_setenv()" +#endif } /// Unset environment variable |