aboutsummaryrefslogtreecommitdiffstats
path: root/irc.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2008-08-24 21:52:31 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2008-08-24 21:52:31 +0100
commitf3579fd061746fe88c53330a2b9002da4193b37a (patch)
tree66c7e12b6d738803952a39961df86c863e413309 /irc.c
parent7125cb3775a0e384c0f2fc08fd56df9582199502 (diff)
Clearer feedback after set/account set commands.
Diffstat (limited to 'irc.c')
-rw-r--r--irc.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/irc.c b/irc.c
index d3f254ed..9b4e0020 100644
--- a/irc.c
+++ b/irc.c
@@ -33,13 +33,19 @@ static gboolean irc_userping( gpointer _irc, int fd, b_input_condition cond );
GSList *irc_connection_list = NULL;
-static char *passchange( set_t *set, char *value )
+static char *set_eval_password( set_t *set, char *value )
{
irc_t *irc = set->data;
- irc_setpass( irc, value );
- irc_usermsg( irc, "Password successfully changed" );
- return NULL;
+ if( irc->status & USTATUS_IDENTIFIED )
+ {
+ irc_setpass( irc, value );
+ return NULL;
+ }
+ else
+ {
+ return SET_INVALID;
+ }
}
static char *set_eval_charset( set_t *set, char *value )
@@ -149,7 +155,7 @@ irc_t *irc_new( int fd )
s = set_add( &irc->set, "handle_unknown", "root", NULL, irc );
s = set_add( &irc->set, "lcnicks", "true", set_eval_bool, irc );
s = set_add( &irc->set, "ops", "both", set_eval_ops, irc );
- s = set_add( &irc->set, "password", NULL, passchange, irc );
+ s = set_add( &irc->set, "password", NULL, set_eval_password, irc );
s->flags |= SET_NULL_OK;
s = set_add( &irc->set, "private", "true", set_eval_bool, irc );
s = set_add( &irc->set, "query_order", "lifo", NULL, irc );