diff options
author | Brad King <brad.king@kitware.com> | 2010-06-24 14:41:20 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2010-06-24 14:41:20 (GMT) |
commit | 566bb2d0789b5ad8c65337eaee39c92e9a797608 (patch) | |
tree | 8ef833379f1add5a594c546197597ff09467e40d /Source | |
parent | b86a551edee8d061989c4b2c25bdd09e5f9d3dec (diff) | |
parent | bbfe241c6a4386a39ebb93cdb70a8390eab14eef (diff) | |
download | CMake-566bb2d0789b5ad8c65337eaee39c92e9a797608.zip CMake-566bb2d0789b5ad8c65337eaee39c92e9a797608.tar.gz CMake-566bb2d0789b5ad8c65337eaee39c92e9a797608.tar.bz2 |
Merge branch 'ctest-git-empty-commits'
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CTest/cmCTestGIT.cxx | 9 | ||||
-rw-r--r-- | Source/cmProcessTools.cxx | 6 | ||||
-rw-r--r-- | Source/cmProcessTools.h | 1 |
3 files changed, 14 insertions, 2 deletions
diff --git a/Source/CTest/cmCTestGIT.cxx b/Source/CTest/cmCTestGIT.cxx index 6c3631c..a49c852 100644 --- a/Source/CTest/cmCTestGIT.cxx +++ b/Source/CTest/cmCTestGIT.cxx @@ -317,8 +317,12 @@ protected: \n Log message indented by (4) spaces\n (even blank lines have the spaces)\n + [[ \n [Diff format] + OR + \0 + ]] The header may have more fields. See 'git help diff-tree'. */ @@ -372,6 +376,11 @@ private: { if(this->Line.empty()) { + if(this->Section == SectionBody && this->LineEnd == '\0') + { + // Skip SectionDiff + this->NextSection(); + } this->NextSection(); } else diff --git a/Source/cmProcessTools.cxx b/Source/cmProcessTools.cxx index cacd766..d2f7bf3 100644 --- a/Source/cmProcessTools.cxx +++ b/Source/cmProcessTools.cxx @@ -44,7 +44,7 @@ void cmProcessTools::RunProcess(struct cmsysProcess_s* cp, //---------------------------------------------------------------------------- cmProcessTools::LineParser::LineParser(char sep, bool ignoreCR): - Separator(sep), IgnoreCR(ignoreCR), Log(0), Prefix(0) + Separator(sep), IgnoreCR(ignoreCR), Log(0), Prefix(0), LineEnd('\0') { } @@ -61,8 +61,10 @@ bool cmProcessTools::LineParser::ProcessChunk(const char* first, int length) const char* last = first + length; for(const char* c = first; c != last; ++c) { - if(*c == this->Separator) + if(*c == this->Separator || *c == '\0') { + this->LineEnd = *c; + // Log this line. if(this->Log && this->Prefix) { diff --git a/Source/cmProcessTools.h b/Source/cmProcessTools.h index 0b210af..439726d 100644 --- a/Source/cmProcessTools.h +++ b/Source/cmProcessTools.h @@ -55,6 +55,7 @@ public: bool IgnoreCR; std::ostream* Log; const char* Prefix; + char LineEnd; std::string Line; virtual bool ProcessChunk(const char* data, int length); |