void *value;
isc_ht_node_t *next;
size_t keysize;
- unsigned char key[];
+ unsigned char key[FLEXIBLE_ARRAY_MEMBER];
};
struct isc_ht {
isc_ht_node_t *next = node->next;
ht->count--;
isc_mem_put(ht->mctx, node,
- sizeof(isc_ht_node_t) + node->keysize);
+ offsetof(isc_ht_node_t, key) +
+ node->keysize);
node = next;
}
}
node = node->next;
}
- node = isc_mem_get(ht->mctx, sizeof(isc_ht_node_t) + keysize);
+ node = isc_mem_get(ht->mctx, offsetof(isc_ht_node_t, key) + keysize);
if (node == NULL)
return (ISC_R_NOMEMORY);
else
prev->next = node->next;
isc_mem_put(ht->mctx, node,
- sizeof(isc_ht_node_t) + node->keysize);
+ offsetof(isc_ht_node_t, key) +
+ node->keysize);
ht->count--;
return (ISC_R_SUCCESS);
else
prev->next = node->next;
isc_mem_put(ht->mctx, node,
- sizeof(isc_ht_node_t) + node->keysize);
+ offsetof(isc_ht_node_t, key) + node->keysize);
ht->count--;
return (result);