Implemented processing and validating the binary header
This commit is contained in:
parent
4b47061611
commit
4e9da4233f
@ -16,6 +16,23 @@ procedure sillymachine is
|
||||
Value : Byte;
|
||||
|
||||
begin
|
||||
|
||||
ValidHeader (0) := 6;
|
||||
ValidHeader (1) := 148;
|
||||
ValidHeader (2) := 32;
|
||||
ValidHeader (3) := 118;
|
||||
ValidHeader (4) := 101;
|
||||
ValidHeader (5) := 114;
|
||||
ValidHeader (6) := 121;
|
||||
ValidHeader (7) := 95;
|
||||
ValidHeader (8) := 115;
|
||||
ValidHeader (9) := 105;
|
||||
ValidHeader (10) := 108;
|
||||
ValidHeader (11) := 108;
|
||||
ValidHeader (12) := 121;
|
||||
ValidHeader (13) := 0;
|
||||
ValidHeader (14) := 0;
|
||||
ValidHeader (15) := 0;
|
||||
|
||||
if Argument_Count = 0 then
|
||||
New_Line(1);
|
||||
@ -27,15 +44,22 @@ begin
|
||||
FileNameLength := Argument (1)'Length;
|
||||
FileName(1 .. FileNameLength) := Argument (1);
|
||||
|
||||
--Bin_IO.Open(F, Bin_IO.In_File, FileName);
|
||||
--while not Bin_IO.End_Of_File (F) loop
|
||||
-- Bin_IO.Read(F, Value);
|
||||
-- Arr (I) := Value;
|
||||
-- I := I + 1;
|
||||
--end loop;
|
||||
--for i in 0 .. 15 loop
|
||||
-- Put_Line(Byte'Image(Arr (i)));
|
||||
--end loop;
|
||||
Bin_IO.Open(F, Bin_IO.In_File, FileName);
|
||||
while not Bin_IO.End_Of_File (F) loop
|
||||
Bin_IO.Read(F, Value);
|
||||
|
||||
if ValidHeader (I) = Value then
|
||||
Value := Value; -- useless line so compiler does not complain
|
||||
else
|
||||
New_Line(1);
|
||||
Put_Line("Error: Please use a valid sm binary file");
|
||||
New_Line(1);
|
||||
goto THE_END;
|
||||
end if;
|
||||
I := I + 1;
|
||||
|
||||
end loop;
|
||||
Put_Line("Header passed");
|
||||
|
||||
<< THE_END >>
|
||||
end sillymachine;
|
||||
|
Loading…
x
Reference in New Issue
Block a user