summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/slists.c3
-rw-r--r--lib/slists.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/slists.c b/lib/slists.c
index 35774301..6e0df39e 100644
--- a/lib/slists.c
+++ b/lib/slists.c
@@ -61,6 +61,9 @@ s_get(siterator *i)
f->next = g;
if (g)
g->prev = f;
+
+ i->prev = NULL;
+ i->next = NULL;
return n;
}
diff --git a/lib/slists.h b/lib/slists.h
index 27520c9f..2334e36a 100644
--- a/lib/slists.h
+++ b/lib/slists.h
@@ -84,5 +84,6 @@ void s_insert_node(snode *, snode *);
snode *s_get(siterator *);
void s_put(siterator *, snode *n);
static inline void s_init(siterator *i, slist *l) { s_put(i, SHEAD(*l)); }
+static inline int s_is_used(siterator *i) { return (i->prev != NULL); }
#endif