}
#if ZEND_DEBUG
+#define HT_IS_DESTROYING 1
+#define HT_DESTROYED 2
+#define HT_CLEANING 3
+#define HT_OK 0
+
static void _zend_is_inconsistent(HashTable *ht,char *file, int line)
{
switch (ht->inconsistent) {
- case 1:
+ case HT_IS_DESTROYING:
zend_error(E_CORE_ERROR, "ht=%08x is destroying in %s:%d",ht,file,line);
break;
- case 2:
+ case HT_DESTROYED:
zend_error(E_CORE_ERROR, "ht=%08x is already destroyed in %s:%d",ht,file,line);
break;
- case 3:
+ case HT_CLEANING:
zend_error(E_CORE_ERROR, "ht=%08x is cleaning %s:%d",ht,file,line);
break;
}
{
uint i;
- SET_INCONSISTENT(0);
+ SET_INCONSISTENT(HT_OK);
for (i = 0; i < nNumPrimeNumbers; i++) {
if (nSize <= PrimeNumbers[i]) {
IS_CONSISTENT(ht);
- SET_INCONSISTENT(1);
+ SET_INCONSISTENT(HT_IS_DESTROYING);
p = ht->pListHead;
while (p != NULL) {
}
pefree(ht->arBuckets,ht->persistent);
- SET_INCONSISTENT(2);
+ SET_INCONSISTENT(HT_DESTROYED);
}
IS_CONSISTENT(ht);
- SET_INCONSISTENT(3);
+ SET_INCONSISTENT(HT_CLEANING);
p = ht->pListHead;
while (p != NULL) {
ht->nNextFreeElement = 0;
ht->pInternalPointer = NULL;
- SET_INCONSISTENT(0);
+ SET_INCONSISTENT(HT_OK);
}
}
pefree(ht->arBuckets,ht->persistent);
- SET_INCONSISTENT(2);
+ SET_INCONSISTENT(HT_DESTROYED);
}
/* This is used to selectively delete certain entries from a hashtable.