git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improved line rendering quality.
[swftools.git]
/
lib
/
rfxswf.c
diff --git
a/lib/rfxswf.c
b/lib/rfxswf.c
index
beef81e
..
e6f30c1
100644
(file)
--- a/
lib/rfxswf.c
+++ b/
lib/rfxswf.c
@@
-54,8
+54,8
@@
void* rfx_alloc(int size)
{
void*ptr;
if(size == 0) {
{
void*ptr;
if(size == 0) {
- *(int*)0 = 0xdead;
- fprintf(stderr, "Warning: Zero alloc\n");
+ //*(int*)0 = 0xdead;
+ //fprintf(stderr, "Warning: Zero alloc\n");
return 0;
}
return 0;
}
@@
-71,8
+71,8
@@
void* rfx_realloc(void*data, int size)
{
void*ptr;
if(size == 0) {
{
void*ptr;
if(size == 0) {
- *(int*)0 = 0xdead;
- fprintf(stderr, "Warning: Zero realloc\n");
+ //*(int*)0 = 0xdead;
+ //fprintf(stderr, "Warning: Zero realloc\n");
rfx_free(data);
return 0;
}
rfx_free(data);
return 0;
}
@@
-93,8
+93,8
@@
void* rfx_calloc(int size)
{
void*ptr;
if(size == 0) {
{
void*ptr;
if(size == 0) {
- *(int*)0 = 0xdead;
- fprintf(stderr, "Warning: Zero alloc\n");
+ //*(int*)0 = 0xdead;
+ //fprintf(stderr, "Warning: Zero alloc\n");
return 0;
}
#ifdef HAVE_CALLOC
return 0;
}
#ifdef HAVE_CALLOC
@@
-120,6
+120,16
@@
void rfx_free(void*ptr)
free(ptr);
}
free(ptr);
}
+#ifdef MEMORY_INFO
+long rfx_memory_used()
+{
+}
+
+char* rfx_memory_used_str()
+{
+}
+#endif
+
// internal constants
#define MALLOC_SIZE 128
// 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)
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)
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)
{
}
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;
{
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;
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 (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)
}
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/swfaction.c"
#include "modules/swfsound.c"
#include "modules/swfdraw.c"
+#include "modules/swfrender.c"