aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/support/env_win32.c
diff options
context:
space:
mode:
authorGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2015-03-19 19:21:15 +0100
committerGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2015-03-19 19:21:15 +0100
commitf0863b02270f1b95d5c8b9f3f962959e4cbbdd42 (patch)
treee8a441a621d0addfa82a8fc3052080e78a012a2a /src/core/support/env_win32.c
parentf358573091ef9c14c39ea56d9d9883410a533992 (diff)
parent43c5fe6825098b127e33159d3cf14ac937ce7db5 (diff)
Merge branch 'master' of github.com:google/grpc into freebsd
Conflicts: Makefile templates/Makefile.template
Diffstat (limited to 'src/core/support/env_win32.c')
-rw-r--r--src/core/support/env_win32.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/core/support/env_win32.c b/src/core/support/env_win32.c
index 177cc36a30..9b4cd698ad 100644
--- a/src/core/support/env_win32.c
+++ b/src/core/support/env_win32.c
@@ -36,6 +36,7 @@
#ifdef GPR_WIN32
#include "src/core/support/env.h"
+#include "src/core/support/string.h"
#include <stdlib.h>
@@ -43,14 +44,16 @@
#include <grpc/support/log.h>
char *gpr_getenv(const char *name) {
- size_t required_size;
+ size_t size;
char *result = NULL;
+ char *duplicated;
+ errno_t err;
- getenv_s(&required_size, NULL, 0, name);
- if (required_size == 0) return NULL;
- result = gpr_malloc(required_size);
- getenv_s(&required_size, result, required_size, name);
- return result;
+ err = _dupenv_s(&result, &size, name);
+ if (err) return NULL;
+ duplicated = gpr_strdup(result);
+ free(result);
+ return duplicated;
}
void gpr_setenv(const char *name, const char *value) {