if ((p->h == h) && ((p->nKeyLength == 0) || /* Numeric index */
((p->nKeyLength == nKeyLength) && (!memcmp(p->arKey, arKey, nKeyLength))))) {
HANDLE_BLOCK_INTERRUPTIONS();
- if (ht->pDestructor) {
- ht->pDestructor(p->pData);
- }
if (p == ht->arBuckets[nIndex]) {
ht->arBuckets[nIndex] = p->pNext;
} else {
if (ht->pInternalPointer == p) {
ht->pInternalPointer = p->pListNext;
}
+ if (ht->pDestructor) {
+ ht->pDestructor(p->pData);
+ }
pefree(p,ht->persistent);
HANDLE_UNBLOCK_INTERRUPTIONS();
ht->nNumOfElements--;