A função pmhash_next retorna o próximo valor de um hash dado um iterador
opaco que deve ser iniciado com NULL.
}
free(pmhash);
}
+
+void * pmhash_next(struct pmhash *pmhash, void **iter)
+{
+ int i;
+ struct item *item = *iter;
+ if (item == NULL)
+ i = 0;
+ else
+ i = item - pmhash->items + 1;
+ if (i >= (int) pmhash->len)
+ return NULL;
+ *iter = pmhash->items + i;
+ return pmhash->items[i].val;
+}
int pmhash_add(struct pmhash **pmhash, char *key, void *val);
void * pmhash_get(struct pmhash *pmhash, char *key);
void pmhash_del(struct pmhash *pmhash);
+void * pmhash_next(struct pmhash *pmhash, void **iter);
#endif