diff options
Diffstat (limited to '')
-rw-r--r-- | handle.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/handle.c b/handle.c index 6447634..b68ae45 100644 --- a/handle.c +++ b/handle.c @@ -220,9 +220,14 @@ static void handleReplyISupport(struct Message *msg) { } else if (!strcmp(key, "CHANTYPES")) { set(&network.chanTypes, msg->params[i]); } else if (!strcmp(key, "PREFIX")) { - strsep(&msg->params[i], ")"); - if (!msg->params[i]) continue; + strsep(&msg->params[i], "("); + set(&network.prefixModes, strsep(&msg->params[i], ")")); set(&network.prefixes, msg->params[i]); + } else if (!strcmp(key, "CHANMODES")) { + set(&network.listModes, strsep(&msg->params[i], ",")); + set(&network.paramModes, strsep(&msg->params[i], ",")); + set(&network.setParamModes, strsep(&msg->params[i], ",")); + set(&network.channelModes, strsep(&msg->params[i], ",")); } } } |