|
@@ -403,7 +403,7 @@ procedure RegisterEditors;
|
|
implementation
|
|
implementation
|
|
|
|
|
|
uses
|
|
uses
|
|
- Memory, Dos, App, StdDlg, MsgBox, Resource;
|
|
|
|
|
|
+ Dos, App, StdDlg, MsgBox, Resource;
|
|
|
|
|
|
type
|
|
type
|
|
pword = ^word;
|
|
pword = ^word;
|
|
@@ -1217,6 +1217,7 @@ end;
|
|
destructor TLineInfo.Done;
|
|
destructor TLineInfo.Done;
|
|
begin
|
|
begin
|
|
FreeMem(Info,MaxPos*sizeof(TLineInfoRec));
|
|
FreeMem(Info,MaxPos*sizeof(TLineInfoRec));
|
|
|
|
+ Info := nil;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -1593,11 +1594,7 @@ end; { TEditor.DeleteSelect }
|
|
|
|
|
|
procedure TEditor.DoneBuffer;
|
|
procedure TEditor.DoneBuffer;
|
|
begin
|
|
begin
|
|
- if assigned(Buffer) then
|
|
|
|
- begin
|
|
|
|
- FreeMem (Buffer, BufSize);
|
|
|
|
- Buffer := nil;
|
|
|
|
- end;
|
|
|
|
|
|
+ ReAllocMem(Buffer, 0);
|
|
end; { TEditor.DoneBuffer }
|
|
end; { TEditor.DoneBuffer }
|
|
|
|
|
|
|
|
|
|
@@ -2151,7 +2148,8 @@ end; { TEditor.HideSelect }
|
|
|
|
|
|
procedure TEditor.InitBuffer;
|
|
procedure TEditor.InitBuffer;
|
|
begin
|
|
begin
|
|
- Buffer := MemAlloc (BufSize);
|
|
|
|
|
|
+ Assert(Buffer = nil, 'TEditor.InitBuffer: Buffer is not nil');
|
|
|
|
+ ReAllocMem(Buffer, BufSize);
|
|
end; { TEditor.InitBuffer }
|
|
end; { TEditor.InitBuffer }
|
|
|
|
|
|
|
|
|
|
@@ -2946,8 +2944,9 @@ end; { TEditor.SetBufLen }
|
|
|
|
|
|
function TEditor.SetBufSize (NewSize : Sw_Word) : Boolean;
|
|
function TEditor.SetBufSize (NewSize : Sw_Word) : Boolean;
|
|
begin
|
|
begin
|
|
-// SetBufSize := NewSize <= BufSize;
|
|
|
|
- SetBufSize := SetBufferSize(Buffer, NewSize);
|
|
|
|
|
|
+ ReAllocMem(Buffer, NewSize);
|
|
|
|
+ BufSize := NewSize;
|
|
|
|
+ SetBufSize := True;
|
|
end; { TEditor.SetBufSize }
|
|
end; { TEditor.SetBufSize }
|
|
|
|
|
|
|
|
|
|
@@ -3436,8 +3435,7 @@ end; { TFileEditor.Load }
|
|
|
|
|
|
procedure TFileEditor.DoneBuffer;
|
|
procedure TFileEditor.DoneBuffer;
|
|
begin
|
|
begin
|
|
- if assigned(Buffer) then
|
|
|
|
- DisposeBuffer (Buffer);
|
|
|
|
|
|
+ ReAllocMem(Buffer, 0);
|
|
end; { TFileEditor.DoneBuffer }
|
|
end; { TFileEditor.DoneBuffer }
|
|
|
|
|
|
|
|
|
|
@@ -3463,7 +3461,9 @@ end; { TFileEditor.HandleEvent }
|
|
|
|
|
|
procedure TFileEditor.InitBuffer;
|
|
procedure TFileEditor.InitBuffer;
|
|
begin
|
|
begin
|
|
- NewBuffer(Pointer(Buffer), MinBufLength);
|
|
|
|
|
|
+ Assert(Buffer = nil, 'TFileEditor.InitBuffer: Buffer is not nil');
|
|
|
|
+ ReAllocMem(Buffer, MinBufLength);
|
|
|
|
+ BufSize := MinBufLength;
|
|
end; { TFileEditor.InitBuffer }
|
|
end; { TFileEditor.InitBuffer }
|
|
|
|
|
|
|
|
|
|
@@ -3579,13 +3579,10 @@ begin
|
|
NewSize := (NewSize + (MinBufLength-1)) and (MaxBufLength and (not (MinBufLength-1)));
|
|
NewSize := (NewSize + (MinBufLength-1)) and (MaxBufLength and (not (MinBufLength-1)));
|
|
if NewSize <> BufSize then
|
|
if NewSize <> BufSize then
|
|
begin
|
|
begin
|
|
- if NewSize > BufSize then
|
|
|
|
- if not SetBufferSize(pointer(Buffer), NewSize) then
|
|
|
|
- Exit;
|
|
|
|
|
|
+ if NewSize > BufSize then ReAllocMem(Buffer, NewSize);
|
|
N := BufLen - CurPtr + DelCount;
|
|
N := BufLen - CurPtr + DelCount;
|
|
Move(Buffer^[BufSize - N], Buffer^[NewSize - N], N);
|
|
Move(Buffer^[BufSize - N], Buffer^[NewSize - N], N);
|
|
- if NewSize < BufSize then
|
|
|
|
- SetBufferSize(pointer(Buffer), NewSize);
|
|
|
|
|
|
+ if NewSize < BufSize then ReAllocMem(Buffer, NewSize);
|
|
BufSize := NewSize;
|
|
BufSize := NewSize;
|
|
GapLen := BufSize - BufLen;
|
|
GapLen := BufSize - BufLen;
|
|
end;
|
|
end;
|