sasm: use filesize() for incbin directive

This commit is contained in:
slederer 2024-11-09 19:03:09 +01:00
parent ab57b5ce7a
commit 5ce5bc44b8

View file

@ -2041,17 +2041,20 @@ begin
errorExit2('Unrecognized directive', lastToken.tokenText); errorExit2('Unrecognized directive', lastToken.tokenText);
end; end;
procedure readImage(filename:string;size:integer); procedure readImage(filename:string);
var f:InputFileType; var f:InputFileType;
c:char; c:char;
i:integer; i:integer;
size:integer;
begin begin
openFileWithDefault(f, filename);
size := filesize(f);
pc := pc + size; pc := pc + size;
bytesCount := bytesCount + size; bytesCount := bytesCount + size;
if pass = 2 then if pass = 2 then
begin begin
openFileWithDefault(f, filename);
for i := 1 to size do for i := 1 to size do
begin begin
@ -2059,14 +2062,14 @@ begin
write(outfile,c); write(outfile,c);
end; end;
close(f);
end; end;
close(f);
end; end;
procedure parseMetaDirective; procedure parseMetaDirective;
var filename:string; var filename:string;
sym:TreeDataRef; sym:TreeDataRef;
size:integer;
begin begin
readNextToken; readNextToken;
if lastToken.tokenText = '%INCLUDE' then if lastToken.tokenText = '%INCLUDE' then
@ -2099,8 +2102,7 @@ begin
begin begin
filename := curToken.tokenText; filename := curToken.tokenText;
readNextToken; readNextToken;
size := parseExpression; readImage(filename);
readImage(filename, size);
end end
else else
errorExit2('Invalid meta directive', lastToken.tokenText); errorExit2('Invalid meta directive', lastToken.tokenText);