]> git.saurik.com Git - wxWidgets.git/commitdiff
don't drop lines without trailing new line character in wxExecute() with capture
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Apr 2007 01:13:37 +0000 (01:13 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Apr 2007 01:13:37 +0000 (01:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/common/utilscmn.cpp

index 0caac1a61cac755f87f39bc4e92ea0d67235d5b7..a03f1d283be7d4695a7dde6fc75dd2858a9e8a2f 100644 (file)
@@ -151,6 +151,7 @@ wxX11:
 All:
 
 - Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem)
+- Account for lines without newline at the end in wxExecute()
 
 All (Unix):
 
index 0f9a147fe372dd1c7f4ea9358b5ea71e8819f072..0b2f8a28d3da64b22bc1ded6bf77555444168337 100644 (file)
@@ -556,24 +556,27 @@ static bool ReadAll(wxInputStream *is, wxArrayString& output)
 
     wxTextInputStream tis(*is);
 
-    bool cont = true;
-    while ( cont )
+    for ( ;; )
     {
         wxString line = tis.ReadLine();
+
+        // check for EOF before other errors as it's not really an error
         if ( is->Eof() )
+        {
+            // add the last, possibly incomplete, line
+            if ( !line.empty() )
+                output.Add(line);
             break;
+        }
 
+        // any other error is fatal
         if ( !*is )
-        {
-            cont = false;
-        }
-        else
-        {
-            output.Add(line);
-        }
+            return false;
+
+        output.Add(line);
     }
 
-    return cont;
+    return true;
 }
 #endif // wxUSE_STREAMS