diff --git a/src/core/lib/support/string_win32.c b/src/core/lib/support/string_win32.c index 9b398b89c56fcc884e4cd6d4c7317e4cbe077f44..6b92f792534abba74cf0fe47f571bbd608387686 100644 --- a/src/core/lib/support/string_win32.c +++ b/src/core/lib/support/string_win32.c @@ -37,25 +37,17 @@ #ifdef GPR_WIN32_STRING -/* Some platforms (namely msys) need wchar to be included BEFORE - anything else, especially strsafe.h. */ -#include <wchar.h> - #include <stdarg.h> #include <stdio.h> #include <string.h> -#include <strsafe.h> #include <grpc/support/alloc.h> -#include <grpc/support/string_util.h> #include "src/core/lib/support/string.h" int gpr_asprintf(char **strp, const char *format, ...) { va_list args; int ret; - - HRESULT success; size_t strp_buflen; /* Determine the length. */ @@ -76,9 +68,9 @@ int gpr_asprintf(char **strp, const char *format, ...) { /* Print to the buffer. */ va_start(args, format); - success = StringCbVPrintfA(*strp, strp_buflen, format, args); + ret = vsnprintf_s(*strp, strp_buflen, _TRUNCATE, format, args); va_end(args); - if (success == S_OK) { + if ((size_t)ret == strp_buflen - 1) { return ret; }