浏览代码

* fixed handling of both #13#10 and #10 line separators when reading from the
gdb/mi output on windows. Previous code only handled #13#10, but not #10.

git-svn-id: trunk@30085 -

nickysn 10 年之前
父节点
当前提交
f6250b3a5a
共有 1 个文件被更改,包括 14 次插入13 次删除
  1. 14 13
      ide/gdbmiproc.pas

+ 14 - 13
ide/gdbmiproc.pas

@@ -61,20 +61,21 @@ begin
   while FProcess.Running do
   begin
     FProcess.Output.Read(C, 1);
-    {$ifdef windows}
-    { On windows we expect both #13 and #10 }
+{$ifdef windows}
+    { On windows we expect both #13#10 and #10 }
     if C = #13 then
-      begin
-        FPRocess.Output.Read(C,1);
-    {$endif windows}
-        if C = #10 then
-        begin
-          DebugLn(Result);
-          exit;
-        end;
-    {$ifdef windows}
-      end;
-    {$endif windows}
+    begin
+      FProcess.Output.Read(C, 1);
+      if C <> #10 then
+        { #13 not followed by #10, what should we do? }
+        Result := Result + #13;
+    end;
+{$endif windows}
+    if C = #10 then
+    begin
+      DebugLn(Result);
+      exit;
+    end;
     Result := Result + C;
   end;
 end;