|
@@ -236,6 +236,7 @@ type
|
|
procedure resetfile;virtual;abstract;
|
|
procedure resetfile;virtual;abstract;
|
|
function getheadersize:longint;virtual;abstract;
|
|
function getheadersize:longint;virtual;abstract;
|
|
function getheaderaddr:pentryheader;virtual;abstract;
|
|
function getheaderaddr:pentryheader;virtual;abstract;
|
|
|
|
+ procedure RaiseAssertion(Code: Longint); virtual;
|
|
public
|
|
public
|
|
entrytyp : byte;
|
|
entrytyp : byte;
|
|
size : integer;
|
|
size : integer;
|
|
@@ -384,6 +385,13 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+procedure tentryfile.RaiseAssertion(Code: Longint);
|
|
|
|
+begin
|
|
|
|
+ { It's down to descendent classes to raise an internal error as desired. [Kit] }
|
|
|
|
+ error := true;
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+
|
|
procedure tentryfile.closefile;
|
|
procedure tentryfile.closefile;
|
|
begin
|
|
begin
|
|
if mode<>0 then
|
|
if mode<>0 then
|
|
@@ -744,12 +752,16 @@ begin
|
|
result:=0;
|
|
result:=0;
|
|
end;
|
|
end;
|
|
{$else not generic_cpu}
|
|
{$else not generic_cpu}
|
|
- result:=4;
|
|
|
|
case sizeof(aint) of
|
|
case sizeof(aint) of
|
|
8: result:=getint64;
|
|
8: result:=getint64;
|
|
4: result:=getlongint;
|
|
4: result:=getlongint;
|
|
2: result:=smallint(getword);
|
|
2: result:=smallint(getword);
|
|
1: result:=shortint(getbyte);
|
|
1: result:=shortint(getbyte);
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ RaiseAssertion(2019041801);
|
|
|
|
+ result:=0;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
{$endif not generic_cpu}
|
|
{$endif not generic_cpu}
|
|
end;
|
|
end;
|
|
@@ -788,9 +800,12 @@ begin
|
|
4: result:=asizeint(getlongint);
|
|
4: result:=asizeint(getlongint);
|
|
2: result:=asizeint(getword);
|
|
2: result:=asizeint(getword);
|
|
1: result:=asizeint(getbyte);
|
|
1: result:=asizeint(getbyte);
|
|
- else
|
|
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ RaiseAssertion(2019041802);
|
|
result:=0;
|
|
result:=0;
|
|
-end;
|
|
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
{$endif not generic_cpu}
|
|
{$endif not generic_cpu}
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -821,7 +836,10 @@ begin
|
|
2: result:=getword;
|
|
2: result:=getword;
|
|
1: result:=getbyte;
|
|
1: result:=getbyte;
|
|
else
|
|
else
|
|
- result:=0;
|
|
|
|
|
|
+ begin
|
|
|
|
+ RaiseAssertion(2019041803);
|
|
|
|
+ result:=0;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
{$endif not generic_cpu}
|
|
{$endif not generic_cpu}
|
|
end;
|
|
end;
|
|
@@ -870,12 +888,16 @@ begin
|
|
result:=0;
|
|
result:=0;
|
|
end;
|
|
end;
|
|
{$else not generic_cpu}
|
|
{$else not generic_cpu}
|
|
- result:=4;
|
|
|
|
case sizeof(aword) of
|
|
case sizeof(aword) of
|
|
8: result:=getqword;
|
|
8: result:=getqword;
|
|
4: result:=getdword;
|
|
4: result:=getdword;
|
|
2: result:=getword;
|
|
2: result:=getword;
|
|
1: result:=getbyte;
|
|
1: result:=getbyte;
|
|
|
|
+ else
|
|
|
|
+ begin
|
|
|
|
+ RaiseAssertion(2019041804);
|
|
|
|
+ result:=0;
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
{$endif not generic_cpu}
|
|
{$endif not generic_cpu}
|
|
end;
|
|
end;
|