* Editor fixes by Wayne Sherman.

git-svn-id: trunk@3315 -
This commit is contained in:
daniel 2006-04-22 19:53:02 +00:00
parent 7d66406eed
commit 8661f302c1
2 changed files with 11 additions and 4 deletions

View File

@ -2946,7 +2946,8 @@ end; { TEditor.SetBufLen }
function TEditor.SetBufSize (NewSize : Sw_Word) : Boolean;
begin
SetBufSize := NewSize <= BufSize;
// SetBufSize := NewSize <= BufSize;
SetBufSize := SetBufferSize(Buffer, NewSize);
end; { TEditor.SetBufSize }

View File

@ -145,7 +145,7 @@ FUNCTION GetBufferSize (P: Pointer): Word;
Change the size of buffer given by pointer P to the size requested.
01Oct99 LdB
---------------------------------------------------------------------}
FUNCTION SetBufferSize (P: Pointer; Size: Word): Boolean;
FUNCTION SetBufferSize (var P: Pointer; Size: Word): Boolean;
{-DisposeBuffer------------------------------------------------------
Dispose of buffer given by pointer P.
@ -753,7 +753,7 @@ END;
{---------------------------------------------------------------------------}
{ SetBufferSize -> Platforms DOS/DPMI/WIN/NT/OS2 - Updated 01Oct99 LdB }
{---------------------------------------------------------------------------}
FUNCTION SetBufferSize (P: Pointer; Size: Word): Boolean;
FUNCTION SetBufferSize (var P: Pointer; Size: Word): Boolean;
VAR NewSize: Word;
BEGIN
SetBufferSize := False; { Preset failure }
@ -767,7 +767,13 @@ BEGIN
SetBufferSize := True; { Return success }
End;
{$ELSE} { DPMI/WIN/NT/OS2 CODE }
SetBufferSize := False; { No block resizing }
{$ifdef fpc}
Dec(Pointer(P),SizeOf(TBuffer)); { Correct to buffer }
SetBufferSize := ReAllocMem(P, Size + SizeOf(TBuffer)) <> nil;
if SetBufferSize then
TBuffer(P^).Size := Size + SizeOf(TBuffer);
Inc(Pointer(P), SizeOf(TBuffer)); { Correct to buffer }
{$endif fpc}
{$ENDIF}
END;