aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/degesch.c b/degesch.c
index 5392092..e256eeb 100644
--- a/degesch.c
+++ b/degesch.c
@@ -3677,9 +3677,9 @@ irc_is_this_us (struct server *s, const char *prefix)
static bool
irc_is_channel (struct server *s, const char *ident)
{
- (void) s; // TODO: parse prefixes from server features
-
- return *ident && !!strchr ("#&+!", *ident);
+ return *ident
+ && (!!strchr (s->irc_chantypes, *ident) ||
+ !!strchr (s->irc_idchan_prefixes, *ident));
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -4439,8 +4439,7 @@ irc_process_names (struct server *s, struct channel *channel)
{
struct str_map map;
str_map_init (&map);
- // FIXME: use a server-specific strxfrm
- map.key_xfrm = irc_strxfrm;
+ map.key_xfrm = s->irc_strxfrm;
// Initialize list of users
LIST_FOR_EACH (struct channel_user, iter, channel->users)