diff options
author | Marius Halden <marius.h@lden.org> | 2016-01-26 17:17:32 +0100 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2016-05-07 14:27:54 +0200 |
commit | 4a8a96e8fd6296f45dec382c65dbd8234a6672c3 (patch) | |
tree | 2f1f5715c057dfa4a49de41cb82cd54c61e432d6 | |
parent | 5ec1c43861ee72c43b3ad0d2a143dd996a1590e7 (diff) |
Add strict_away
With strict_away enabled RPL_NOWAWAY and RPL_UNAWAY will send the exact
text from RFC 1459 instead of the default.
-rw-r--r-- | irc.c | 1 | ||||
-rw-r--r-- | irc_commands.c | 12 |
2 files changed, 11 insertions, 2 deletions
@@ -136,6 +136,7 @@ irc_t *irc_new(int fd) s = set_add(&b->set, "to_char", ": ", set_eval_to_char, irc); s = set_add(&b->set, "typing_notice", "false", set_eval_bool, irc); s = set_add(&b->set, "utf8_nicks", "false", set_eval_utf8_nicks, irc); + s = set_add(&b->set, "strict_away", "false", set_eval_bool, irc); #ifdef WITH_GNUTLS if (global.conf->ssl) { s = set_add(&b->set, "_certfp", NULL, set_eval_certfp, irc); diff --git a/irc_commands.c b/irc_commands.c index d3971df9..d7b31406 100644 --- a/irc_commands.c +++ b/irc_commands.c @@ -743,10 +743,18 @@ static void irc_cmd_away(irc_t *irc, char **cmd) } away[j] = '\0'; - irc_send_num(irc, 306, ":You're now away: %s", away); + if (set_getbool(&irc->b->set, "strict_away")) { + irc_send_num(irc, 306, ":You're now away: %s", away); + } else { + irc_send_num(irc, 306, ":You have been masked as being away"); + } set_setstr(&irc->b->set, "away", away); } else { - irc_send_num(irc, 305, ":Welcome back"); + if (set_getbool(&irc->b->set, "strict_away")) { + irc_send_num(irc, 305, ":You are no longer marked as being away"); + } else { + irc_send_num(irc, 305, ":Welcome back"); + } set_setstr(&irc->b->set, "away", NULL); } } |