Replace raw call to snprintf() by llvm streams.

llvm-svn: 164554
This commit is contained in:
Dmitri Gribenko 2012-09-24 20:56:28 +00:00
parent ca10389bfe
commit ae07f72017
1 changed files with 23 additions and 20 deletions

View File

@ -27,6 +27,7 @@
#include "llvm/Config/llvm-config.h" #include "llvm/Config/llvm-config.h"
#include "llvm/Support/raw_ostream.h" #include "llvm/Support/raw_ostream.h"
#include "llvm/Support/ErrorHandling.h" #include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include <cstdio> #include <cstdio>
#include <ctime> #include <ctime>
using namespace clang; using namespace clang;
@ -589,27 +590,29 @@ static void ComputeDATE_TIME(SourceLocation &DATELoc, SourceLocation &TIMELoc,
"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"
}; };
char TmpBuffer[32]; {
#ifdef LLVM_ON_WIN32 SmallString<32> TmpBuffer;
sprintf(TmpBuffer, "\"%s %2d %4d\"", Months[TM->tm_mon], TM->tm_mday, llvm::raw_svector_ostream TmpStream(TmpBuffer);
TM->tm_year+1900); TmpStream << llvm::format("\"%s %2d %4d\"", Months[TM->tm_mon],
#else TM->tm_mday, TM->tm_year + 1900);
snprintf(TmpBuffer, sizeof(TmpBuffer), "\"%s %2d %4d\"", Months[TM->tm_mon], TM->tm_mday, StringRef DateStr = TmpStream.str();
TM->tm_year+1900);
#endif
Token TmpTok; Token TmpTok;
TmpTok.startToken(); TmpTok.startToken();
PP.CreateString(TmpBuffer, strlen(TmpBuffer), TmpTok); PP.CreateString(DateStr.data(), DateStr.size(), TmpTok);
DATELoc = TmpTok.getLocation(); DATELoc = TmpTok.getLocation();
}
#ifdef LLVM_ON_WIN32 {
sprintf(TmpBuffer, "\"%02d:%02d:%02d\"", TM->tm_hour, TM->tm_min, TM->tm_sec); SmallString<32> TmpBuffer;
#else llvm::raw_svector_ostream TmpStream(TmpBuffer);
snprintf(TmpBuffer, sizeof(TmpBuffer), "\"%02d:%02d:%02d\"", TM->tm_hour, TM->tm_min, TM->tm_sec); TmpStream << llvm::format("\"%02d:%02d:%02d\"",
#endif TM->tm_hour, TM->tm_min, TM->tm_sec);
PP.CreateString(TmpBuffer, strlen(TmpBuffer), TmpTok); StringRef TimeStr = TmpStream.str();
Token TmpTok;
TmpTok.startToken();
PP.CreateString(TimeStr.data(), TimeStr.size(), TmpTok);
TIMELoc = TmpTok.getLocation(); TIMELoc = TmpTok.getLocation();
}
} }