Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/yahoo/yahoo.c

    rd2cbe0a re7f46c5  
    6464};
    6565
     66static char *yahoo_name()
     67{
     68        return "Yahoo";
     69}
     70
     71static struct prpl *my_protocol = NULL;
    6672static GSList *byahoo_inputs = NULL;
    6773static int byahoo_chat_id = 0;
     
    189195{
    190196        struct byahoo_data *yd = (struct byahoo_data *) gc->proto_data;
    191        
     197
    192198        gc->away = NULL;
    193        
    194         if( msg )
     199
     200        if (msg)
    195201        {
    196202                yd->current_status = YAHOO_STATUS_CUSTOM;
    197203                gc->away = "";
    198204        }
    199         if( state )
     205        else if (state)
    200206        {
    201207                gc->away = "";
    202                 if( g_strcasecmp( state, "Available" ) == 0 )
     208                if( g_strcasecmp(state, "Available" ) == 0 )
    203209                {
    204210                        yd->current_status = YAHOO_STATUS_AVAILABLE;
     
    235241                }
    236242        }
    237         else if( gc->is_idle )
     243        else if ( gc->is_idle )
    238244                yd->current_status = YAHOO_STATUS_IDLE;
    239245        else
    240246                yd->current_status = YAHOO_STATUS_AVAILABLE;
    241247       
    242         if( yd->current_status == YAHOO_STATUS_INVISIBLE )
    243                 yahoo_set_away( yd->y2_id, yd->current_status, NULL, gc->away != NULL );
    244         else
    245                 yahoo_set_away( yd->y2_id, yd->current_status, msg, gc->away != NULL );
     248        yahoo_set_away( yd->y2_id, yd->current_status, msg, gc->away != NULL );
    246249}
    247250
     
    393396}
    394397
    395 void byahoo_init( )
    396 {
    397         struct prpl *ret = g_new0(struct prpl, 1);
    398         ret->name = "yahoo";
     398void byahoo_init( struct prpl *ret )
     399{
     400        ret->protocol = PROTO_YAHOO;
     401        ret->name = yahoo_name;
    399402       
    400403        ret->login = byahoo_login;
    401404        ret->close = byahoo_close;
    402405        ret->send_im = byahoo_send_im;
     406        ret->send_typing = byahoo_send_typing;
    403407        ret->get_info = byahoo_get_info;
    404408        ret->away_states = byahoo_away_states;
     
    408412        ret->remove_buddy = byahoo_remove_buddy;
    409413        ret->get_status_string = byahoo_get_status_string;
    410         ret->send_typing = byahoo_send_typing;
    411414       
    412415        ret->chat_send = byahoo_chat_send;
     
    416419        ret->cmp_buddynames = g_strcasecmp;
    417420       
    418         register_protocol(ret);
     421        my_protocol = ret;
    419422}
    420423
     
    430433                yd = gc->proto_data;
    431434               
    432                 if( !strcmp(gc->prpl->name, "yahoo") && yd->y2_id == id )
     435                if( gc->protocol == PROTO_YAHOO && yd->y2_id == id )
    433436                        return( gc );
    434437        }
Note: See TracChangeset for help on using the changeset viewer.