glist: Mention that g_list_length() is bad for checking list emptiness

Despite linked lists being a fairly fundamental computer science
concept, some developers insist on using:
    g_list_length (list) > 0
to determine whether a list is non-empty, rather than using:
    list != NULL

Add a comment to the documentation for g_list_length() and
g_slist_length() pointing out the better alternative in the hope that it
will prevent some of this abuse.

https://bugzilla.gnome.org/show_bug.cgi?id=741024
This commit is contained in:
Philip Withnall 2014-12-02 15:00:45 +00:00
parent 926955f325
commit 93f2998765
2 changed files with 4 additions and 2 deletions

View File

@ -947,7 +947,8 @@ g_list_first (GList *list)
*
* This function iterates over the whole list to count its elements.
* Use a #GQueue instead of a GList if you regularly need the number
* of items.
* of items. To check whether the list is non-empty, it is faster to check
* @list against %NULL.
*
* Returns: the number of elements in the #GList
*/

View File

@ -839,7 +839,8 @@ g_slist_last (GSList *list)
* Gets the number of elements in a #GSList.
*
* This function iterates over the whole list to
* count its elements.
* count its elements. To check whether the list is non-empty, it is faster to
* check @list against %NULL.
*
* Returns: the number of elements in the #GSList
*/