git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bugfix: doubles weren't parsed right.
[swftools.git]
/
lib
/
modules
/
swfaction.c
diff --git
a/lib/modules/swfaction.c
b/lib/modules/swfaction.c
index
933410d
..
85fab91
100644
(file)
--- a/
lib/modules/swfaction.c
+++ b/
lib/modules/swfaction.c
@@
-308,7
+308,7
@@
void swf_DumpActions(ActionTAG*atag, char*prefix)
printf(" %d", *data);
} break;
case 'b': {
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;
} break;
case 'p': {
U8 type = *data;
@@
-328,11
+328,14
@@
void swf_DumpActions(ActionTAG*atag, char*prefix)
} else if (type == 6) {
U8 a[8];
int t;
} else if (type == 6) {
U8 a[8];
int t;
+ memcpy(&a[4],value,4);
+ memcpy(a,&value[4],4);
#ifdef WORDS_BIGENDIAN
#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) {
#endif
printf(" double:%f", *(double*)a);
} else if (type == 7) {