Browse Source

- Undo a bug we introduced. (Another one out there).

PHP-4.0.5
Andi Gutmans 26 years ago
parent
commit
58fb1a3922
  1. 7
      Zend/zend_hash.c

7
Zend/zend_hash.c

@ -522,7 +522,7 @@ ZEND_API int zend_hash_rehash(HashTable *ht)
ZEND_API int zend_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLength, ulong h, int flag)
{
uint nIndex;
Bucket *p;
Bucket *p, *t = NULL; /* initialize just to shut gcc up with -Wall */
IS_CONSISTENT(ht);
@ -537,8 +537,10 @@ ZEND_API int zend_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLen
if ((p->h == h) && ((p->nKeyLength == 0) || /* Numeric index */
((p->nKeyLength == nKeyLength) && (!memcmp(p->arKey, arKey, nKeyLength))))) {
HANDLE_BLOCK_INTERRUPTIONS();
if (ht->arBuckets[nIndex] == p) {
if (p == ht->arBuckets[nIndex]) {
ht->arBuckets[nIndex] = p->pNext;
} else {
t->pNext = p->pNext;
}
if (p->pListLast != NULL) {
p->pListLast->pListNext = p->pListNext;
@ -565,6 +567,7 @@ ZEND_API int zend_hash_del_key_or_index(HashTable *ht, char *arKey, uint nKeyLen
ht->nNumOfElements--;
return SUCCESS;
}
t = p;
p = p->pNext;
}
return FAILURE;

Loading…
Cancel
Save