aboutsummaryrefslogtreecommitdiffstats
path: root/irc_commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'irc_commands.c')
-rw-r--r--irc_commands.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/irc_commands.c b/irc_commands.c
index 19855075..f45f94e2 100644
--- a/irc_commands.c
+++ b/irc_commands.c
@@ -192,6 +192,7 @@ static void irc_cmd_authenticate(irc_t *irc, char **cmd)
/* no check_login here - wait for CAP END */
irc_setpass(irc, pass);
}
+ irc->status |= USTATUS_SASL_AUTHENTICATED;
}
g_free(user);
@@ -786,10 +787,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 have been marked as being away");
+ } else {
+ irc_send_num(irc, 306, ":You're now away: %s", 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);
}
}