Fixed bug in hash table copy.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@924 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2000-10-18 04:52:34 +00:00
commit 9a2dbc637a

View file

@ -427,6 +427,8 @@ static DOH *
CopyHash(DOH *ho) {
Hash *h, *nh;
HashNode *n;
DOH *nho;
int i;
h = (Hash *) ObjData(ho);
nh = (Hash *) DohMalloc(sizeof(Hash));
@ -442,15 +444,16 @@ CopyHash(DOH *ho) {
nh->file = h->file;
if (nh->file) Incref(nh->file);
nho = DohObjMalloc(DOHTYPE_HASH, nh);
for (i = 0; i < h->hashsize; i++) {
if ((n = h->hashtable[i])) {
while (n) {
Hash_setattr(nh, n->key, n->object);
Hash_setattr(nho, n->key, n->object);
n = n->next;
}
}
}
return DohObjMalloc(DOHTYPE_HASH, nh);
return nho;
}