Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/nogaim.c

    r58adb7e r90cd6c4  
    9898void register_protocol (struct prpl *p)
    9999{
    100         protocols = g_list_append(protocols, p);
     100        int i;
     101        gboolean refused = global.conf->protocols != NULL;
     102 
     103        for (i = 0; global.conf->protocols && global.conf->protocols[i]; i++)
     104        {
     105                if (g_strcasecmp(p->name, global.conf->protocols[i]) == 0)
     106                        refused = FALSE;
     107        }
     108
     109        if (refused)
     110                log_message(LOGLVL_WARNING, "Protocol %s disabled\n", p->name);
     111        else
     112                protocols = g_list_append(protocols, p);
    101113}
    102114
     
    371383/* list.c */
    372384
    373 void imcb_add_buddy( struct im_connection *ic, char *handle, char *group )
     385void imcb_add_buddy( struct im_connection *ic, const char *handle, const char *group )
    374386{
    375387        user_t *u;
     
    445457}
    446458
    447 void imcb_rename_buddy( struct im_connection *ic, char *handle, char *realname )
     459void imcb_rename_buddy( struct im_connection *ic, const char *handle, const char *realname )
    448460{
    449461        user_t *u = user_findhandle( ic, handle );
     462        char *set;
    450463       
    451464        if( !u || !realname ) return;
     
    460473                        imcb_log( ic, "User `%s' changed name to `%s'", u->nick, u->realname );
    461474        }
    462 }
    463 
    464 void imcb_remove_buddy( struct im_connection *ic, char *handle, char *group )
     475       
     476        set = set_getstr( &ic->acc->set, "nick_source" );
     477        if( strcmp( set, "handle" ) != 0 )
     478        {
     479                char *name = g_strdup( realname );
     480               
     481                if( strcmp( set, "first_name" ) == 0 )
     482                {
     483                        int i;
     484                        for( i = 0; name[i] && !isspace( name[i] ); i ++ ) {}
     485                        name[i] = '\0';
     486                }
     487               
     488                imcb_buddy_nick_hint( ic, handle, name );
     489               
     490                g_free( name );
     491        }
     492}
     493
     494void imcb_remove_buddy( struct im_connection *ic, const char *handle, char *group )
    465495{
    466496        user_t *u;
     
    472502/* Mainly meant for ICQ (and now also for Jabber conferences) to allow IM
    473503   modules to suggest a nickname for a handle. */
    474 void imcb_buddy_nick_hint( struct im_connection *ic, char *handle, char *nick )
     504void imcb_buddy_nick_hint( struct im_connection *ic, const char *handle, const char *nick )
    475505{
    476506        user_t *u = user_findhandle( ic, handle );
     
    684714}
    685715
    686 void imcb_buddy_msg( struct im_connection *ic, char *handle, char *msg, uint32_t flags, time_t sent_at )
     716void imcb_buddy_msg( struct im_connection *ic, const char *handle, char *msg, uint32_t flags, time_t sent_at )
    687717{
    688718        irc_t *irc = ic->irc;
     
    817847}
    818848
    819 void imcb_chat_msg( struct groupchat *c, char *who, char *msg, uint32_t flags, time_t sent_at )
     849void imcb_chat_msg( struct groupchat *c, const char *who, char *msg, uint32_t flags, time_t sent_at )
    820850{
    821851        struct im_connection *ic = c->ic;
     
    889919/* buddy_chat.c */
    890920
    891 void imcb_chat_add_buddy( struct groupchat *b, char *handle )
     921void imcb_chat_add_buddy( struct groupchat *b, const char *handle )
    892922{
    893923        user_t *u = user_findhandle( b->ic, handle );
     
    924954
    925955/* This function is one BIG hack... :-( EREWRITE */
    926 void imcb_chat_remove_buddy( struct groupchat *b, char *handle, char *reason )
     956void imcb_chat_remove_buddy( struct groupchat *b, const char *handle, const char *reason )
    927957{
    928958        user_t *u;
     
    10731103int imc_away_send_update( struct im_connection *ic )
    10741104{
    1075         char *away, *msg;
     1105        char *away, *msg = NULL;
    10761106       
    10771107        away = set_getstr( &ic->acc->set, "away" ) ?
Note: See TracChangeset for help on using the changeset viewer.