util: fix list_is_singular()
authorTimothy Arceri <timothy.arceri@collabora.com>
Wed, 11 Jan 2017 04:13:35 +0000 (15:13 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Thu, 12 Jan 2017 02:58:32 +0000 (13:58 +1100)
Currently its dependant on the user calling and checking the result
of list_empty() before using the result of list_is_singular().

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/util/list.h

index e8a99ac8e008c3103eee2a45c00d2c8d5321714d..07eb9f3e6aabdc09577be356cba8884e8ab58925 100644 (file)
@@ -110,7 +110,7 @@ static inline bool list_empty(struct list_head *list)
  */
 static inline bool list_is_singular(const struct list_head *list)
 {
-   return list->next != NULL && list->next->next == list;
+   return list->next != NULL && list->next != list && list->next->next == list;
 }
 
 static inline unsigned list_length(struct list_head *list)