|
@@ -192,7 +192,7 @@
|
|
if (pp^.sig<>$DEADBEEF) and (pp^.sig <> $AAAAAAAA) then
|
|
if (pp^.sig<>$DEADBEEF) and (pp^.sig <> $AAAAAAAA) then
|
|
begin
|
|
begin
|
|
writeln('error in linked list of heap_mem_info');
|
|
writeln('error in linked list of heap_mem_info');
|
|
- runerror(204);
|
|
|
|
|
|
+ HandleError(204);
|
|
end
|
|
end
|
|
|
|
|
|
if pp=p then
|
|
if pp=p then
|
|
@@ -637,13 +637,13 @@
|
|
if assigned(heaperror) then
|
|
if assigned(heaperror) then
|
|
begin
|
|
begin
|
|
case call_heaperror(heaperror,size) of
|
|
case call_heaperror(heaperror,size) of
|
|
- 0 : runerror(203);
|
|
|
|
|
|
+ 0 : HandleError(203);
|
|
1 : p:=nil;
|
|
1 : p:=nil;
|
|
2 : nochmal:=true;
|
|
2 : nochmal:=true;
|
|
end;
|
|
end;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
- runerror(203);
|
|
|
|
|
|
+ HandleError(203);
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
@@ -701,7 +701,7 @@ check_new:
|
|
p:=p-sizeof(heap_mem_info);
|
|
p:=p-sizeof(heap_mem_info);
|
|
{ made after heap_switch
|
|
{ made after heap_switch
|
|
if not (is_in_getmem_list(p)) then
|
|
if not (is_in_getmem_list(p)) then
|
|
- runerror(204); }
|
|
|
|
|
|
+ HandleError(204); }
|
|
end;
|
|
end;
|
|
{$endif CHECKHEAP}
|
|
{$endif CHECKHEAP}
|
|
if size=0 then
|
|
if size=0 then
|
|
@@ -738,7 +738,7 @@ check_new:
|
|
begin
|
|
begin
|
|
writeln('pointer ',hexstr(longint(@p),8),' at ',
|
|
writeln('pointer ',hexstr(longint(@p),8),' at ',
|
|
hexstr(longint(p),8),' doesn''t points to the heap');
|
|
hexstr(longint(p),8),' doesn''t points to the heap');
|
|
- runerror(204);
|
|
|
|
|
|
+ HandleError(204);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
{$endif TEMPHEAP}
|
|
{$endif TEMPHEAP}
|
|
@@ -746,7 +746,7 @@ check_new:
|
|
if trace then
|
|
if trace then
|
|
begin
|
|
begin
|
|
if not (is_in_getmem_list(p)) then
|
|
if not (is_in_getmem_list(p)) then
|
|
- runerror(204);
|
|
|
|
|
|
+ HandleError(204);
|
|
if pheap_mem_info(p)^.sig=$AAAAAAAA then
|
|
if pheap_mem_info(p)^.sig=$AAAAAAAA then
|
|
dump_free(p);
|
|
dump_free(p);
|
|
if pheap_mem_info(p)^.next<>nil then
|
|
if pheap_mem_info(p)^.next<>nil then
|
|
@@ -823,7 +823,7 @@ check_new:
|
|
writeln('pointer to dispose at ',hexstr(longint(p),8),
|
|
writeln('pointer to dispose at ',hexstr(longint(p),8),
|
|
' has already been disposed');
|
|
' has already been disposed');
|
|
{$endif CHECKHEAP}
|
|
{$endif CHECKHEAP}
|
|
- runerror(204);
|
|
|
|
|
|
+ HandleError(204);
|
|
end;
|
|
end;
|
|
{ connecting two blocks ? }
|
|
{ connecting two blocks ? }
|
|
if hp+hp^.size=p then
|
|
if hp+hp^.size=p then
|
|
@@ -845,7 +845,7 @@ check_new:
|
|
writeln('pointer to dispose at ',hexstr(longint(p),8),
|
|
writeln('pointer to dispose at ',hexstr(longint(p),8),
|
|
' is too big !!');
|
|
' is too big !!');
|
|
{$endif CHECKHEAP}
|
|
{$endif CHECKHEAP}
|
|
- runerror(204);
|
|
|
|
|
|
+ HandleError(204);
|
|
end;
|
|
end;
|
|
break;
|
|
break;
|
|
end
|
|
end
|
|
@@ -1062,7 +1062,12 @@ end;
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.13 1998-07-02 14:24:09 michael
|
|
|
|
|
|
+ Revision 1.14 1998-07-30 13:26:21 michael
|
|
|
|
+ + Added support for ErrorProc variable. All internal functions are required
|
|
|
|
+ to call HandleError instead of runerror from now on.
|
|
|
|
+ This is necessary for exception support.
|
|
|
|
+
|
|
|
|
+ Revision 1.13 1998/07/02 14:24:09 michael
|
|
Undid carls changes, but renamed _heapsize to _internal_heapsize. Make cycle now works
|
|
Undid carls changes, but renamed _heapsize to _internal_heapsize. Make cycle now works
|
|
|
|
|
|
Revision 1.11 1998/06/25 09:26:10 daniel
|
|
Revision 1.11 1998/06/25 09:26:10 daniel
|