X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Frfxswf.c;h=e6f30c15c1fb188e8cc311a0836631734ba82276;hb=75e8a98f513e75e2a09dc3e96edc5111af9c1abf;hp=3a8a3ce25b4f4a22a80aed9c54cccc808935f470;hpb=8af73868efc8821ce2ab97472fc8ebe5ad63f585;p=swftools.git diff --git a/lib/rfxswf.c b/lib/rfxswf.c index 3a8a3ce..e6f30c1 100644 --- a/lib/rfxswf.c +++ b/lib/rfxswf.c @@ -120,6 +120,16 @@ void rfx_free(void*ptr) free(ptr); } +#ifdef MEMORY_INFO +long rfx_memory_used() +{ +} + +char* rfx_memory_used_str() +{ +} +#endif + // internal constants #define MALLOC_SIZE 128 @@ -532,11 +542,11 @@ void swf_ExpandRect3(SRECT*src, SPOINT center, int radius) if(center.x - radius < src->xmin) src->xmin = center.x - radius; if(center.x + radius > src->xmax) - src->xmax = center.x - radius; + src->xmax = center.x + radius; if(center.y - radius < src->ymin) src->ymin = center.y - radius; if(center.y + radius > src->ymax) - src->ymax = center.y - radius; + src->ymax = center.y + radius; } SPOINT swf_TurnPoint(SPOINT p, MATRIX* m) { @@ -549,6 +559,8 @@ SRECT swf_TurnRect(SRECT r, MATRIX* m) { SRECT g; SPOINT p1,p2,p3,p4,pp1,pp2,pp3,pp4; + if(!m) + return r; p1.x = r.xmin;p1.y = r.ymin; p2.x = r.xmax;p2.y = r.ymin; p3.x = r.xmin;p3.y = r.ymax; @@ -916,7 +928,12 @@ TAG * swf_ReadTag(struct reader_t*reader, TAG * prev) if (t->len) { t->data = (U8*)rfx_alloc(t->len); t->memsize = t->len; - if (reader->read(reader, t->data, t->len) != t->len) return NULL; + if (reader->read(reader, t->data, t->len) != t->len) { + fprintf(stderr, "rfxswf: Warning: Short read (tagid %d). File truncated?\n", t->id); + free(t->data);t->data=0; + free(t); + return NULL; + } } if (prev) @@ -1497,3 +1514,4 @@ void swf_FreeTags(SWF * swf) // Frees all malloc'ed memory for t #include "modules/swfaction.c" #include "modules/swfsound.c" #include "modules/swfdraw.c" +#include "modules/swfrender.c"