diff options
author | Owen Anderson <resistor@mac.com> | 2008-08-21 22:39:33 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-08-21 22:39:33 +0000 |
commit | 3ad8ac90b6b12f5486a8ce205b0aa7974f3a68fc (patch) | |
tree | 15e2a3aee502a6f03f4788ee3b7cf7a0ede58220 /llvm/lib/Support/raw_ostream.cpp | |
parent | 2fd7dbaf1d17adf193b3c42208789a203fe25a53 (diff) | |
download | bcm5719-llvm-3ad8ac90b6b12f5486a8ce205b0aa7974f3a68fc.tar.gz bcm5719-llvm-3ad8ac90b6b12f5486a8ce205b0aa7974f3a68fc.zip |
Fix write() when the string being written is larger than the buffer. This broke various ObjC testcases
with very long symbol names.
llvm-svn: 55148
Diffstat (limited to 'llvm/lib/Support/raw_ostream.cpp')
-rw-r--r-- | llvm/lib/Support/raw_ostream.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Support/raw_ostream.cpp b/llvm/lib/Support/raw_ostream.cpp index b1209a2da73..a5cf629b071 100644 --- a/llvm/lib/Support/raw_ostream.cpp +++ b/llvm/lib/Support/raw_ostream.cpp @@ -116,6 +116,7 @@ raw_ostream &raw_ostream::write(const char *Ptr, unsigned Size) { assert(OutBufCur == OutBufStart); memcpy(OutBufStart, Ptr, NumToEmit); Ptr += NumToEmit; + Size -= NumToEmit; OutBufCur = OutBufStart + NumToEmit; flush_impl(); } |