New function Lists_CheckReason() to get reason of list entries

This commit is contained in:
Alexander Barton 2012-01-22 18:11:24 +01:00
parent 9882e578e9
commit 6e28f4a7d1
2 changed files with 17 additions and 3 deletions

View File

@ -321,6 +321,19 @@ Lists_MakeMask(const char *Pattern)
*/
bool
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;
@ -338,13 +351,13 @@ Lists_Check( struct list_head *h, CLIENT *Client)
e->mask);
Lists_Unlink(h, last, e);
}
return true;
return e->reason ? e->reason : "";
}
last = e;
e = next;
}
return false;
return NULL;
}
/**

View File

@ -30,6 +30,7 @@ GLOBAL struct list_elem *Lists_GetFirst PARAMS((const struct list_head *));
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));