X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fengine%2Fe_log.pas;h=afc638cac7be82a9d7af6a0f1eb764811adf4eb8;hb=223356cbae3197afc861efa6241c4ae91bd92885;hp=aba6e0d99d3f794b3de7f85dbf69d99de4c32a57;hpb=ee55194b1f1e2a8721038eff788b64534393661c;p=d2df-sdl.git diff --git a/src/engine/e_log.pas b/src/engine/e_log.pas index aba6e0d..afc638c 100644 --- a/src/engine/e_log.pas +++ b/src/engine/e_log.pas @@ -133,7 +133,7 @@ begin while (len > 0) do begin if (len > 255) then slen := 255 else slen := Integer(len); - Move(b^, ss[1], len); + Move(b^, ss[1], slen); ss[0] := AnsiChar(slen); write(ss); b += slen; @@ -179,12 +179,13 @@ begin while (len > 0) do begin slen := 0; - while (slen < len) and (slen < 255) and (b[slen] <> 13) and (b[slen] <> 10) do Inc(slen); + while (slen < len) and (b[slen] <> 13) and (b[slen] <> 10) do Inc(slen); + if (slen > 255) then slen := 255; // print string if (slen > 0) then begin if xlogWantSpace then begin write(xlogFile, ' '); xlogWantSpace := false; end; - Move(b^, ss[1], len); + Move(b^, ss[1], slen); ss[0] := AnsiChar(slen); write(xlogFile, ss); b += slen; @@ -194,16 +195,8 @@ begin // process newline if (len > 0) and ((b[0] = 13) or (b[0] = 10)) then begin - if (len > 1) and (b[0] = 13) and (b[1] = 10) then - begin - len -= 2; - b += 2; - end - else - begin - len -= 1; - b += 1; - end; + if (b[0] = 13) then begin len -= 1; b += 1; end; + if (len > 0) and (b[0] = 10) then begin len -= 1; b += 1; end; xlogLastWasEOL := false; writeln(xlogFile, ''); write(xlogFile, xlogPrefix);