1) mingw doesn't have _vscprintf(); mingw instead has a working snprintf. 2) windows compilers that _do_ have a working _vscprintf spell it so; they do not spell it _vcsprintf().
@@ -0,0 +1,3 @@
+ o Major bugfixes:
+ - Fix two typos in tor_vasprintf() that prevented compilation in
+ Windows.
@@ -355,12 +355,12 @@ tor_vasprintf(char **strp, const char *fmt, va_list args)
else
*strp = strp_tmp;
return r;
-#elif defined(MS_WINDOWS)
+#elif defined(_MSC_VER)
/* On Windows, _vsnprintf won't tell us the length of the string if it
* overflows, so we need to use _vcsprintf to tell how much to allocate */
int len, r;
char *res;
- len = _vcsprintf(fmt, args);
+ len = _vscprintf(fmt, args);
if (len < 0) {
*strp = NULL;
return -1;