X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswfaction.c;h=85fab91fcde0e0dc26bd370daa81c564362087a6;hb=382c70ad1125c71b2e978872b944239dc1e15d59;hp=c20e4919a70859359cf05209dd9992530cb0ea66;hpb=509560c32d1fb39bf51a6a3dce271f0f6954c5c8;p=swftools.git diff --git a/lib/modules/swfaction.c b/lib/modules/swfaction.c index c20e491..85fab91 100644 --- a/lib/modules/swfaction.c +++ b/lib/modules/swfaction.c @@ -308,11 +308,11 @@ void swf_DumpActions(ActionTAG*atag, char*prefix) printf(" %d", *data); } break; case 'b': { - printf(" %d", data[0]+256*data[1]); + printf(" %d", data[0]+256*(signed char)data[1]); } break; case 'p': { U8 type = *data; - char*value = data+1; + unsigned char*value = data+1; if(type == 0) { printf(" String:\"%s\"", value); } else if (type == 1) { @@ -328,11 +328,14 @@ void swf_DumpActions(ActionTAG*atag, char*prefix) } else if (type == 6) { U8 a[8]; int t; + memcpy(&a[4],value,4); + memcpy(a,&value[4],4); #ifdef WORDS_BIGENDIAN - for(t=0;t<8;t++) - a[7-t]=value[t]; -#else - memcpy(a,value,8); + for(t=0;t<4;t++) { + U8 tmp = a[t]; + a[t]=a[7-t]; + a[7-t] = tmp; + } #endif printf(" double:%f", *(double*)a); } else if (type == 7) {