X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fimport.c;h=1c3e2bc0639e5531e7d7ab378a92be66d289d185;hb=d2bcd477230b4ac8d7e69fc253d94250b13eb37a;hp=a08d75f394d3d2fa2d1bbf6ff0c2af33c3e1733a;hpb=7f52a1e9e7c8113b2a78141e131b8f4ccc3949cf;p=swftools.git diff --git a/lib/as3/import.c b/lib/as3/import.c index a08d75f..1c3e2bc 100644 --- a/lib/as3/import.c +++ b/lib/as3/import.c @@ -55,6 +55,20 @@ void as3_import_swf(char*filename) free(swf); } +void as3_import_file(char*filename) +{ + FILE*fi = fopen(filename, "rb"); + if(!fi) return; + char head[3]; + fread(head, 3, 1, fi); + fclose(fi); + if(!strncmp(head, "FWS", 3) || + !strncmp(head, "FWC", 3)) + as3_import_swf(filename); + else + as3_import_abc(filename); +} + static int compare_traits(const void*v1, const void*v2) { trait_t* x1 = *(trait_t**)v1; @@ -123,6 +137,7 @@ void as3_import_code(abc_file_t*abc) } else { goto cont; } + s->flags = is_static?FLAG_STATIC:0; s->parent = c; @@ -169,6 +184,7 @@ void as3_import_code(abc_file_t*abc) } else { m = (memberinfo_t*)varinfo_register_global(access, package, name); } + m->return_type = 0; m->parent = 0; } }