21 Apr
2008
21 Apr
'08
6:04 a.m.
Sebastian Nowicki wrote:
I noticed that alpm_list_last simply returns a pointer to the previous node. Is this expected behavior? My interpretation of "last" would be to return the absolute last node, as the comment suggests. In my opinion the function as it is now should be called alpm_list_prev.
From alpm_list.c:
alpm_list_t SYMEXPORT *alpm_list_last(const alpm_list_t *list) { if(list) { return(list->prev); } else { return(NULL); } }
That's because a alpm_list_t element is not really a list, but a list node. So when you use a list in alpm (with alpm_list_t *list), it's actually just the head node that you manipulate. And head->prev == tail.