From 612b30c1a58a3e596670c592e9bb313079df416d Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Wed, 16 Sep 2015 03:25:31 +0200 Subject: [PATCH] fix, symbol list broken under linux since bcf479b3fe41eb1b3a546c555241fc8b73dff9a4, due to not input stream size --- cesyms/cesyms.d | 4 ++-- src/ce_symlist.pas | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cesyms/cesyms.d b/cesyms/cesyms.d index e4a16f01..205e836f 100644 --- a/cesyms/cesyms.d +++ b/cesyms/cesyms.d @@ -11,8 +11,8 @@ void main(string[] args) ubyte[] source; if (args.length == 1) { - source.length = cast(size_t)stdin.size; - source = stdin.rawRead(source); + foreach(buff; stdin.byChunk(1024)) + source ~= buff; } else { diff --git a/src/ce_symlist.pas b/src/ce_symlist.pas index f6b985c6..90d12a0a 100644 --- a/src/ce_symlist.pas +++ b/src/ce_symlist.pas @@ -663,7 +663,7 @@ begin fToolProc := TCEProcess.Create(nil); fToolProc.ShowWindow := swoHIDE; fToolProc.Options := [poUsePipes]; - fToolProc.Executable := exeFullName(toolExeName); + fToolProc.Executable := toolExeName; fToolProc.OnTerminate := @toolTerminated; fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName); fToolProc.Execute; @@ -741,6 +741,7 @@ begin fToolProc.OnTerminate := nil; fToolProc.OnReadData := nil; fToolProc.OutputStack.Position:=0; + if fToolProc.OutputStack.Size = 0 then exit; fSyms.LoadFromTool(fToolProc.OutputStack); // tree.BeginUpdate;