Lines Matching refs:p

107 #define UPDATE_DATA(ht, p, pData, nDataSize)											\  argument
109 if ((p)->pData != &(p)->pDataPtr) { \
110 pefree_rel((p)->pData, (ht)->persistent); \
112 memcpy(&(p)->pDataPtr, pData, sizeof(void *)); \
113 (p)->pData = &(p)->pDataPtr; \
115 if ((p)->pData == &(p)->pDataPtr) { \
116 (p)->pData = (void *) pemalloc_rel(nDataSize, (ht)->persistent); \
117 (p)->pDataPtr=NULL; \
119 (p)->pData = (void *) perealloc_rel((p)->pData, nDataSize, (ht)->persistent); \
122 memcpy((p)->pData, pData, nDataSize); \
125 #define INIT_DATA(ht, p, pData, nDataSize); \ argument
127 memcpy(&(p)->pDataPtr, pData, sizeof(void *)); \
128 (p)->pData = &(p)->pDataPtr; \
130 (p)->pData = (void *) pemalloc_rel(nDataSize, (ht)->persistent);\
131 if (!(p)->pData) { \
132 pefree_rel(p, (ht)->persistent); \
135 memcpy((p)->pData, pData, nDataSize); \
136 (p)->pDataPtr=NULL; \
199 Bucket *p; in _zend_hash_add_or_update() local
218 p = ht->arBuckets[nIndex]; in _zend_hash_add_or_update()
219 while (p != NULL) { in _zend_hash_add_or_update()
220 if (p->arKey == arKey || in _zend_hash_add_or_update()
221 ((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { in _zend_hash_add_or_update()
227 if (p->pData == pData) { in _zend_hash_add_or_update()
234 ht->pDestructor(p->pData); in _zend_hash_add_or_update()
236 UPDATE_DATA(ht, p, pData, nDataSize); in _zend_hash_add_or_update()
238 *pDest = p->pData; in _zend_hash_add_or_update()
243 p = p->pNext; in _zend_hash_add_or_update()
247 p = (Bucket *) pemalloc(sizeof(Bucket), ht->persistent); in _zend_hash_add_or_update()
248 if (!p) { in _zend_hash_add_or_update()
251 p->arKey = arKey; in _zend_hash_add_or_update()
253 p = (Bucket *) pemalloc(sizeof(Bucket) + nKeyLength, ht->persistent); in _zend_hash_add_or_update()
254 if (!p) { in _zend_hash_add_or_update()
257 p->arKey = (const char*)(p + 1); in _zend_hash_add_or_update()
258 memcpy((char*)p->arKey, arKey, nKeyLength); in _zend_hash_add_or_update()
260 p->nKeyLength = nKeyLength; in _zend_hash_add_or_update()
261 INIT_DATA(ht, p, pData, nDataSize); in _zend_hash_add_or_update()
262 p->h = h; in _zend_hash_add_or_update()
263 CONNECT_TO_BUCKET_DLLIST(p, ht->arBuckets[nIndex]); in _zend_hash_add_or_update()
265 *pDest = p->pData; in _zend_hash_add_or_update()
269 CONNECT_TO_GLOBAL_DLLIST(p, ht); in _zend_hash_add_or_update()
270 ht->arBuckets[nIndex] = p; in _zend_hash_add_or_update()
281 Bucket *p; in _zend_hash_quick_add_or_update() local
295 p = ht->arBuckets[nIndex]; in _zend_hash_quick_add_or_update()
296 while (p != NULL) { in _zend_hash_quick_add_or_update()
297 if (p->arKey == arKey || in _zend_hash_quick_add_or_update()
298 ((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { in _zend_hash_quick_add_or_update()
304 if (p->pData == pData) { in _zend_hash_quick_add_or_update()
311 ht->pDestructor(p->pData); in _zend_hash_quick_add_or_update()
313 UPDATE_DATA(ht, p, pData, nDataSize); in _zend_hash_quick_add_or_update()
315 *pDest = p->pData; in _zend_hash_quick_add_or_update()
320 p = p->pNext; in _zend_hash_quick_add_or_update()
324 p = (Bucket *) pemalloc(sizeof(Bucket), ht->persistent); in _zend_hash_quick_add_or_update()
325 if (!p) { in _zend_hash_quick_add_or_update()
328 p->arKey = arKey; in _zend_hash_quick_add_or_update()
330 p = (Bucket *) pemalloc(sizeof(Bucket) + nKeyLength, ht->persistent); in _zend_hash_quick_add_or_update()
331 if (!p) { in _zend_hash_quick_add_or_update()
334 p->arKey = (const char*)(p + 1); in _zend_hash_quick_add_or_update()
335 memcpy((char*)p->arKey, arKey, nKeyLength); in _zend_hash_quick_add_or_update()
338 p->nKeyLength = nKeyLength; in _zend_hash_quick_add_or_update()
339 INIT_DATA(ht, p, pData, nDataSize); in _zend_hash_quick_add_or_update()
340 p->h = h; in _zend_hash_quick_add_or_update()
342 CONNECT_TO_BUCKET_DLLIST(p, ht->arBuckets[nIndex]); in _zend_hash_quick_add_or_update()
345 *pDest = p->pData; in _zend_hash_quick_add_or_update()
349 ht->arBuckets[nIndex] = p; in _zend_hash_quick_add_or_update()
350 CONNECT_TO_GLOBAL_DLLIST(p, ht); in _zend_hash_quick_add_or_update()
370 Bucket *p; in _zend_hash_index_update_or_next_insert() local
383 p = ht->arBuckets[nIndex]; in _zend_hash_index_update_or_next_insert()
384 while (p != NULL) { in _zend_hash_index_update_or_next_insert()
385 if ((p->nKeyLength == 0) && (p->h == h)) { in _zend_hash_index_update_or_next_insert()
391 if (p->pData == pData) { in _zend_hash_index_update_or_next_insert()
398 ht->pDestructor(p->pData); in _zend_hash_index_update_or_next_insert()
400 UPDATE_DATA(ht, p, pData, nDataSize); in _zend_hash_index_update_or_next_insert()
406 *pDest = p->pData; in _zend_hash_index_update_or_next_insert()
410 p = p->pNext; in _zend_hash_index_update_or_next_insert()
412 p = (Bucket *) pemalloc_rel(sizeof(Bucket), ht->persistent); in _zend_hash_index_update_or_next_insert()
413 if (!p) { in _zend_hash_index_update_or_next_insert()
416 p->arKey = NULL; in _zend_hash_index_update_or_next_insert()
417 p->nKeyLength = 0; /* Numeric indices are marked by making the nKeyLength == 0 */ in _zend_hash_index_update_or_next_insert()
418 p->h = h; in _zend_hash_index_update_or_next_insert()
419 INIT_DATA(ht, p, pData, nDataSize); in _zend_hash_index_update_or_next_insert()
421 *pDest = p->pData; in _zend_hash_index_update_or_next_insert()
424 CONNECT_TO_BUCKET_DLLIST(p, ht->arBuckets[nIndex]); in _zend_hash_index_update_or_next_insert()
427 ht->arBuckets[nIndex] = p; in _zend_hash_index_update_or_next_insert()
428 CONNECT_TO_GLOBAL_DLLIST(p, ht); in _zend_hash_index_update_or_next_insert()
467 Bucket *p; in zend_hash_rehash() local
476 p = ht->pListHead; in zend_hash_rehash()
477 while (p != NULL) { in zend_hash_rehash()
478 nIndex = p->h & ht->nTableMask; in zend_hash_rehash()
479 CONNECT_TO_BUCKET_DLLIST(p, ht->arBuckets[nIndex]); in zend_hash_rehash()
480 ht->arBuckets[nIndex] = p; in zend_hash_rehash()
481 p = p->pListNext; in zend_hash_rehash()
489 Bucket *p; in zend_hash_del_key_or_index() local
501 p = ht->arBuckets[nIndex]; in zend_hash_del_key_or_index()
502 while (p != NULL) { in zend_hash_del_key_or_index()
503 if ((p->h == h) in zend_hash_del_key_or_index()
504 && (p->nKeyLength == nKeyLength) in zend_hash_del_key_or_index()
505 && ((p->nKeyLength == 0) /* Numeric index (short circuits the memcmp() check) */ in zend_hash_del_key_or_index()
506 || !memcmp(p->arKey, arKey, nKeyLength))) { /* String index */ in zend_hash_del_key_or_index()
508 if (p == ht->arBuckets[nIndex]) { in zend_hash_del_key_or_index()
509 ht->arBuckets[nIndex] = p->pNext; in zend_hash_del_key_or_index()
511 p->pLast->pNext = p->pNext; in zend_hash_del_key_or_index()
513 if (p->pNext) { in zend_hash_del_key_or_index()
514 p->pNext->pLast = p->pLast; in zend_hash_del_key_or_index()
516 if (p->pListLast != NULL) { in zend_hash_del_key_or_index()
517 p->pListLast->pListNext = p->pListNext; in zend_hash_del_key_or_index()
520 ht->pListHead = p->pListNext; in zend_hash_del_key_or_index()
522 if (p->pListNext != NULL) { in zend_hash_del_key_or_index()
523 p->pListNext->pListLast = p->pListLast; in zend_hash_del_key_or_index()
525 ht->pListTail = p->pListLast; in zend_hash_del_key_or_index()
527 if (ht->pInternalPointer == p) { in zend_hash_del_key_or_index()
528 ht->pInternalPointer = p->pListNext; in zend_hash_del_key_or_index()
532 ht->pDestructor(p->pData); in zend_hash_del_key_or_index()
534 if (p->pData != &p->pDataPtr) { in zend_hash_del_key_or_index()
535 pefree(p->pData, ht->persistent); in zend_hash_del_key_or_index()
537 pefree(p, ht->persistent); in zend_hash_del_key_or_index()
541 p = p->pNext; in zend_hash_del_key_or_index()
549 Bucket *p, *q; in zend_hash_destroy() local
555 p = ht->pListHead; in zend_hash_destroy()
556 while (p != NULL) { in zend_hash_destroy()
557 q = p; in zend_hash_destroy()
558 p = p->pListNext; in zend_hash_destroy()
577 Bucket *p, *q; in zend_hash_clean() local
581 p = ht->pListHead; in zend_hash_clean()
592 while (p != NULL) { in zend_hash_clean()
593 q = p; in zend_hash_clean()
594 p = p->pListNext; in zend_hash_clean()
610 static Bucket *zend_hash_apply_deleter(HashTable *ht, Bucket *p) in zend_hash_apply_deleter() argument
618 if (p->pLast) { in zend_hash_apply_deleter()
619 p->pLast->pNext = p->pNext; in zend_hash_apply_deleter()
623 nIndex = p->h & ht->nTableMask; in zend_hash_apply_deleter()
624 ht->arBuckets[nIndex] = p->pNext; in zend_hash_apply_deleter()
626 if (p->pNext) { in zend_hash_apply_deleter()
627 p->pNext->pLast = p->pLast; in zend_hash_apply_deleter()
632 if (p->pListLast != NULL) { in zend_hash_apply_deleter()
633 p->pListLast->pListNext = p->pListNext; in zend_hash_apply_deleter()
636 ht->pListHead = p->pListNext; in zend_hash_apply_deleter()
638 if (p->pListNext != NULL) { in zend_hash_apply_deleter()
639 p->pListNext->pListLast = p->pListLast; in zend_hash_apply_deleter()
641 ht->pListTail = p->pListLast; in zend_hash_apply_deleter()
643 if (ht->pInternalPointer == p) { in zend_hash_apply_deleter()
644 ht->pInternalPointer = p->pListNext; in zend_hash_apply_deleter()
650 ht->pDestructor(p->pData); in zend_hash_apply_deleter()
652 if (p->pData != &p->pDataPtr) { in zend_hash_apply_deleter()
653 pefree(p->pData, ht->persistent); in zend_hash_apply_deleter()
655 retval = p->pListNext; in zend_hash_apply_deleter()
656 pefree(p, ht->persistent); in zend_hash_apply_deleter()
664 Bucket *p; in zend_hash_graceful_destroy() local
668 p = ht->pListHead; in zend_hash_graceful_destroy()
669 while (p != NULL) { in zend_hash_graceful_destroy()
670 p = zend_hash_apply_deleter(ht, p); in zend_hash_graceful_destroy()
681 Bucket *p; in zend_hash_graceful_reverse_destroy() local
685 p = ht->pListTail; in zend_hash_graceful_reverse_destroy()
686 while (p != NULL) { in zend_hash_graceful_reverse_destroy()
687 zend_hash_apply_deleter(ht, p); in zend_hash_graceful_reverse_destroy()
688 p = ht->pListTail; in zend_hash_graceful_reverse_destroy()
709 Bucket *p; in zend_hash_apply() local
714 p = ht->pListHead; in zend_hash_apply()
715 while (p != NULL) { in zend_hash_apply()
716 int result = apply_func(p->pData TSRMLS_CC); in zend_hash_apply()
719 p = zend_hash_apply_deleter(ht, p); in zend_hash_apply()
721 p = p->pListNext; in zend_hash_apply()
733 Bucket *p; in zend_hash_apply_with_argument() local
738 p = ht->pListHead; in zend_hash_apply_with_argument()
739 while (p != NULL) { in zend_hash_apply_with_argument()
740 int result = apply_func(p->pData, argument TSRMLS_CC); in zend_hash_apply_with_argument()
743 p = zend_hash_apply_deleter(ht, p); in zend_hash_apply_with_argument()
745 p = p->pListNext; in zend_hash_apply_with_argument()
757 Bucket *p; in zend_hash_apply_with_arguments() local
765 p = ht->pListHead; in zend_hash_apply_with_arguments()
766 while (p != NULL) { in zend_hash_apply_with_arguments()
769 hash_key.arKey = p->arKey; in zend_hash_apply_with_arguments()
770 hash_key.nKeyLength = p->nKeyLength; in zend_hash_apply_with_arguments()
771 hash_key.h = p->h; in zend_hash_apply_with_arguments()
772 result = apply_func(p->pData TSRMLS_CC, num_args, args, &hash_key); in zend_hash_apply_with_arguments()
775 p = zend_hash_apply_deleter(ht, p); in zend_hash_apply_with_arguments()
777 p = p->pListNext; in zend_hash_apply_with_arguments()
792 Bucket *p, *q; in zend_hash_reverse_apply() local
797 p = ht->pListTail; in zend_hash_reverse_apply()
798 while (p != NULL) { in zend_hash_reverse_apply()
799 int result = apply_func(p->pData TSRMLS_CC); in zend_hash_reverse_apply()
801 q = p; in zend_hash_reverse_apply()
802 p = p->pListLast; in zend_hash_reverse_apply()
816 Bucket *p; in zend_hash_copy() local
824 p = source->pListHead; in zend_hash_copy()
825 while (p) { in zend_hash_copy()
826 if (setTargetPointer && source->pInternalPointer == p) { in zend_hash_copy()
829 if (p->nKeyLength) { in zend_hash_copy()
830 zend_hash_quick_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &new_entry); in zend_hash_copy()
832 zend_hash_index_update(target, p->h, p->pData, size, &new_entry); in zend_hash_copy()
837 p = p->pListNext; in zend_hash_copy()
847 Bucket *p; in _zend_hash_merge() local
854 p = source->pListHead; in _zend_hash_merge()
855 while (p) { in _zend_hash_merge()
856 if (p->nKeyLength>0) { in _zend_hash_merge()
857 …if (_zend_hash_quick_add_or_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &t, mode… in _zend_hash_merge()
861 …ode==HASH_UPDATE || !zend_hash_index_exists(target, p->h)) && zend_hash_index_update(target, p->h,… in _zend_hash_merge()
865 p = p->pListNext; in _zend_hash_merge()
871 static zend_bool zend_hash_replace_checker_wrapper(HashTable *target, void *source_data, Bucket *p,… in zend_hash_replace_checker_wrapper() argument
875 hash_key.arKey = p->arKey; in zend_hash_replace_checker_wrapper()
876 hash_key.nKeyLength = p->nKeyLength; in zend_hash_replace_checker_wrapper()
877 hash_key.h = p->h; in zend_hash_replace_checker_wrapper()
884 Bucket *p; in zend_hash_merge_ex() local
890 p = source->pListHead; in zend_hash_merge_ex()
891 while (p) { in zend_hash_merge_ex()
892 if (zend_hash_replace_checker_wrapper(target, p->pData, p, pParam, pMergeSource)) { in zend_hash_merge_ex()
893 …if (zend_hash_quick_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &t)==SUCCESS && … in zend_hash_merge_ex()
897 p = p->pListNext; in zend_hash_merge_ex()
917 Bucket *p; in zend_hash_find() local
924 p = ht->arBuckets[nIndex]; in zend_hash_find()
925 while (p != NULL) { in zend_hash_find()
926 if (p->arKey == arKey || in zend_hash_find()
927 ((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { in zend_hash_find()
928 *pData = p->pData; in zend_hash_find()
931 p = p->pNext; in zend_hash_find()
940 Bucket *p; in zend_hash_quick_find() local
950 p = ht->arBuckets[nIndex]; in zend_hash_quick_find()
951 while (p != NULL) { in zend_hash_quick_find()
952 if (p->arKey == arKey || in zend_hash_quick_find()
953 ((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { in zend_hash_quick_find()
954 *pData = p->pData; in zend_hash_quick_find()
957 p = p->pNext; in zend_hash_quick_find()
967 Bucket *p; in zend_hash_exists() local
974 p = ht->arBuckets[nIndex]; in zend_hash_exists()
975 while (p != NULL) { in zend_hash_exists()
976 if (p->arKey == arKey || in zend_hash_exists()
977 ((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { in zend_hash_exists()
980 p = p->pNext; in zend_hash_exists()
989 Bucket *p; in zend_hash_quick_exists() local
999 p = ht->arBuckets[nIndex]; in zend_hash_quick_exists()
1000 while (p != NULL) { in zend_hash_quick_exists()
1001 if (p->arKey == arKey || in zend_hash_quick_exists()
1002 ((p->h == h) && (p->nKeyLength == nKeyLength) && !memcmp(p->arKey, arKey, nKeyLength))) { in zend_hash_quick_exists()
1005 p = p->pNext; in zend_hash_quick_exists()
1015 Bucket *p; in zend_hash_index_find() local
1021 p = ht->arBuckets[nIndex]; in zend_hash_index_find()
1022 while (p != NULL) { in zend_hash_index_find()
1023 if ((p->h == h) && (p->nKeyLength == 0)) { in zend_hash_index_find()
1024 *pData = p->pData; in zend_hash_index_find()
1027 p = p->pNext; in zend_hash_index_find()
1036 Bucket *p; in zend_hash_index_exists() local
1042 p = ht->arBuckets[nIndex]; in zend_hash_index_exists()
1043 while (p != NULL) { in zend_hash_index_exists()
1044 if ((p->h == h) && (p->nKeyLength == 0)) { in zend_hash_index_exists()
1047 p = p->pNext; in zend_hash_index_exists()
1078 Bucket *p; in zend_hash_set_pointer() local
1081 p = ht->arBuckets[ptr->h & ht->nTableMask]; in zend_hash_set_pointer()
1082 while (p != NULL) { in zend_hash_set_pointer()
1083 if (p == ptr->pos) { in zend_hash_set_pointer()
1084 ht->pInternalPointer = p; in zend_hash_set_pointer()
1087 p = p->pNext; in zend_hash_set_pointer()
1149 Bucket *p; in zend_hash_get_current_key_ex() local
1151 p = pos ? (*pos) : ht->pInternalPointer; in zend_hash_get_current_key_ex()
1155 if (p) { in zend_hash_get_current_key_ex()
1156 if (p->nKeyLength) { in zend_hash_get_current_key_ex()
1158 *str_index = estrndup(p->arKey, p->nKeyLength - 1); in zend_hash_get_current_key_ex()
1160 *str_index = (char*)p->arKey; in zend_hash_get_current_key_ex()
1163 *str_length = p->nKeyLength; in zend_hash_get_current_key_ex()
1167 *num_index = p->h; in zend_hash_get_current_key_ex()
1175 Bucket *p; in zend_hash_get_current_key_zval_ex() local
1179 p = pos ? (*pos) : ht->pInternalPointer; in zend_hash_get_current_key_zval_ex()
1181 if (!p) { in zend_hash_get_current_key_zval_ex()
1183 } else if (p->nKeyLength) { in zend_hash_get_current_key_zval_ex()
1185 Z_STRVAL_P(key) = estrndup(p->arKey, p->nKeyLength - 1); in zend_hash_get_current_key_zval_ex()
1186 Z_STRLEN_P(key) = p->nKeyLength - 1; in zend_hash_get_current_key_zval_ex()
1189 Z_LVAL_P(key) = p->h; in zend_hash_get_current_key_zval_ex()
1195 Bucket *p; in zend_hash_get_current_key_type_ex() local
1197 p = pos ? (*pos) : ht->pInternalPointer; in zend_hash_get_current_key_type_ex()
1201 if (p) { in zend_hash_get_current_key_type_ex()
1202 if (p->nKeyLength) { in zend_hash_get_current_key_type_ex()
1214 Bucket *p; in zend_hash_get_current_data_ex() local
1216 p = pos ? (*pos) : ht->pInternalPointer; in zend_hash_get_current_data_ex()
1220 if (p) { in zend_hash_get_current_data_ex()
1221 *pData = p->pData; in zend_hash_get_current_data_ex()
1233 Bucket *p, *q; in zend_hash_update_current_key_ex() local
1239 p = pos ? (*pos) : ht->pInternalPointer; in zend_hash_update_current_key_ex()
1243 if (p) { in zend_hash_update_current_key_ex()
1246 if (!p->nKeyLength && p->h == num_index) { in zend_hash_update_current_key_ex()
1264 if (p->arKey == str_index || in zend_hash_update_current_key_ex()
1265 (p->nKeyLength == str_length && in zend_hash_update_current_key_ex()
1266 p->h == h && in zend_hash_update_current_key_ex()
1267 memcmp(p->arKey, str_index, str_length) == 0)) { in zend_hash_update_current_key_ex()
1289 Bucket *r = p->pListLast; in zend_hash_update_current_key_ex()
1301 if (p == ht->arBuckets[p->h & ht->nTableMask]) { in zend_hash_update_current_key_ex()
1302 ht->arBuckets[p->h & ht->nTableMask] = p->pNext; in zend_hash_update_current_key_ex()
1304 p->pLast->pNext = p->pNext; in zend_hash_update_current_key_ex()
1306 if (p->pNext) { in zend_hash_update_current_key_ex()
1307 p->pNext->pLast = p->pLast; in zend_hash_update_current_key_ex()
1309 if (p->pListLast != NULL) { in zend_hash_update_current_key_ex()
1310 p->pListLast->pListNext = p->pListNext; in zend_hash_update_current_key_ex()
1313 ht->pListHead = p->pListNext; in zend_hash_update_current_key_ex()
1315 if (p->pListNext != NULL) { in zend_hash_update_current_key_ex()
1316 p->pListNext->pListLast = p->pListLast; in zend_hash_update_current_key_ex()
1318 ht->pListTail = p->pListLast; in zend_hash_update_current_key_ex()
1320 if (ht->pInternalPointer == p) { in zend_hash_update_current_key_ex()
1321 ht->pInternalPointer = p->pListNext; in zend_hash_update_current_key_ex()
1325 ht->pDestructor(p->pData); in zend_hash_update_current_key_ex()
1327 if (p->pData != &p->pDataPtr) { in zend_hash_update_current_key_ex()
1328 pefree(p->pData, ht->persistent); in zend_hash_update_current_key_ex()
1330 pefree(p, ht->persistent); in zend_hash_update_current_key_ex()
1368 if (p->pNext) { in zend_hash_update_current_key_ex()
1369 p->pNext->pLast = p->pLast; in zend_hash_update_current_key_ex()
1371 if (p->pLast) { in zend_hash_update_current_key_ex()
1372 p->pLast->pNext = p->pNext; in zend_hash_update_current_key_ex()
1374 ht->arBuckets[p->h & ht->nTableMask] = p->pNext; in zend_hash_update_current_key_ex()
1377 if ((IS_INTERNED(p->arKey) != IS_INTERNED(str_index)) || in zend_hash_update_current_key_ex()
1378 (!IS_INTERNED(p->arKey) && p->nKeyLength != str_length)) { in zend_hash_update_current_key_ex()
1388 if (p->pData == &p->pDataPtr) { in zend_hash_update_current_key_ex()
1391 q->pData = p->pData; in zend_hash_update_current_key_ex()
1393 q->pDataPtr = p->pDataPtr; in zend_hash_update_current_key_ex()
1394 q->pListNext = p->pListNext; in zend_hash_update_current_key_ex()
1395 q->pListLast = p->pListLast; in zend_hash_update_current_key_ex()
1397 p->pListNext->pListLast = q; in zend_hash_update_current_key_ex()
1402 p->pListLast->pListNext = q; in zend_hash_update_current_key_ex()
1406 if (ht->pInternalPointer == p) { in zend_hash_update_current_key_ex()
1412 pefree(p, ht->persistent); in zend_hash_update_current_key_ex()
1413 p = q; in zend_hash_update_current_key_ex()
1417 p->h = num_index; in zend_hash_update_current_key_ex()
1422 p->h = h; in zend_hash_update_current_key_ex()
1423 p->nKeyLength = str_length; in zend_hash_update_current_key_ex()
1425 p->arKey = str_index; in zend_hash_update_current_key_ex()
1427 p->arKey = (const char*)(p+1); in zend_hash_update_current_key_ex()
1428 memcpy((char*)p->arKey, str_index, str_length); in zend_hash_update_current_key_ex()
1432 CONNECT_TO_BUCKET_DLLIST(p, ht->arBuckets[p->h & ht->nTableMask]); in zend_hash_update_current_key_ex()
1433 ht->arBuckets[p->h & ht->nTableMask] = p; in zend_hash_update_current_key_ex()
1446 Bucket *p; in zend_hash_sort() local
1458 p = ht->pListHead; in zend_hash_sort()
1460 while (p) { in zend_hash_sort()
1461 arTmp[i] = p; in zend_hash_sort()
1462 p = p->pListNext; in zend_hash_sort()
1491 p = ht->pListHead; in zend_hash_sort()
1493 while (p != NULL) { in zend_hash_sort()
1494 p->nKeyLength = 0; in zend_hash_sort()
1495 p->h = i++; in zend_hash_sort()
1496 p = p->pListNext; in zend_hash_sort()
1592 Bucket *p, *res; in zend_hash_minmax() local
1601 res = p = ht->pListHead; in zend_hash_minmax()
1602 while ((p = p->pListNext)) { in zend_hash_minmax()
1604 if (compar(&res, &p TSRMLS_CC) < 0) { /* max */ in zend_hash_minmax()
1605 res = p; in zend_hash_minmax()
1608 if (compar(&res, &p TSRMLS_CC) > 0) { /* min */ in zend_hash_minmax()
1609 res = p; in zend_hash_minmax()
1629 Bucket *p; in zend_hash_display_pListTail() local
1631 p = ht->pListTail; in zend_hash_display_pListTail()
1632 while (p != NULL) { in zend_hash_display_pListTail()
1633 zend_output_debug_string(0, "pListTail has key %s\n", p->arKey); in zend_hash_display_pListTail()
1634 p = p->pListLast; in zend_hash_display_pListTail()
1640 Bucket *p; in zend_hash_display() local
1648 p = ht->arBuckets[i]; in zend_hash_display()
1649 while (p != NULL) { in zend_hash_display()
1650 zend_output_debug_string(0, "%s <==> 0x%lX\n", p->arKey, p->h); in zend_hash_display()
1651 p = p->pNext; in zend_hash_display()
1655 p = ht->pListTail; in zend_hash_display()
1656 while (p != NULL) { in zend_hash_display()
1657 zend_output_debug_string(0, "%s <==> 0x%lX\n", p->arKey, p->h); in zend_hash_display()
1658 p = p->pListLast; in zend_hash_display()