aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/ns.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-04-16 11:58:22 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2010-04-16 11:58:22 +0200
commitefbc154f93aeee89877378e8433a035f0a8febb2 (patch)
treec71bc88da2b00ae3de1318d39486c12a014c729b /protocols/msn/ns.c
parentb6190ca72d44523bc775ee3fc89b4bdbffe2cff4 (diff)
parentbb839e8ae5b6228f9dcd8dda96b4e3ac5c0f63ba (diff)
Merge msn-keepalive, a nice hack (not yet documented) which sends keepalives
to switchboards with offline contacts. This is meant as a work-around for the current lack of support for offline messaging.
Diffstat (limited to 'protocols/msn/ns.c')
-rw-r--r--protocols/msn/ns.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c
index 8181c1af..2f656ea5 100644
--- a/protocols/msn/ns.c
+++ b/protocols/msn/ns.c
@@ -421,8 +421,12 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )
}
else if( strcmp( cmd[0], "FLN" ) == 0 )
{
- if( cmd[1] )
- imcb_buddy_status( ic, cmd[1], 0, NULL, NULL );
+ if( cmd[1] == NULL )
+ return 1;
+
+ imcb_buddy_status( ic, cmd[1], 0, NULL, NULL );
+
+ msn_sb_start_keepalives( msn_sb_by_handle( ic, cmd[1] ), TRUE );
}
else if( strcmp( cmd[0], "NLN" ) == 0 )
{
@@ -448,6 +452,8 @@ static int msn_ns_command( gpointer data, char **cmd, int num_parts )
imcb_buddy_status( ic, cmd[2], OPT_LOGGED_IN |
( st != msn_away_state_list ? OPT_AWAY : 0 ),
st->name, NULL );
+
+ msn_sb_stop_keepalives( msn_sb_by_handle( ic, cmd[2] ) );
}
else if( strcmp( cmd[0], "RNG" ) == 0 )
{