utils: fix ppudump generic tokenbuf reading

git-svn-id: trunk@16727 -
This commit is contained in:
paul 2011-01-07 17:47:23 +00:00
parent f5965a9ce4
commit 4e93ecda3d

View File

@ -871,6 +871,7 @@ type
mask : tdefstate;
str : string[30];
end;
ptoken=^ttoken;
const
defopt : array[1..ord(high(tdefoption))] of tdefopt=(
(mask:df_unique; str:'Unique Type'),
@ -893,6 +894,7 @@ var
first : boolean;
tokenbufsize : longint;
tokenbuf : pbyte;
token : ttoken;
len : sizeint;
wstring : widestring;
astring : ansistring;
@ -945,13 +947,14 @@ begin
write(space,' Tokens: ');
while i<tokenbufsize do
begin
if ttoken(tokenbuf[i])<>_GENERICSPECIALTOKEN then
write(arraytokeninfo[ttoken(tokenbuf[i])].str);
case ttoken(tokenbuf[i]) of
token:=ptoken(@tokenbuf[i])^;
if token<>_GENERICSPECIALTOKEN then
write(arraytokeninfo[token].str);
inc(i,SizeOf(token));
case token of
_CWCHAR,
_CWSTRING :
begin
inc(i);
len:=psizeint(@tokenbuf[i])^;
inc(i,sizeof(sizeint));
setlength(wstring,len);
@ -961,7 +964,6 @@ begin
end;
_CSTRING:
begin
inc(i);
len:=psizeint(@tokenbuf[i])^;
inc(i,sizeof(sizeint));
setlength(astring,len);
@ -973,14 +975,12 @@ begin
_INTCONST,
_REALNUMBER :
begin
inc(i);
write(' ',pshortstring(@tokenbuf[i])^);
inc(i,tokenbuf[i]+1);
end;
_ID :
begin
inc(i);
inc(i);
inc(i,SizeOf(ttoken)); // idtoken
write(' ',pshortstring(@tokenbuf[i])^);
inc(i,tokenbuf[i]+1);
{
@ -991,7 +991,6 @@ begin
end;
_GENERICSPECIALTOKEN:
begin
inc(i);
case tspecialgenerictoken(tokenbuf[i]) of
ST_LOADSETTINGS:
begin
@ -1031,8 +1030,6 @@ begin
continue;
}
end;
else
inc(i);
end;
if i<tokenbufsize then