git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reshuffled libraries
[swftools.git]
/
lib
/
modules
/
swfaction.c
diff --git
a/lib/modules/swfaction.c
b/lib/modules/swfaction.c
index
33964c1
..
44cbee2
100644
(file)
--- a/
lib/modules/swfaction.c
+++ b/
lib/modules/swfaction.c
@@
-194,8
+194,11
@@
void swf_ActionFree(ActionTAG*action)
while(action)
{
ActionTAG*tmp;
while(action)
{
ActionTAG*tmp;
- if(action->data && action->data != action->tmp)
+ if(action->data && action->data != action->tmp) {
rfx_free(action->data);
rfx_free(action->data);
+ action->data = 0;
+ }
+ action->len = 0;
tmp = action;
action=action->next;
tmp = action;
action=action->next;
@@
-680,10
+683,11
@@
ActionTAG* swf_AddActionTAG(ActionTAG*atag, U8 op, U8*data, U16 len)
tmp->prev = 0;
tmp->parent = tmp;
}
tmp->prev = 0;
tmp->parent = tmp;
}
- if(data || !len)
+ if(data || !len) {
tmp->data = data;
tmp->data = data;
- else
+ } else {
tmp->data = tmp->tmp;
tmp->data = tmp->tmp;
+ }
tmp->len = len;
tmp->op = op;
tmp->len = len;
tmp->op = op;
@@
-1051,7
+1055,7
@@
ActionTAG* action_PushDouble(ActionTAG*atag, double d)
ActionTAG* action_PushInt(ActionTAG*atag, int i)
{
atag = swf_AddActionTAG(atag, ACTION_PUSH, 0, 5);
ActionTAG* action_PushInt(ActionTAG*atag, int i)
{
atag = swf_AddActionTAG(atag, ACTION_PUSH, 0, 5);
- *(U8*)atag->tmp = 7; //int
+ atag->tmp[0] = 7; //int
atag->tmp[1] = i;
atag->tmp[2] = i>>8;
atag->tmp[3] = i>>16;
atag->tmp[1] = i;
atag->tmp[2] = i>>8;
atag->tmp[3] = i>>16;