diff options
author | 2016-01-26 22:41:19 +0100 | |
---|---|---|
committer | 2016-01-26 22:41:19 +0100 | |
commit | 742eac1814a78af2c3e6e3eb5afa1f1732ff6f8d (patch) | |
tree | c05988be9b623b5a915fbd1497b76a83346efe59 /src/core/support/env_win32.c | |
parent | 6236718f158654c99b2c2eb52b1e991ce3195c28 (diff) |
Cleaning up Windows compilation.
Diffstat (limited to 'src/core/support/env_win32.c')
-rw-r--r-- | src/core/support/env_win32.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/support/env_win32.c b/src/core/support/env_win32.c index 6b1ff102b0..2ecf81ee71 100644 --- a/src/core/support/env_win32.c +++ b/src/core/support/env_win32.c @@ -47,14 +47,17 @@ char *gpr_getenv(const char *name) { size_t size; char *result = NULL; - char *duplicated; errno_t err; - err = _dupenv_s(&result, &size, name); + err = getenv_s(&size, NULL, 0, name); if (err) return NULL; - duplicated = gpr_strdup(result); - free(result); - return duplicated; + result = gpr_malloc(size); + err = getenv_s(&size, result, size, name); + if (err) { + gpr_free(result); + return NULL; + } + return result; } void gpr_setenv(const char *name, const char *value) { |