X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fq.c;h=942cfbb8ba4d4655e3b39964140b43d7edcb3691;hb=0fd17f47ee30d90181e51f30fc17a6c31646137e;hp=55a4c06f8d50db3493a104658d5513d522afc444;hpb=9f2b929b62347a78873023e78d837cb8765c3f54;p=swftools.git diff --git a/lib/q.c b/lib/q.c index 55a4c06..942cfbb 100644 --- a/lib/q.c +++ b/lib/q.c @@ -764,6 +764,14 @@ void dict_init(dict_t*h, int size) h->num = 0; h->key_type = &charptr_type; } +void dict_init2(dict_t*h, type_t*t, int size) +{ + memset(h, 0, sizeof(dict_t)); + h->hashsize = size; + h->slots = h->hashsize?(dictentry_t**)rfx_calloc(sizeof(dictentry_t*)*h->hashsize):0; + h->num = 0; + h->key_type = t; +} dict_t*dict_clone(dict_t*o) { @@ -925,7 +933,7 @@ char dict_del(dict_t*h, const void*key) memset(e, 0, sizeof(dictentry_t)); rfx_free(e); if(e == head) { - h->slots[hash] = 0; + h->slots[hash] = next; } else { assert(prev); prev->next = next;