From 0958ab0fd1fe8606f15ce38a7b893c6b74dc2aad Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 23 Aug 2008 19:27:03 +0000 Subject: [PATCH] conditionalize this to work on windows, untested but it should work according to the intarnetz git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55248 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/raw_ostream.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/llvm/Support/raw_ostream.h b/include/llvm/Support/raw_ostream.h index 58d5be27417..db312f87358 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 #include +#include #include #include @@ -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.