Преглед на файлове

BUG: RunSingleCommand should translate NULL characters in the output to valid text. This should fix the missing-output problem caused by NULL-characters in VS build output.

Brad King преди 20 години
родител
ревизия
1c96fa4a41
променени са 1 файла, в които са добавени 13 реда и са изтрити 0 реда
  1. 13 0
      Source/cmSystemTools.cxx

+ 13 - 0
Source/cmSystemTools.cxx

@@ -482,6 +482,19 @@ bool cmSystemTools::RunSingleCommand(
     {
   while(cmsysProcess_WaitForData(cp, &data, &length, 0))
     {
+    if(output || verbose)
+      {
+      // Translate NULL characters in the output into valid text.
+      // Visual Studio 7 puts these characters in the output of its
+      // build process.
+      for(int i=0; i < length; ++i)
+        {
+        if(data[i] == '\0')
+          {
+          data[i] = ' ';
+          }
+        }
+      }
     if ( output )
       {
       tempOutput.insert(tempOutput.end(), data, data+length);