Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/msn.c

    r17a6ee9 re3413cc  
    3131GSList *msn_switchboards;
    3232
    33 static char *msn_set_display_name( set_t *set, char *value );
     33static char *set_eval_display_name( set_t *set, char *value );
    3434
    3535static void msn_init( account_t *acc )
    3636{
    37         set_t *s;
    38        
    39         s = set_add( &acc->set, "display_name", NULL, msn_set_display_name, acc );
    40         s->flags |= ACC_SET_NOSAVE | ACC_SET_ONLINE_ONLY;
    41 
    42         s = set_add( &acc->set, "mail_notifications", "false", set_eval_bool, acc );
     37        set_add( &acc->set, "display_name", NULL, set_eval_display_name, acc );
     38        set_add( &acc->set, "local_display_name", "false", set_eval_bool, acc );
     39        set_add( &acc->set, "mail_notifications", "false", set_eval_bool, acc );
    4340}
    4441
     
    8178        if( md )
    8279        {
    83                 /** Disabling MSN ft support for now.
    84                 while( md->filetransfers ) {
    85                         imcb_file_canceled( md->filetransfers->data, "Closing connection" );
    86                 }
    87                 */
    88                
    8980                if( md->fd >= 0 )
    9081                        closesocket( md->fd );
     
    173164static void msn_set_my_name( struct im_connection *ic, char *info )
    174165{
    175         msn_set_display_name( set_find( &ic->acc->set, "display_name" ), info );
     166        msn_set_display_name( ic, info );
    176167}
    177168
     
    289280}
    290281
    291 static char *msn_set_display_name( set_t *set, char *value )
     282static char *set_eval_display_name( set_t *set, char *value )
    292283{
    293284        account_t *acc = set->data;
    294285        struct im_connection *ic = acc->ic;
    295         struct msn_data *md;
    296         char buf[1024], *fn;
    297        
    298         /* Double-check. */
     286       
     287        /* Allow any name if we're offline. */
    299288        if( ic == NULL )
    300                 return NULL;
    301        
    302         md = ic->proto_data;
     289                return value;
    303290       
    304291        if( strlen( value ) > 129 )
     
    307294                return NULL;
    308295        }
    309        
    310         fn = msn_http_encode( value );
    311        
    312         g_snprintf( buf, sizeof( buf ), "REA %d %s %s\r\n", ++md->trId, ic->acc->user, fn );
    313         msn_write( ic, buf, strlen( buf ) );
    314         g_free( fn );
    315296       
    316297        /* Returning NULL would be better, because the server still has to
    317298           confirm the name change. However, it looks a bit confusing to the
    318299           user. */
    319         return value;
     300        return msn_set_display_name( ic, value ) ? value : NULL;
    320301}
    321302
     
    346327        ret->send_typing = msn_send_typing;
    347328        ret->handle_cmp = g_strcasecmp;
    348         //ret->transfer_request = msn_ftp_transfer_request;
    349329
    350330        register_protocol(ret);
Note: See TracChangeset for help on using the changeset viewer.