diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-08-08 16:34:49 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-08-08 16:34:49 +0100 |
commit | 2528cdad90271f80d2ffe0e679ff8258f3e94e4c (patch) | |
tree | 9557a527a0aca1cae02806e7aff1d9df8e3e25a9 /protocols/msn/sb.c | |
parent | b8906261293b34d8c792bd1f48df10144a8a8f10 (diff) | |
parent | ee6cc946dc4ee82cb641df94a6ba101e99253af2 (diff) |
Merging msn-offline branch. A tiny bit of MSNP13, and it works for the first
minute of the session (after that the MSN server finds out the rest of
BitlBee still speaks MSNP8).
Diffstat (limited to 'protocols/msn/sb.c')
-rw-r--r-- | protocols/msn/sb.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/protocols/msn/sb.c b/protocols/msn/sb.c index cb5789b8..10425708 100644 --- a/protocols/msn/sb.c +++ b/protocols/msn/sb.c @@ -28,7 +28,7 @@ #include "msn.h" #include "passport.h" #include "md5.h" -#include "invitation.h" +#include "soap.h" static gboolean msn_sb_callback( gpointer data, gint source, b_input_condition cond ); static int msn_sb_command( gpointer data, char **cmd, int num_parts ); @@ -624,7 +624,12 @@ static int msn_sb_command( gpointer data, char **cmd, int num_parts ) int num = atoi( cmd[0] ); const struct msn_status_code *err = msn_status_by_number( num ); - imcb_error( ic, "Error reported by switchboard server: %s", err->text ); + /* If the person is offline, send an offline message instead, + and don't report an error. */ + if( num == 217 ) + msn_soap_oim_send_queue( ic, &sb->msgq ); + else + imcb_error( ic, "Error reported by switchboard server: %s", err->text ); if( err->flags & STATUS_SB_FATAL ) { |