return NULL;
swf = PyObject_New(SWFObject, &SWFClass);
+ mylog("+%08x(%d) f_load\n", (int)swf, swf->ob_refcnt);
+
memset(&swf->swf, 0, sizeof(SWF));
swf->filename = strdup(filename);
return 0;
}
close(fi);
- swf->swf.firstTag = 0;
swf->taglist = taglist_new2(swf->swf.firstTag);
+ if(swf->taglist == NULL) {
+ return NULL;
+ }
+
+ swf_FreeTags(&swf->swf);
+ swf->swf.firstTag = 0;
- mylog("+%08x(%d) load\n", (int)self, self->ob_refcnt);
return (PyObject*)swf;
}
//----------------------------------------------------------------------------
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|si", kwlist, &filename, &compress))
return NULL;
+
+ mylog(" %08x(%d) f_save filename=%s compress=%d\n", (int)self, self->ob_refcnt, filename, compress);
// keyword arg compress (=1) forces compression
if(compress)
swf->compressed = 1;
swf->firstTag = taglist_getTAGs(swfo->taglist);
+ if(!swf->firstTag)
+ return NULL;
// fix the file, in case it is empty or not terminated properly
{
TAG*tag = swf->firstTag;
if(!tag)
tag = swf->firstTag = swf_InsertTag(0,ST_END);
- while(tag && tag->next)
+ while(tag && tag->next) {
tag = tag->next;
+ }
if(tag->id != ST_END) {
tag = swf_InsertTag(tag,ST_END);
}
}
}
close(fi);
-
- swf->firstTag = 0;
+
+ /* TODO: why is this segfaulting?? */
+ /* swf_FreeTags(swf);
+ swf->firstTag = 0;*/
return PY_NONE;
}
if(!self || !PyArg_ParseTuple(args,""))
return NULL;
swf->swf.firstTag = taglist_getTAGs(swf->taglist);
+ if(!swf->swf.firstTag)
+ return NULL;
swf_WriteCGI(&swf->swf);
swf->swf.firstTag = 0;
return PY_NONE;