diff options
Diffstat (limited to 'protocols/msn/sb.c')
| -rw-r--r-- | protocols/msn/sb.c | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/protocols/msn/sb.c b/protocols/msn/sb.c index 234be1d6..34b0a30a 100644 --- a/protocols/msn/sb.c +++ b/protocols/msn/sb.c @@ -522,14 +522,14 @@ static int msn_sb_command( gpointer data, char **cmd, int num_parts )  		if( err->flags & STATUS_SB_FATAL )  		{  			msn_sb_destroy( sb ); -			return( 0 ); +			return 0;  		} -		if( err->flags & STATUS_FATAL ) +		else if( err->flags & STATUS_FATAL )  		{  			signoff( gc ); -			return( 0 ); +			return 0;  		} -		if( err->flags & STATUS_SB_IM_SPARE ) +		else if( err->flags & STATUS_SB_IM_SPARE )  		{  			if( sb->who )  			{ @@ -552,6 +552,8 @@ static int msn_sb_command( gpointer data, char **cmd, int num_parts )  				g_slist_free( sb->msgq );  				sb->msgq = NULL;  			} +			 +			/* Do NOT return 0 here, we want to keep this sb. */  		}  	}  	else | 
