X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpython%2Ftag.c;h=f495499fb78c230a9fb429be6afa62e4be13a6ef;hb=bdad407fb79c2f7be9f3603694ebdeadc645b52d;hp=69938a84245c81c01d85b29db95fb1277bd319ba;hpb=46cb1a8fcf292ad6c4f1642e2942679df9147d83;p=swftools.git diff --git a/lib/python/tag.c b/lib/python/tag.c index 69938a8..f495499 100644 --- a/lib/python/tag.c +++ b/lib/python/tag.c @@ -83,7 +83,7 @@ static void tag_dealloc(PyObject * self) tag->internals.data = 0; } if(tag->internals.tag) { - swf_DeleteTag(tag->internals.tag); + swf_DeleteTag(0, tag->internals.tag); tag->internals.tag = 0; } Py_DECREF(tag->internals.tagmap); @@ -196,6 +196,11 @@ static PyObject* tag_getattr(PyObject * self, char* a) char* name = swf_TagGetName(tag->internals.tag); return Py_BuildValue("s", name); } + if(!strcmp(a, "data")) { + if(!fillTAG(self)) + return 0; + return Py_BuildValue("s#", tag->internals.tag->data, tag->internals.tag->len); + } if(tag->internals.getattr) { PyObject* ret = tag->internals.getattr(&tag->internals, a); if(ret) return ret; @@ -224,7 +229,7 @@ static int tag_setattr(PyObject * _self, char* a, PyObject * o) /* a setattr will almost certainly change the tag data, so delete the tag */ if(self->internals.tag) { - swf_DeleteTag(self->internals.tag); + swf_DeleteTag(0, self->internals.tag); self->internals.tag = 0; } if(self->internals.setattr) {