diff options
author | Andy Cedilnik <andy.cedilnik@kitware.com> | 2004-04-29 18:51:08 (GMT) |
---|---|---|
committer | Andy Cedilnik <andy.cedilnik@kitware.com> | 2004-04-29 18:51:08 (GMT) |
commit | ae50b4bc6afa62663317e630aef509a29c4f9021 (patch) | |
tree | 50efbefa74258f88387915282af26890f084e17b | |
parent | d5763a8c98c9b37096b8ca6ff58a1996528c408c (diff) | |
download | CMake-ae50b4bc6afa62663317e630aef509a29c4f9021.zip CMake-ae50b4bc6afa62663317e630aef509a29c4f9021.tar.gz CMake-ae50b4bc6afa62663317e630aef509a29c4f9021.tar.bz2 |
BUG: Add a safety check so that you cannot send cmOStringStream.str() to other stream and produce the funky hex number. This makes it impossible to compile such a code. Adding that exposed a whole bunch of places in CMake where streams were used wrongly
-rw-r--r-- | Source/cmCTest.cxx | 10 | ||||
-rw-r--r-- | Source/cmStandardIncludes.h | 3 |
2 files changed, 8 insertions, 5 deletions
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index e7a03e4..6832204 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -4508,7 +4508,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring) } else { - std::cerr << out << "\n"; + std::cerr << out.str() << "\n"; } return 1; } @@ -4527,7 +4527,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring) } else { - std::cerr << out << "\n"; + std::cerr << out.str() << "\n"; } return 1; } @@ -4607,7 +4607,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring) } else { - std::cerr << out << "\n"; + std::cerr << out.str() << "\n"; } return 1; } @@ -4639,7 +4639,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring) } else { - std::cerr << out << "\n"; + std::cerr << out.str() << "\n"; } return 1; } @@ -4671,7 +4671,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring) } else { - std::cout << out << "\n"; + std::cout << out.str() << "\n"; } return retVal; } diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h index 572bcac..662a831 100644 --- a/Source/cmStandardIncludes.h +++ b/Source/cmStandardIncludes.h @@ -252,6 +252,9 @@ private: }; #endif +/* Poison this operator to avoid common mistakes. */ +extern void operator << (std::ostream&, const cmOStringStream&); + /** Standard documentation entry for cmDocumentation's formatting. */ struct cmDocumentationEntry { |