Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/msn.c

    rb051d39 ra830512  
    139139       
    140140        if( l == NULL )
    141                 for( i = 0; *msn_away_state_list[i].code; i ++ )
    142                         if( *msn_away_state_list[i].name )
    143                                 l = g_list_append( l, (void*) msn_away_state_list[i].name );
     141                for( i = 0; msn_away_state_list[i].number > -1; i ++ )
     142                        l = g_list_append( l, (void*) msn_away_state_list[i].name );
    144143       
    145144        return l;
     
    150149        char buf[1024];
    151150        struct msn_data *md = ic->proto_data;
    152        
    153         if( state )
    154                 md->away_state = msn_away_state_by_name( state ) ? :
    155                                  msn_away_state_list + 1;
     151        const struct msn_away_state *st;
     152       
     153        if( strcmp( state, GAIM_AWAY_CUSTOM ) == 0 )
     154                st = msn_away_state_by_name( "Away" );
    156155        else
    157                 md->away_state = msn_away_state_list;
    158        
    159         g_snprintf( buf, sizeof( buf ), "CHG %d %s\r\n", ++md->trId, md->away_state->code );
     156                st = msn_away_state_by_name( state );
     157       
     158        if( !st ) st = msn_away_state_list;
     159        md->away_state = st;
     160       
     161        g_snprintf( buf, sizeof( buf ), "CHG %d %s\r\n", ++md->trId, st->code );
    160162        msn_write( ic, buf, strlen( buf ) );
    161163}
Note: See TracChangeset for help on using the changeset viewer.