diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-16 10:18:02 +0000 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-03-16 10:18:02 +0000 |
commit | 449a51de265cb3b4f0f5003e09fbbb030247c972 (patch) | |
tree | 86ce0c9894f8910187fd65c8d43cd366d05ba9fc /protocols/nogaim.c | |
parent | 9fca06579d61d6360520db98092bce13d30d39ce (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.c | 13 |
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 */ |