Changeset fb020ac for protocols/msn/ns.c


Ignore:
Timestamp:
2010-03-07T18:43:23Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
279607e
Parents:
e08e53c (diff), c32f492 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merging in mainline, including improved away/status stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/msn/ns.c

    re08e53c rfb020ac  
    420420                {
    421421                        /* FIXME: Warn/Bomb about unknown away state? */
    422                         st = msn_away_state_list;
    423                 }
    424                
    425                 imcb_buddy_status( ic, cmd[3], OPT_LOGGED_IN |
    426                                    ( st->number ? OPT_AWAY : 0 ), st->name, NULL );
     422                        st = msn_away_state_list + 1;
     423                }
     424               
     425                imcb_buddy_status( ic, cmd[3], OPT_LOGGED_IN |
     426                                   ( st != msn_away_state_list ? OPT_AWAY : 0 ),
     427                                   st->name, NULL );
    427428        }
    428429        else if( strcmp( cmd[0], "FLN" ) == 0 )
     
    449450                {
    450451                        /* FIXME: Warn/Bomb about unknown away state? */
    451                         st = msn_away_state_list;
    452                 }
    453                
    454                 imcb_buddy_status( ic, cmd[2], OPT_LOGGED_IN |
    455                                    ( st->number ? OPT_AWAY : 0 ), st->name, NULL );
     452                        st = msn_away_state_list + 1;
     453                }
     454               
     455                imcb_buddy_status( ic, cmd[2], OPT_LOGGED_IN |
     456                                   ( st != msn_away_state_list ? OPT_AWAY : 0 ),
     457                                   st->name, NULL );
    456458        }
    457459        else if( strcmp( cmd[0], "RNG" ) == 0 )
     
    663665                                }
    664666                               
    665                                 if( arg1 ) g_free( arg1 );
    666                                 if( mtype ) g_free( mtype );
     667                                g_free( arg1 );
     668                                g_free( mtype );
    667669                        }
    668670                        else if( g_strncasecmp( ct, "text/x-msmsgsprofile", 20 ) == 0 )
     
    672674                        else if( g_strncasecmp( ct, "text/x-msmsgsinitialemailnotification", 37 ) == 0 )
    673675                        {
    674                                 char *inbox = msn_findheader( body, "Inbox-Unread:", blen );
    675                                 char *folders = msn_findheader( body, "Folders-Unread:", blen );
    676                                
    677                                 if( inbox && folders && set_getbool( &ic->acc->set, "mail_notifications" ) )
     676                                if( set_getbool( &ic->acc->set, "mail_notifications" ) )
    678677                                {
    679                                         imcb_log( ic, "INBOX contains %s new messages, plus %s messages in other folders.", inbox, folders );
     678                                        char *inbox = msn_findheader( body, "Inbox-Unread:", blen );
     679                                        char *folders = msn_findheader( body, "Folders-Unread:", blen );
     680
     681                                        if( inbox && folders )
     682                                                imcb_log( ic, "INBOX contains %s new messages, plus %s messages in other folders.", inbox, folders );
     683                                       
     684                                        g_free( inbox );
     685                                        g_free( folders );
    680686                                }
    681                                
    682                                 g_free( inbox );
    683                                 g_free( folders );
    684687                        }
    685688                        else if( g_strncasecmp( ct, "text/x-msmsgsemailnotification", 30 ) == 0 )
    686689                        {
    687                                 char *from = msn_findheader( body, "From-Addr:", blen );
    688                                 char *fromname = msn_findheader( body, "From:", blen );
    689                                
    690                                 if( from && fromname && set_getbool( &ic->acc->set, "mail_notifications" ) )
     690                                if( set_getbool( &ic->acc->set, "mail_notifications" ) )
    691691                                {
    692                                         imcb_log( ic, "Received an e-mail message from %s <%s>.", fromname, from );
     692                                        char *from = msn_findheader( body, "From-Addr:", blen );
     693                                        char *fromname = msn_findheader( body, "From:", blen );
     694                                       
     695                                        if( from && fromname )
     696                                                imcb_log( ic, "Received an e-mail message from %s <%s>.", fromname, from );
     697
     698                                        g_free( from );
     699                                        g_free( fromname );
    693700                                }
    694701                        }
Note: See TracChangeset for help on using the changeset viewer.