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;