From b49af457d8554794e1550e3051a4fcd67a965d8a Mon Sep 17 00:00:00 2001 From: kramm Date: Tue, 23 Dec 2008 19:03:54 +0000 Subject: [PATCH] fixed bugs in dict_clone --- lib/q.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/q.c b/lib/q.c index 0d0d944..0b19aa9 100644 --- a/lib/q.c +++ b/lib/q.c @@ -625,14 +625,16 @@ dict_t*dict_clone(dict_t*o) memcpy(h, o, sizeof(dict_t)); h->slots = h->hashsize?(dictentry_t**)rfx_calloc(sizeof(dictentry_t*)*h->hashsize):0; int t; - for(t=0;thashsize;t++) { - dictentry_t*e = h->slots[t]; + for(t=0;thashsize;t++) { + dictentry_t*e = o->slots[t]; while(e) { dictentry_t*n = (dictentry_t*)rfx_alloc(sizeof(dictentry_t)); memcpy(n, e, sizeof(dictentry_t)); - n->data = h->key_type->dup(e->data); + n->key = h->key_type->dup(e->key); + n->data = e->data; n->next = h->slots[t]; h->slots[t] = n; + e = e->next; } } return h; -- 1.7.10.4