diff --git a/src/shared/shl_dlist.h b/src/shared/shl_dlist.h index 7cbf1e1..db4de9a 100644 --- a/src/shared/shl_dlist.h +++ b/src/shared/shl_dlist.h @@ -81,6 +81,11 @@ static inline void shl_dlist_unlink(struct shl_dlist *e) } } +static inline bool shl_dlist_linked(struct shl_dlist *e) +{ + return e->next && e->prev; +} + static inline bool shl_dlist_empty(struct shl_dlist *head) { return head->next == head; diff --git a/src/shared/shl_util.h b/src/shared/shl_util.h index 16f5e6b..1f8b102 100644 --- a/src/shared/shl_util.h +++ b/src/shared/shl_util.h @@ -96,6 +96,11 @@ _shl_sentinel_ char *shl_strjoin(const char *first, ...); int shl_strsplit_n(const char *str, size_t len, const char *sep, char ***out); int shl_strsplit(const char *str, const char *sep, char ***out); +static inline bool shl_isempty(const char *str) +{ + return !str || !*str; +} + static inline char *shl_startswith(const char *str, const char *prefix) { if (!strncmp(str, prefix, strlen(prefix)))