git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* fixed a bug in swf_GetRGBA
[swftools.git]
/
lib
/
rfxswf.c
diff --git
a/lib/rfxswf.c
b/lib/rfxswf.c
index
f56427a
..
cd2e0b6
100644
(file)
--- a/
lib/rfxswf.c
+++ b/
lib/rfxswf.c
@@
-78,9
+78,11
@@
U32 swf_GetTagPos(TAG * t) { return t->pos; }
void swf_SetTagPos(TAG * t,U32 pos)
{ swf_ResetReadBits(t);
if (pos<=t->len) t->pos = pos;
void swf_SetTagPos(TAG * t,U32 pos)
{ swf_ResetReadBits(t);
if (pos<=t->len) t->pos = pos;
- #ifdef DEBUG_RFXSWF
- else fprintf(stderr,"SetTagPos() out of bounds: TagID = %i\n",t->id);
- #endif
+ else {
+#ifdef DEBUG_RFXSWF
+ fprintf(stderr,"SetTagPos(%d) out of bounds: TagID = %i\n",pos, t->id);
+#endif
+ }
}
char* swf_GetString(TAG*t)
}
char* swf_GetString(TAG*t)
@@
-288,7
+290,7
@@
int swf_SetRGBA(TAG * t,RGBA * col)
void swf_GetRGBA(TAG * t, RGBA * col)
{
RGBA dummy;
void swf_GetRGBA(TAG * t, RGBA * col)
{
RGBA dummy;
- if(!col);
+ if(!col)
col = &dummy;
col->r = swf_GetU8(t);
col->g = swf_GetU8(t);
col = &dummy;
col->r = swf_GetU8(t);
col->g = swf_GetU8(t);
@@
-433,6
+435,8
@@
void swf_ExpandRect2(SRECT*src, SRECT*add)
{
if((add->xmin | add->ymin | add->xmax | add->ymax)==0)
return;
{
if((add->xmin | add->ymin | add->xmax | add->ymax)==0)
return;
+ if((src->xmin | src->ymin | src->xmax | src->ymax)==0)
+ *src = *add;
if(add->xmin < src->xmin)
src->xmin = add->xmin;
if(add->ymin < src->ymin)
if(add->xmin < src->xmin)
src->xmin = add->xmin;
if(add->ymin < src->ymin)
@@
-1080,14
+1084,6
@@
void swf_FoldAll(SWF*swf)
}
}
}
}
-void swf_FoldAllTags(TAG*tag)
-{
- SWF swf;
- memset(&swf, 0, sizeof(swf));
- swf.firstTag = tag;
- swf_FoldAll(&swf);
-}
-
void swf_UnFoldAll(SWF*swf)
{
TAG*tag = swf->firstTag;
void swf_UnFoldAll(SWF*swf)
{
TAG*tag = swf->firstTag;
@@
-1223,7
+1219,7
@@
int swf_WriteSWF2(struct writer_t*writer, SWF * swf) // Writes SWF to file,
if (swf->firstTag && swf_NextTag(swf->firstTag))
if (swf_GetTagID(swf_NextTag(swf->firstTag))!=ST_REFLEX)
if (swf->firstTag && swf_NextTag(swf->firstTag))
if (swf_GetTagID(swf_NextTag(swf->firstTag))!=ST_REFLEX)
- swf_SetBlock(swf_InsertTag(swf->firstTag,ST_REFLEX),"rfx",3);
+ swf_SetBlock(swf_InsertTagBefore(swf, swf->firstTag,ST_REFLEX),"rfx",3);
#endif // INSERT_RFX_TAG
#endif // INSERT_RFX_TAG
@@
-1403,6
+1399,7
@@
void swf_FreeTags(SWF * swf) // Frees all malloc'ed memory for t
free(t);
t = tnew;
}
free(t);
t = tnew;
}
+ swf->firstTag = 0;
}
// include advanced functions
}
// include advanced functions