From ed737be415e965a69d002efe25458dda00ee86fc Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Thu, 18 Jun 2015 11:02:06 +0200 Subject: [PATCH] Revert "sompler" This reverts commit f1e21098a7fc40cfb760302437cc4e048a4d4148. --- src/ce_common.pas | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/ce_common.pas b/src/ce_common.pas index 4eb32521..0da4c5f4 100644 --- a/src/ce_common.pas +++ b/src/ce_common.pas @@ -717,7 +717,30 @@ begin if not (poUsePipes in aProcess.Options) then exit; // - aList.LoadFromStream(aProcess.Output); + sum := 0; + str := TMemoryStream.Create; + try + buffSz := aProcess.PipeBufferSize; + // temp fix: messages are cut if the TAsyncProcess version is used on simple TProcess. + if aProcess is TAsyncProcess then begin + while aProcess.Output.NumBytesAvailable <> 0 do begin + str.SetSize(sum + buffSz); + cnt := aProcess.Output.Read((str.Memory + sum)^, buffSz); + sum += cnt; + end; + end else begin + repeat + str.SetSize(sum + buffSz); + cnt := aProcess.Output.Read((str.Memory + sum)^, buffSz); + sum += cnt; + until + cnt = 0; + end; + str.Size := sum; + aList.LoadFromStream(str); + finally + str.Free; + end; end; procedure processOutputToStream(aProcess: TProcess; output: TMemoryStream);