--- cmCTestMemCheckHandler.cxx.old	2008-11-24 00:45:04.000000000 +0100
+++ cmCTestMemCheckHandler.cxx	2008-12-12 11:59:52.742625000 +0100
@@ -515,6 +515,25 @@
       cmSystemTools::EscapeSpaces(this->MemoryTesterOutputFile.c_str());
 
 #ifdef _WIN32
+	  if ( this->CTest->GetCTestConfiguration(
+        "MemoryCheckSuppressionFile").size() )
+      {
+      if ( !cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
+            "MemoryCheckSuppressionFile").c_str()) )
+        {
+        cmCTestLog(this->CTest, ERROR_MESSAGE,
+          "Cannot find memory checker suppression file: "
+          << this->CTest->GetCTestConfiguration(
+            "MemoryCheckSuppressionFile").c_str() << std::endl);
+        return false;
+        }		
+      this->MemoryTesterOptions += " /FilterFiles=" +
+        cmSystemTools::EscapeSpaces(this->CTest->GetCTestConfiguration(
+            "MemoryCheckSuppressionFile").c_str());
+      }
+#endif
+	  
+#ifdef _WIN32
     this->MemoryTesterOptions += " /SAVETEXTDATA=" + outputFile;
 #else
     this->MemoryTesterOptions += " -log-file=" + outputFile;
@@ -962,5 +981,6 @@
   while ( cmSystemTools::GetLineFromStream(ifs, line) )
     {
     res.Output += line;
+	res.Output += "\n";
     }
 }
