aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/nogaim.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-03-16 10:18:02 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2010-03-16 10:18:02 +0000
commit449a51de265cb3b4f0f5003e09fbbb030247c972 (patch)
tree86ce0c9894f8910187fd65c8d43cd366d05ba9fc /protocols/nogaim.c
parent9fca06579d61d6360520db98092bce13d30d39ce (diff)
Include non-away status messages in blist and whois responses. The whois
change is a complete violation of the IRC protocol but that doesn't seem to be an uncommon thing.
Diffstat (limited to 'protocols/nogaim.c')
-rw-r--r--protocols/nogaim.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/protocols/nogaim.c b/protocols/nogaim.c
index 9c6daeaf..c326e378 100644
--- a/protocols/nogaim.c
+++ b/protocols/nogaim.c
@@ -646,11 +646,9 @@ void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags,
oa = u->away != NULL;
oo = u->online;
- if( u->away )
- {
- g_free( u->away );
- u->away = NULL;
- }
+ g_free( u->away );
+ g_free( u->status_msg );
+ u->away = u->status_msg = NULL;
if( ( flags & OPT_LOGGED_IN ) && !u->online )
{
@@ -688,7 +686,10 @@ void imcb_buddy_status( struct im_connection *ic, const char *handle, int flags,
u->away = g_strdup( "Away" );
}
}
- /* else waste_any_state_information_for_now(); */
+ else
+ {
+ u->status_msg = g_strdup( message );
+ }
/* LISPy... */
if( ( set_getbool( &ic->irc->set, "away_devoice" ) ) && /* Don't do a thing when user doesn't want it */