Lines Matching refs:iter

560     dictIterator *iter = zmalloc(sizeof(*iter));  in dictGetIterator()  local
562 iter->d = d; in dictGetIterator()
563 iter->table = 0; in dictGetIterator()
564 iter->index = -1; in dictGetIterator()
565 iter->safe = 0; in dictGetIterator()
566 iter->entry = NULL; in dictGetIterator()
567 iter->nextEntry = NULL; in dictGetIterator()
568 return iter; in dictGetIterator()
578 dictEntry *dictNext(dictIterator *iter) in dictNext() argument
581 if (iter->entry == NULL) { in dictNext()
582 dictht *ht = &iter->d->ht[iter->table]; in dictNext()
583 if (iter->index == -1 && iter->table == 0) { in dictNext()
584 if (iter->safe) in dictNext()
585 iter->d->iterators++; in dictNext()
587 iter->fingerprint = dictFingerprint(iter->d); in dictNext()
589 iter->index++; in dictNext()
590 if (iter->index >= (long) ht->size) { in dictNext()
591 if (dictIsRehashing(iter->d) && iter->table == 0) { in dictNext()
592 iter->table++; in dictNext()
593 iter->index = 0; in dictNext()
594 ht = &iter->d->ht[1]; in dictNext()
599 iter->entry = ht->table[iter->index]; in dictNext()
601 iter->entry = iter->nextEntry; in dictNext()
603 if (iter->entry) { in dictNext()
606 iter->nextEntry = iter->entry->next; in dictNext()
607 return iter->entry; in dictNext()
613 void dictReleaseIterator(dictIterator *iter) in dictReleaseIterator() argument
615 if (!(iter->index == -1 && iter->table == 0)) { in dictReleaseIterator()
616 if (iter->safe) in dictReleaseIterator()
617 iter->d->iterators--; in dictReleaseIterator()
619 assert(iter->fingerprint == dictFingerprint(iter->d)); in dictReleaseIterator()
621 zfree(iter); in dictReleaseIterator()