From 5559b43518033d36e7d91cb998aa9d712e957649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sun, 25 Jan 2015 17:27:16 +0100 Subject: [PATCH] irc: set away flag to 0 only if channel and nick are found --- src/plugins/irc/irc-protocol.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/plugins/irc/irc-protocol.c b/src/plugins/irc/irc-protocol.c index cea5d6b6b..2ef0b051e 100644 --- a/src/plugins/irc/irc-protocol.c +++ b/src/plugins/irc/irc-protocol.c @@ -4282,18 +4282,24 @@ IRC_PROTOCOL_CALLBACK(354) } /* update away flag for nick */ - if (ptr_channel && ptr_nick && pos_attr - && (server->cap_away_notify - || ((IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_AWAY_CHECK) > 0) - && ((IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS) == 0) - || (ptr_channel->nicks_count <= IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS)))))) + if (ptr_channel && ptr_nick) { - irc_nick_set_away (server, ptr_channel, ptr_nick, - (pos_attr[0] == 'G') ? 1 : 0); - } - else - { - irc_nick_set_away (server, ptr_channel, ptr_nick, 0); + if (pos_attr + && (server->cap_away_notify + || ((IRC_SERVER_OPTION_INTEGER( + server, IRC_SERVER_OPTION_AWAY_CHECK) > 0) + && ((IRC_SERVER_OPTION_INTEGER( + server, IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS) == 0) + || (ptr_channel->nicks_count <= IRC_SERVER_OPTION_INTEGER( + server, IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS)))))) + { + irc_nick_set_away (server, ptr_channel, ptr_nick, + (pos_attr[0] == 'G') ? 1 : 0); + } + else + { + irc_nick_set_away (server, ptr_channel, ptr_nick, 0); + } } /* update account flag for nick */