diff --git a/include/ordinary.h b/include/ordinary.h index 8046b17..76741c0 100644 --- a/include/ordinary.h +++ b/include/ordinary.h @@ -28,7 +28,7 @@ struct ordinary_node *ordinary_list_find(struct ordinary_list *list, callback cb uint8_t ordinary_list_for(struct ordinary_list *list, callback cb); struct ordinary_node *ordinary_list_add(struct ordinary_list *list, void *val); -void ordinary_list_move(struct standard_list *dst, struct standard_list *src, struct standard_node *node); +void ordinary_list_move(struct ordinary_list *dst, struct ordinary_list *src, struct ordinary_node *node); struct ordinary_node *ordinary_list_pop(struct ordinary_list *list); void ordinary_list_drop(struct ordinary_list *list, struct ordinary_node *node); diff --git a/src/ordinary.c b/src/ordinary.c index 7918829..ec5d082 100644 --- a/src/ordinary.c +++ b/src/ordinary.c @@ -67,7 +67,7 @@ uint8_t ordinary_list_for(struct ordinary_list *list, callback cb) { uint32_t idx = 0, res = 0; for(; node; node = node->next) { - res |= cb(list, idx); + res |= cb(node, idx); if(list->limit) { idx += 1; @@ -110,13 +110,11 @@ struct ordinary_node *ordinary_list_add(struct ordinary_list *list, void *val) { node->prev = NULL; node->next = NULL; node->val = val; - ordinary_list_insert(list, node); - return node; } -uint8_t ordinary_list_mov(struct standard_list *dst, struct standard_list *src, struct standard_node *node) { +uint8_t ordinary_list_mov(struct ordinary_list *dst, struct ordinary_list *src, struct ordinary_node *node) { if(ordinary_list_full(dst) || ordinary_list_empty(src)) { return 0; } @@ -135,6 +133,7 @@ uint8_t ordinary_list_mov(struct standard_list *dst, struct standard_list *src, } ordinary_list_insert(dst, node); + return 1; } struct ordinary_node *ordinary_list_pop(struct ordinary_list *list) {