commit - 9882e578e9cbb9d86d235b45938fa57bf1e85e54
commit + 6e28f4a7d13a81db99196da23958e81f2bb8418e
blob - c082f1c4c0b767713608355004cb6b41ae3fa14a
blob + 4f57ca73521f6b65f568d0aefa9c60b844a685c6
--- src/ngircd/lists.c
+++ src/ngircd/lists.c
* @return true if client is listed, false if not.
*/
bool
-Lists_Check( struct list_head *h, CLIENT *Client)
+Lists_Check(struct list_head *h, CLIENT *Client)
{
+ return Lists_CheckReason(h, Client) != NULL;
+}
+
+/**
+ * Check if a client is listed in a list and return the "reason".
+ *
+ * @param h List head.
+ * @param Client Client to check.
+ * @return true if client is listed, false if not.
+ */
+char *
+Lists_CheckReason(struct list_head *h, CLIENT *Client)
+{
struct list_elem *e, *last, *next;
assert(h != NULL);
e->mask);
Lists_Unlink(h, last, e);
}
- return true;
+ return e->reason ? e->reason : "";
}
last = e;
e = next;
}
- return false;
+ return NULL;
}
/**
blob - cb2e2c1a188a5dd81ec2aa7f8cd50b51aeba6f82
blob + 24504dfab9d11860a2c8459b12e7ff5e22a211b0
--- src/ngircd/lists.h
+++ src/ngircd/lists.h
GLOBAL struct list_elem *Lists_GetNext PARAMS((const struct list_elem *));
GLOBAL bool Lists_Check PARAMS((struct list_head *head, CLIENT *client));
+GLOBAL char *Lists_CheckReason PARAMS((struct list_head *head, CLIENT *client));
GLOBAL struct list_elem *Lists_CheckDupeMask PARAMS((const struct list_head *head,
const char *mask));