43 |
return 0; |
return 0; |
44 |
} |
} |
45 |
|
|
46 |
|
int |
47 |
|
iterator_dup (iterator_t *piterator, iterator_t orig) |
48 |
|
{ |
49 |
|
iterator_t iterator; |
50 |
|
|
51 |
|
if (piterator == NULL || orig == NULL) |
52 |
|
return EINVAL; |
53 |
|
iterator = calloc (sizeof (*iterator), 1); |
54 |
|
if (iterator == NULL) |
55 |
|
return ENOMEM; |
56 |
|
iterator->list = orig->list; |
57 |
|
iterator->cur = orig->cur; |
58 |
|
iterator->is_advanced = orig->is_advanced; |
59 |
|
iterator->next = orig->list->itr; |
60 |
|
orig->list->itr = iterator; |
61 |
|
*piterator = iterator; |
62 |
|
return 0; |
63 |
|
} |
64 |
|
|
65 |
void |
void |
66 |
iterator_destroy (iterator_t *piterator) |
iterator_destroy (iterator_t *piterator) |
67 |
{ |
{ |