extern "C" {
#endif
-#include <Windows.h>
-#include <BaseTsd.h>
+#include <windows.h>
+#include <basetsd.h>
#include <pthread.h>
#include <stdio.h>
va_list arg;
va_start(arg, format);
- size = vsnprintf(NULL, 0, format, arg) + 1;
+ size = vsnprintf(NULL, 0, format, arg);
va_end(arg);
+ if (size < 0)
+ return -1;
+ size++;
*buffer = malloc(size);
- if (buffer == NULL)
- printf("Cannot allocate memory");
+ if (*buffer == NULL)
+ return -1;
va_start(arg, format);
ret = vsnprintf(*buffer, size, format, arg);