From: kramm Date: Mon, 22 Apr 2002 13:06:04 +0000 (+0000) Subject: bugfixes. X-Git-Tag: xpdf-0-92~15 X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;h=81f5aa90017eed882f3183d8ff16b72b31f3185c;p=swftools.git bugfixes. --- diff --git a/lib/modules/swfaction.c b/lib/modules/swfaction.c index 48087ab..6b59ca0 100644 --- a/lib/modules/swfaction.c +++ b/lib/modules/swfaction.c @@ -127,7 +127,8 @@ r: register (byte) {5,"TypeOf", 0x44,""}, {5,"Add2", 0x47,""}, {5,"Less2", 0x48,""}, -{5/*6?*/,"Less3", 0x67,""} +{5/*6?*/,"Less3?", 0x67,""}, +{5/*6?*/,"GetMembers?", 0x55,""} }; static int definedactions = sizeof(actions)/sizeof(struct Action); @@ -214,6 +215,8 @@ int OpAdvance(char c, U8*data) return 1; case 'b': return 2; + case 'r': + return 1; case 'p': { U8 type = *data++; if(type == 0) { @@ -335,20 +338,21 @@ void swf_DumpActions(ActionTAG*atag, char*prefix) case '{': { U16 num; U16 codesize; + int s = 0; int t; printf(" %s(", data); - while(*data++); //name - num = (*data++); //num - num += (*data++)*256; + while(data[s++]); //name + num = (data[s++]); //num + num += (data[s++])*256; for(t=0;t=15) { @@ -382,6 +386,9 @@ void swf_DumpActions(ActionTAG*atag, char*prefix) case 'b': { printf(" %d", data[0]+256*(signed char)data[1]); } break; + case 'r': { + printf(" %d", data[0]); + } break; case 'p': { U8 type = *data; unsigned char*value = data+1;