1 #ifndef INLINE_CHANNELS_H
2 #define INLINE_CHANNELS_H
3 
4 /*
5  * channel_find(const char *name)
6  *
7  * Looks up a channel object.
8  *
9  * Inputs:
10  *     - name of channel to look up
11  *
12  * Outputs:
13  *     - on success, the channel object
14  *     - on failure, NULL
15  *
16  * Side Effects:
17  *     - none
18  */
channel_find(const char * name)19 static inline channel_t *channel_find(const char *name)
20 {
21 	return name ? mowgli_patricia_retrieve(chanlist, name) : NULL;
22 }
23 
24 /*
25  * chanban_clear(channel_t *chan)
26  *
27  * Destroys all channel bans attached to a channel.
28  *
29  * Inputs:
30  *     - channel to clear banlist on
31  *
32  * Outputs:
33  *     - nothing
34  *
35  * Side Effects:
36  *     - the banlist on the channel is cleared
37  *     - no protocol messages are sent
38  */
chanban_clear(channel_t * chan)39 static inline void chanban_clear(channel_t *chan)
40 {
41 	mowgli_node_t *n, *tn;
42 
43 	MOWGLI_ITER_FOREACH_SAFE(n, tn, chan->bans.head)
44 	{
45 		/* inefficient but avoids code duplication -- jilles */
46 		chanban_delete(n->data);
47 	}
48 }
49 
50 #endif
51