diff options
author | June McEnroe <june@causal.agency> | 2020-02-25 02:24:29 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-25 02:24:29 -0500 |
commit | 431945614da363f1e89463ea5cadbf882c3c64d6 (patch) | |
tree | 6f00ecda87ab09ad3d39e1f4535348482c71b9a2 /handle.c | |
parent | Add /mode, /except, /invex and handle lists replies (diff) | |
download | test-431945614da363f1e89463ea5cadbf882c3c64d6.tar.gz test-431945614da363f1e89463ea5cadbf882c3c64d6.zip |
Fix handling EXCEPTS and INVEX without values
Diffstat (limited to '')
-rw-r--r-- | handle.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/handle.c b/handle.c index f1fc75d..9a0be57 100644 --- a/handle.c +++ b/handle.c @@ -227,21 +227,24 @@ static void handleReplyISupport(struct Message *msg) { for (uint i = 1; i < ParamCap; ++i) { if (!msg->params[i]) break; char *key = strsep(&msg->params[i], "="); - if (!msg->params[i]) continue; if (!strcmp(key, "NETWORK")) { + if (!msg->params[i]) continue; set(&network.name, msg->params[i]); uiFormat( Network, Cold, tagTime(msg), "You arrive in %s", msg->params[i] ); } else if (!strcmp(key, "CHANTYPES")) { + if (!msg->params[i]) continue; set(&network.chanTypes, msg->params[i]); } else if (!strcmp(key, "PREFIX")) { + if (!msg->params[i]) continue; strsep(&msg->params[i], "("); set(&network.prefixModes, strsep(&msg->params[i], ")")); set(&network.prefixes, msg->params[i]); assert(strlen(network.prefixes) == strlen(network.prefixModes)); } else if (!strcmp(key, "CHANMODES")) { + if (!msg->params[i]) continue; set(&network.listModes, strsep(&msg->params[i], ",")); set(&network.paramModes, strsep(&msg->params[i], ",")); set(&network.setParamModes, strsep(&msg->params[i], ",")); |