aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/support/env_win32.c
diff options
context:
space:
mode:
authorGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2016-01-26 22:41:19 +0100
committerGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2016-01-26 22:41:19 +0100
commit742eac1814a78af2c3e6e3eb5afa1f1732ff6f8d (patch)
treec05988be9b623b5a915fbd1497b76a83346efe59 /src/core/support/env_win32.c
parent6236718f158654c99b2c2eb52b1e991ce3195c28 (diff)
Cleaning up Windows compilation.
Diffstat (limited to 'src/core/support/env_win32.c')
-rw-r--r--src/core/support/env_win32.c13
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) {