* 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; function TEditor.SetBufSize (NewSize : Sw_Word) : Boolean;
begin begin
SetBufSize := NewSize <= BufSize; // SetBufSize := NewSize <= BufSize;
SetBufSize := SetBufferSize(Buffer, NewSize);
end; { TEditor.SetBufSize } 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. Change the size of buffer given by pointer P to the size requested.
01Oct99 LdB 01Oct99 LdB
---------------------------------------------------------------------} ---------------------------------------------------------------------}
FUNCTION SetBufferSize (P: Pointer; Size: Word): Boolean; FUNCTION SetBufferSize (var P: Pointer; Size: Word): Boolean;
{-DisposeBuffer------------------------------------------------------ {-DisposeBuffer------------------------------------------------------
Dispose of buffer given by pointer P. Dispose of buffer given by pointer P.
@ -753,7 +753,7 @@ END;
{---------------------------------------------------------------------------} {---------------------------------------------------------------------------}
{ SetBufferSize -> Platforms DOS/DPMI/WIN/NT/OS2 - Updated 01Oct99 LdB } { 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; VAR NewSize: Word;
BEGIN BEGIN
SetBufferSize := False; { Preset failure } SetBufferSize := False; { Preset failure }
@ -767,7 +767,13 @@ BEGIN
SetBufferSize := True; { Return success } SetBufferSize := True; { Return success }
End; End;
{$ELSE} { DPMI/WIN/NT/OS2 CODE } {$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} {$ENDIF}
END; END;