ZEND_API int zend_hash_exists( const HashTable *ht, const char *arKey, uint nKeyLength) |
{ |
ulong h; |
uint nIndex; |
Bucket *p; |
IS_CONSISTENT(ht); |
h = zend_inline_hash_func(arKey, nKeyLength); |
nIndex = h & ht->nTableMask; |
p = ht->arBuckets[nIndex]; |
while (p != NULL) { |
if (p->arKey == arKey || |
((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { |
return 1; |
} |
p = p->pNext; |
} |
return 0; |
} |