diff options
Diffstat (limited to 'src/nvim')
| -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 | 
