@@ -787,27 +787,46 @@ unsigned int CppCheck::checkFile(const std::string& filename, const std::string
787
787
mPlistFile << ErrorLogger::plistHeader (version (), files);
788
788
}
789
789
790
- std::ostringstream dumpProlog;
790
+ std::string dumpProlog;
791
791
if (mSettings .dump || !mSettings .addons .empty ()) {
792
- dumpProlog << " <rawtokens>" << std::endl;
793
- for (unsigned int i = 0 ; i < files.size (); ++i)
794
- dumpProlog << " <file index=\" " << i << " \" name=\" " << ErrorLogger::toxml (files[i]) << " \" />" << std::endl;
792
+ dumpProlog += " <rawtokens>\n " ;
793
+ for (unsigned int i = 0 ; i < files.size (); ++i) {
794
+ dumpProlog += " <file index=\" " ;
795
+ dumpProlog += std::to_string (i);
796
+ dumpProlog += " \" name=\" " ;
797
+ dumpProlog += ErrorLogger::toxml (files[i]);
798
+ dumpProlog += " \" />\n " ;
799
+ }
795
800
for (const simplecpp::Token *tok = tokens1.cfront (); tok; tok = tok->next ) {
796
- dumpProlog
797
- << " <tok "
798
- << " fileIndex=\" " << tok->location .fileIndex << " \" "
799
- << " linenr=\" " << tok->location .line << " \" "
800
- << " column=\" " << tok->location .col << " \" "
801
- << " str=\" " << ErrorLogger::toxml (tok->str ()) << " \" "
802
- << " />" << std::endl;
801
+ dumpProlog += " <tok " ;
802
+
803
+ dumpProlog += " fileIndex=\" " ;
804
+ dumpProlog += std::to_string (tok->location .fileIndex );
805
+ dumpProlog += " \" " ;
806
+
807
+ dumpProlog += " linenr=\" " ;
808
+ dumpProlog += std::to_string (tok->location .line );
809
+ dumpProlog += " \" " ;
810
+
811
+ dumpProlog +=" column=\" " ;
812
+ dumpProlog += std::to_string (tok->location .col );
813
+ dumpProlog += " \" " ;
814
+
815
+ dumpProlog += " str=\" " ;
816
+ dumpProlog += ErrorLogger::toxml (tok->str ());
817
+ dumpProlog += " \" " ;
818
+
819
+ dumpProlog += " />\n " ;
803
820
}
804
- dumpProlog << " </rawtokens>" << std::endl ;
821
+ dumpProlog += " </rawtokens>\n " ;
805
822
}
806
823
807
824
// Parse comments and then remove them
808
825
preprocessor.inlineSuppressions (tokens1, mSettings .nomsg );
809
826
if (mSettings .dump || !mSettings .addons .empty ()) {
810
- mSettings .nomsg .dump (dumpProlog);
827
+ std::ostringstream oss;
828
+ mSettings .nomsg .dump (oss);
829
+ dumpProlog += oss.str ();
811
830
}
812
831
tokens1.removeComments ();
813
832
preprocessor.removeComments ();
@@ -841,8 +860,7 @@ unsigned int CppCheck::checkFile(const std::string& filename, const std::string
841
860
std::string dumpFile;
842
861
createDumpFile (mSettings , filename, fdump, dumpFile);
843
862
if (fdump.is_open ()) {
844
- fdump << dumpProlog.str ();
845
- dumpProlog.str (" " );
863
+ fdump << dumpProlog;
846
864
if (!mSettings .dump )
847
865
filesDeleter.addFile (dumpFile);
848
866
}
0 commit comments