]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Formatter: must use str("") to clear ostreams
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 4 Aug 2011 21:07:53 +0000 (14:07 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 4 Aug 2011 21:07:53 +0000 (14:07 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/common/Formatter.cc

index f7d50dca4e42422d15321fdad1d9cc09d41f210a..cf64537aa3cbd43609c5734305b443a073458936 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <inttypes.h>
 #include <iostream>
+#include <sstream>
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -49,13 +50,16 @@ void JSONFormatter::flush(std::ostream& os)
   assert(m_stack.empty());
   os << m_ss.str();
   m_ss.clear();
+  m_ss.str("");
 }
 
 void JSONFormatter::reset()
 {
   m_stack.clear();
   m_ss.clear();
+  m_ss.str("");
   m_pending_string.clear();
+  m_pending_string.str("");
 }
 
 void JSONFormatter::print_comma(json_formatter_stack_entry_d& entry)
@@ -220,12 +224,15 @@ void XMLFormatter::flush(std::ostream& os)
   assert(m_sections.empty());
   os << m_ss.str();
   m_ss.clear();
+  m_ss.str("");
 }
 
 void XMLFormatter::reset()
 {
   m_ss.clear();
+  m_ss.str("");
   m_pending_string.clear();
+  m_pending_string.str("");
   m_sections.clear();
   m_pending_string_name.clear();
 }