aboutsummaryrefslogtreecommitdiffstats
path: root/root_commands.c
diff options
context:
space:
mode:
Diffstat (limited to 'root_commands.c')
-rw-r--r--root_commands.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/root_commands.c b/root_commands.c
index c79ff325..15e6e72a 100644
--- a/root_commands.c
+++ b/root_commands.c
@@ -143,6 +143,12 @@ static void cmd_identify( irc_t *irc, char **cmd )
storage_status_t status = storage_load( irc, cmd[1] );
char *account_on[] = { "account", "on", NULL };
+ if( strchr( irc->umode, 'R' ) != NULL )
+ {
+ irc_usermsg( irc, "You're already logged in." );
+ return;
+ }
+
switch (status) {
case STORAGE_INVALID_PASSWORD:
irc_usermsg( irc, "Incorrect password" );
@@ -907,7 +913,7 @@ static void cmd_blist( irc_t *irc, char **cmd )
else if( cmd[1] && g_strcasecmp( cmd[1], "online" ) == 0 )
online = 1;
else
- online = away = 1;
+ online = away = 1;
if( strchr( irc->umode, 'b' ) != NULL )
format = "%s\t%s\t%s";
@@ -920,8 +926,13 @@ static void cmd_blist( irc_t *irc, char **cmd )
{
if( online == 1 )
{
+ char st[256] = "Online";
+
+ if( u->status_msg )
+ g_snprintf( st, sizeof( st ) - 1, "Online (%s)", u->status_msg );
+
g_snprintf( s, sizeof( s ) - 1, "%s@%s %s(%s)", u->user, u->host, u->ic->acc->prpl->name, u->ic->acc->user );
- irc_usermsg( irc, format, u->nick, s, "Online" );
+ irc_usermsg( irc, format, u->nick, s, st );
}
n_online ++;