aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/sb.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/msn/sb.c')
-rw-r--r--protocols/msn/sb.c9
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 )
{