Check up on server messages - ii - irc it, simple FIFO based irc client | |
git clone git://git.suckless.org/ii | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 165638e3c81213956a6b41d5889ba05186f4f771 | |
parent 1bc3e103c0cc59b32018c3680f8c97bad4191cce | |
Author: Vasily Kolobkov <[email protected]> | |
Date: Sat, 13 Feb 2016 21:25:07 +0200 | |
Check up on server messages | |
Signed-off-by: Nico Golde <[email protected]> | |
Diffstat: | |
M ii.c | 13 ++++++++----- | |
1 file changed, 8 insertions(+), 5 deletions(-) | |
--- | |
diff --git a/ii.c b/ii.c | |
@@ -348,30 +348,33 @@ static void proc_server_cmd(char *buf) { | |
return; | |
} else if(!strncmp("ERROR", argv[TOK_CMD], 6)) | |
snprintf(message, PIPE_BUF, "-!- error %s", argv[TOK_TEXT] ? a… | |
- else if(!strncmp("JOIN", argv[TOK_CMD], 5)) { | |
+ else if(!strncmp("JOIN", argv[TOK_CMD], 5) && (argv[TOK_CHAN] || argv[… | |
if (argv[TOK_TEXT] != NULL) | |
argv[TOK_CHAN] = argv[TOK_TEXT]; | |
snprintf(message, PIPE_BUF, "-!- %s(%s) has joined %s", argv[T… | |
- } else if(!strncmp("PART", argv[TOK_CMD], 5)) { | |
+ } else if(!strncmp("PART", argv[TOK_CMD], 5) && argv[TOK_CHAN]) { | |
snprintf(message, PIPE_BUF, "-!- %s(%s) has left %s", argv[TOK… | |
} else if(!strncmp("MODE", argv[TOK_CMD], 5)) | |
snprintf(message, PIPE_BUF, "-!- %s changed mode/%s -> %s %s",… | |
else if(!strncmp("QUIT", argv[TOK_CMD], 5)) | |
snprintf(message, PIPE_BUF, "-!- %s(%s) has quit \"%s\"", argv… | |
- else if(!strncmp("NICK", argv[TOK_CMD], 5) && !strcmp(_nick, argv[TOK_… | |
+ else if(!strncmp("NICK", argv[TOK_CMD], 5) && argv[TOK_TEXT] && !strcm… | |
snprintf(nick, sizeof(nick), "%s", _nick); | |
snprintf(message, PIPE_BUF, "-!- changed nick to \"%s\"", nick… | |
print_out(NULL, message); | |
- } else if(!strncmp("NICK", argv[TOK_CMD], 5)) | |
+ } else if(!strncmp("NICK", argv[TOK_CMD], 5) && argv[TOK_TEXT]) | |
snprintf(message, PIPE_BUF, "-!- %s changed nick to %s", argv[… | |
else if(!strncmp("TOPIC", argv[TOK_CMD], 6)) | |
snprintf(message, PIPE_BUF, "-!- %s changed topic to \"%s\"", … | |
- else if(!strncmp("KICK", argv[TOK_CMD], 5)) | |
+ else if(!strncmp("KICK", argv[TOK_CMD], 5) && argv[TOK_ARG]) | |
snprintf(message, PIPE_BUF, "-!- %s kicked %s (\"%s\")", argv[… | |
else if(!strncmp("NOTICE", argv[TOK_CMD], 7)) | |
snprintf(message, PIPE_BUF, "-!- \"%s\")", argv[TOK_TEXT] ? ar… | |
else if(!strncmp("PRIVMSG", argv[TOK_CMD], 8)) | |
snprintf(message, PIPE_BUF, "<%s> %s", argv[TOK_NICKSRV], argv… | |
+ else | |
+ return; /* can't read this message */ | |
+ | |
if(!argv[TOK_CHAN] || !strncmp(argv[TOK_CHAN], nick, strlen(nick))) | |
print_out(argv[TOK_NICKSRV], message); | |
else |