X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fmklib.c;h=b71e45e8c4bf9c3e3a1748f5a092351dcf532ab1;hb=ba3e4601e238446b634dfe21f31230f1a278bac5;hp=1d186b48f9e6425cbf656bc68d5949c6fbe3974d;hpb=d2bcd477230b4ac8d7e69fc253d94250b13eb37a;p=swftools.git diff --git a/lib/as3/mklib.c b/lib/as3/mklib.c index 1d186b4..b71e45e 100644 --- a/lib/as3/mklib.c +++ b/lib/as3/mklib.c @@ -156,14 +156,15 @@ void write_initinfo(FILE*fi, slotinfo_t*s, char*prefix) fprintf(fi, "%s", prefix); char*id = mkid(c); dict_t*d = &c->members; - fprintf(fi, "dict_init(&%s.members, %d);\n", id, d->hashsize); + fprintf(fi, "dict_init2(&%s.members, &slotinfo_type, %d);\n", id, d->hashsize); int t; for(t=0;thashsize;t++) { dictentry_t*l = d->slots[t]; while(l) { slotinfo_t*s2 = (slotinfo_t*)l->data; fprintf(fi, "%s", prefix); - fprintf(fi, "dict_put(&%s.members, \"%s\", &%s);\n", id, s2->name, mkid2(id, s2->name)); + char*id2 = mkid2(id, s2->name); + fprintf(fi, "dict_put(&%s.members, &%s, &%s);\n", id, id2,id2); l = l->next; } } @@ -192,9 +193,8 @@ void write_slotinfo(FILE*fi, slotinfo_t*s, char*id, char*prefix) fprintf(fi, "interfaces: {"); int t; for(t=0;c->interfaces[t];t++) { - fprintf(fi, "%c", mkptr(c->interfaces[t])); - if(c->interfaces[t+1]) - fprintf(fi, ", "); + fprintf(fi, "%s", mkptr(c->interfaces[t])); + fprintf(fi, ", "); } fprintf(fi, "0}};\n"); }