diff options
-rw-r--r-- | include/llvm/Support/raw_ostream.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Support/raw_ostream.h b/include/llvm/Support/raw_ostream.h index 58d5be2741..db312f8735 100644 --- a/include/llvm/Support/raw_ostream.h +++ b/include/llvm/Support/raw_ostream.h @@ -17,6 +17,7 @@ #include "llvm/ADT/StringExtras.h" #include <cassert> #include <cstring> +#include <cstdio> #include <string> #include <iosfwd> @@ -173,7 +174,11 @@ public: /// returns the length of the formatted string. If the buffer is too small, /// this returns a length to retry with, which will be larger than BufferSize. virtual unsigned print(char *Buffer, unsigned BufferSize) const { +#ifdef WIN32 + int N = _snprintf(Buffer, BufferSize-1, Fmt, Val); +#else int N = snprintf(Buffer, BufferSize-1, Fmt, Val); +#endif if (N < 0) // VC++ and old GlibC return negative on overflow. return BufferSize*2; if (unsigned(N) >= BufferSize-1)// Other impls yield number of bytes needed. |