diff options
Diffstat (limited to 'src/list.c')
-rw-r--r-- | src/list.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/list.c b/src/list.c index 71c30f7b6..14832adb7 100644 --- a/src/list.c +++ b/src/list.c @@ -287,6 +287,21 @@ int findInList(List * list, char *key, void **data) return 0; } +ListNode *getNodeByPosition(List *list, int pos) +{ + ListNode *tmpNode; + + assert(list != NULL); + if (pos < 0 || pos >= list->numberOfNodes) + return NULL; + + tmpNode = list->firstNode; + while (pos-- > 0) + tmpNode = tmpNode->nextNode; + + return tmpNode; +} + int deleteFromList(List * list, char *key) { ListNode *tmpNode; |