mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 09:34:12 +02:00
+ calculate a CRC value for enums
This commit is contained in:
parent
c57f884789
commit
1b45cfb51b
@ -15,7 +15,9 @@
|
|||||||
|
|
||||||
**********************************************************************}
|
**********************************************************************}
|
||||||
program msg2inc;
|
program msg2inc;
|
||||||
uses strings;
|
uses
|
||||||
|
crc,
|
||||||
|
strings;
|
||||||
|
|
||||||
const
|
const
|
||||||
version='0.99.14';
|
version='0.99.14';
|
||||||
@ -203,23 +205,39 @@ end;
|
|||||||
procedure WriteEnumFile(const fn,typename:string);
|
procedure WriteEnumFile(const fn,typename:string);
|
||||||
var
|
var
|
||||||
t : text;
|
t : text;
|
||||||
i : longint;
|
{$ifdef DEBUGCRC}
|
||||||
|
t2 : text;
|
||||||
|
{$endif DEBUGCRC}
|
||||||
|
i,crcvalue : longint;
|
||||||
p : pchar;
|
p : pchar;
|
||||||
|
s : string;
|
||||||
start : boolean;
|
start : boolean;
|
||||||
begin
|
begin
|
||||||
|
crcvalue:=longint($ffffffff);
|
||||||
writeln('Writing enumfile '+fn);
|
writeln('Writing enumfile '+fn);
|
||||||
{Open textfile}
|
{Open textfile}
|
||||||
assign(t,fn);
|
assign(t,fn);
|
||||||
rewrite(t);
|
rewrite(t);
|
||||||
|
{$ifdef DEBUGCRC}
|
||||||
|
assign(t2,'crc.tst');
|
||||||
|
rewrite(t2);
|
||||||
|
Writeln(t2,crcvalue);
|
||||||
|
{$endif DEBUGCRC}
|
||||||
writeln(t,'type t',typename,'=(');
|
writeln(t,'type t',typename,'=(');
|
||||||
{Parse buffer in msgbuf and create indexs}
|
{Parse buffer in msgbuf and create indexs}
|
||||||
p:=enumtxt;
|
p:=enumtxt;
|
||||||
start:=true;
|
start:=true;
|
||||||
for i:=1to enumsize do
|
for i:=1 to enumsize do
|
||||||
begin
|
begin
|
||||||
if start then
|
if start then
|
||||||
begin
|
begin
|
||||||
write(t,' ');
|
write(t,' ');
|
||||||
|
s:=UpCase(strpas(p));
|
||||||
|
crcvalue:=UpdateCRC32(crcvalue,@s[1],length(s));
|
||||||
|
{$ifdef DEBUGCRC}
|
||||||
|
Writeln(t2,s);
|
||||||
|
Writeln(t2,crcvalue);
|
||||||
|
{$endif DEBUGCRC}
|
||||||
start:=false;
|
start:=false;
|
||||||
end;
|
end;
|
||||||
if p^=#0 then
|
if p^=#0 then
|
||||||
@ -228,12 +246,19 @@ begin
|
|||||||
start:=true;
|
start:=true;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
write(t,p^);
|
begin
|
||||||
|
write(t,p^);
|
||||||
|
end;
|
||||||
inc(p);
|
inc(p);
|
||||||
end;
|
end;
|
||||||
writeln(t,'end',typename);
|
writeln(t,'end',typename);
|
||||||
writeln(t,');');
|
writeln(t,');');
|
||||||
|
writeln(t,'const');
|
||||||
|
writeln(t,' MsgCRCValue : longint = ',crcvalue,';');
|
||||||
close(t);
|
close(t);
|
||||||
|
{$ifdef DEBUGCRC}
|
||||||
|
close(t2);
|
||||||
|
{$endif DEBUGCRC}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -752,7 +777,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.5 2000-02-09 13:23:11 peter
|
Revision 1.6 2000-05-15 13:14:48 pierre
|
||||||
|
+ calculate a CRC value for enums
|
||||||
|
|
||||||
|
Revision 1.5 2000/02/09 13:23:11 peter
|
||||||
* log truncated
|
* log truncated
|
||||||
|
|
||||||
Revision 1.4 2000/01/27 11:29:15 peter
|
Revision 1.4 2000/01/27 11:29:15 peter
|
||||||
@ -761,4 +789,4 @@ end.
|
|||||||
Revision 1.3 2000/01/07 01:15:00 peter
|
Revision 1.3 2000/01/07 01:15:00 peter
|
||||||
* updated copyright to 2000
|
* updated copyright to 2000
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user