mirror of
https://github.com/osmarks/ngircd.git
synced 2025-10-25 19:17:38 +00:00
New function Lists_CheckReason() to get reason of list entries
This commit is contained in:
@@ -320,7 +320,20 @@ Lists_MakeMask(const char *Pattern)
|
|||||||
* @return true if client is listed, false if not.
|
* @return true if client is listed, false if not.
|
||||||
*/
|
*/
|
||||||
bool
|
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;
|
struct list_elem *e, *last, *next;
|
||||||
|
|
||||||
@@ -338,13 +351,13 @@ Lists_Check( struct list_head *h, CLIENT *Client)
|
|||||||
e->mask);
|
e->mask);
|
||||||
Lists_Unlink(h, last, e);
|
Lists_Unlink(h, last, e);
|
||||||
}
|
}
|
||||||
return true;
|
return e->reason ? e->reason : "";
|
||||||
}
|
}
|
||||||
last = e;
|
last = e;
|
||||||
e = next;
|
e = next;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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 struct list_elem *Lists_GetNext PARAMS((const struct list_elem *));
|
||||||
|
|
||||||
GLOBAL bool Lists_Check PARAMS((struct list_head *head, CLIENT *client));
|
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,
|
GLOBAL struct list_elem *Lists_CheckDupeMask PARAMS((const struct list_head *head,
|
||||||
const char *mask));
|
const char *mask));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user