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.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/protocols/msn/sb.c b/protocols/msn/sb.c
index 920e7f61..461bd483 100644
--- a/protocols/msn/sb.c
+++ b/protocols/msn/sb.c
@@ -606,18 +606,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 );
+ /* If the person is offline, send an offline message instead,
+ and don't report an error. */
if( num == 217 )
- {
- GSList *l;
-
- for( l = sb->msgq; l; l = l->next )
- {
- struct msn_message *m = l->data;
- msn_soap_oim_send( ic, m->who, m->text );
- }
- }
-
- imcb_error( ic, "Error reported by switchboard server: %s", err->text );
+ 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 )
{