aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Driver/HTMLPrint.cpp6
-rw-r--r--include/clang/Rewrite/Rewriter.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/Driver/HTMLPrint.cpp b/Driver/HTMLPrint.cpp
index 981be851cf..165689d143 100644
--- a/Driver/HTMLPrint.cpp
+++ b/Driver/HTMLPrint.cpp
@@ -56,8 +56,10 @@ HTMLPrinter::~HTMLPrinter() {
// Emit the HTML.
if (const RewriteBuffer *RewriteBuf = R.getRewriteBufferFor(FileID)) {
- std::string S(RewriteBuf->begin(), RewriteBuf->end());
- printf("%s\n", S.c_str());
+ char *Buffer = (char*)malloc(RewriteBuf->size());
+ std::copy(RewriteBuf->begin(), RewriteBuf->end(), Buffer);
+ fwrite(Buffer, 1, RewriteBuf->size(), stdout);
+ free(Buffer);
}
}
diff --git a/include/clang/Rewrite/Rewriter.h b/include/clang/Rewrite/Rewriter.h
index bb4e16a8e8..261465ea5a 100644
--- a/include/clang/Rewrite/Rewriter.h
+++ b/include/clang/Rewrite/Rewriter.h
@@ -49,6 +49,7 @@ public:
typedef BufferTy::const_iterator iterator;
iterator begin() const { return Buffer.begin(); }
iterator end() const { return Buffer.end(); }
+ unsigned size() const { return Buffer.size(); }
private: // Methods only usable by Rewriter.