X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fas3%2Fpool.c;h=ce279a3428c5be57119c8e36e9e9a3d5e885cd05;hp=3889ee641c45e72e46a9662178178528139c0ea3;hb=d7367b3ec772ea163ebca6b7497639a0cb45c20c;hpb=2391d7ae5d8a145a250a8b80ab8c93ba74eba030 diff --git a/lib/as3/pool.c b/lib/as3/pool.c index 3889ee6..ce279a3 100644 --- a/lib/as3/pool.c +++ b/lib/as3/pool.c @@ -209,7 +209,7 @@ namespace_t* namespace_fromstring(const char*name) namespace_t*ns = malloc(sizeof(namespace_t)); memset(ns, 0, sizeof(namespace_t)); if(name[0] == '[') { - U8 access; + U8 access = 0; char*n = strdup(name); char*bracket = strchr(n, ']'); if(bracket) { @@ -1359,13 +1359,17 @@ void pool_write(pool_t*pool, TAG*tag) } else { assert(m->type!=0x07 && m->type!=0x0d); } + if(m->name) { assert(m->type==0x09 || m->type==0x0e || m->type==0x07 || m->type==0x0d || m->type==0x0f || m->type==0x10); int i = pool_find_string(pool, m->name); if(i<0) fprintf(stderr, "internal error: unregistered name\n"); swf_SetU30(tag, i); } else { - assert(m->type!=0x09 && m->type!=0x0e && m->type!=0x07 && m->type!=0x0d && m->type!=0x0f && m->type!=0x10); + if(m->type == 0x09) { + swf_SetU30(tag, 0); + } + assert(m->type!=0x0e && m->type!=0x07 && m->type!=0x0d && m->type!=0x0f && m->type!=0x10); } if(m->namespace_set) { assert(m->type==0x09 || m->type==0x0e || m->type==0x1c || m->type==0x1b);