rem: if (!i->ptr) { for (index = (unsigned int)(i->bucket + 1); index < t->table_size; index++) { if (t->table[index]) { i->bucket = index; i->ptr = t->table[index];
add: if (iterator->current == NULL) {  for (index = (uint32)(iterator->bucket + 1); index < table->table_size; index++) { if (table->table[index]) { iterator->bucket = index; iterator->current = table->table[index];
context: hash_next(void *_hash_table, struct hash_iterator *i){	struct hash_table *t = (struct hash_table *)_hash_table;	unsigned int index;restart:	if (!i->ptr) {		for (index = (unsigned int)(i->bucket + 1); index < t->table_size; index++) {			if (t->table[index]) {				i->bucket = index;				i->ptr = t->table[index];				break;			}		}	} else {		i->ptr = NEXT(t, i->ptr);		if (!i->ptr)			goto restart;	}	return i->ptr;}