Gets the Nth node in the list. If the index is outside the range, it will
return NULL
return list->last_node;
}
+ply_list_node_t *
+ply_list_get_nth_node (ply_list_t *list,
+ int index)
+{
+ ply_list_node_t *node;
+ if (index < 0)
+ return NULL;
+ if (index >= list->number_of_nodes)
+ return NULL;
+ while (index--)
+ {
+ node = node->next;
+ }
+ return node;
+}
+
ply_list_node_t *
ply_list_get_next_node (ply_list_t *list,
ply_list_node_t *node)
ply_list_compare_func_t *compare);
ply_list_node_t *ply_list_get_first_node (ply_list_t *list);
ply_list_node_t *ply_list_get_last_node (ply_list_t *list);
-ply_list_node_t *ply_list_get_next_node (ply_list_t *list,
+ply_list_node_t *ply_list_get_nth_node (ply_list_t *list,
+ int index);
+ply_list_node_t *ply_list_get_next_node (ply_list_t *list,
ply_list_node_t *node);
void *ply_list_node_get_data (ply_list_node_t *node);
void ply_list_node_set_data (ply_list_node_t *node, void *data);