+ e = h->first;
+ last = NULL;
+ now = time(NULL);
+
+ while (e) {
+ next = e->next;
+ if (e->valid_until > 0 && e->valid_until < now) {
+ /* Entry is expired, delete it */
+ if (e->reason)
+ Log(LOG_NOTICE|LOG_snotice,
+ "Deleted \"%s\" (\"%s\") from %s list (expired).",
+ e->mask, e->reason, ListName);
+ else
+ Log(LOG_NOTICE|LOG_snotice,
+ "Deleted \"%s\" from %s list (expired).",
+ e->mask, ListName);
+ Lists_Unlink(h, last, e);
+ e = next;
+ continue;
+ }
+ last = e;
+ e = next;