Changeset b556e46 for irc_im.c


Ignore:
Timestamp:
2010-07-09T23:25:07Z (14 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
f3b6764
Parents:
c5bff81 (diff), 9a9b520 (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 main ui-fix.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • irc_im.c

    rc5bff81 rb556e46  
    603603{
    604604        struct groupchat *c = ic->data;
     605        char *trans = NULL, *s;
    605606       
    606607        if( c == NULL )
    607608                return FALSE;
    608         else if( set_getbool( &ic->irc->b->set, "paste_buffer" ) )
     609       
     610        if( set_getbool( &ic->set, "translate_to_nicks" ) )
     611        {
     612                char nick[MAX_NICK_LENGTH+1];
     613                irc_user_t *iu;
     614               
     615                strncpy( nick, msg, MAX_NICK_LENGTH );
     616                nick[MAX_NICK_LENGTH] = '\0';
     617                if( ( s = strchr( nick, ':' ) ) || ( s = strchr( nick, ',' ) ) )
     618                {
     619                        *s = '\0';
     620                        if( ( iu = irc_user_by_name( ic->irc, nick ) ) &&
     621                            iu->bu->nick && irc_channel_has_user( ic, iu ) )
     622                        {
     623                                trans = g_strconcat( iu->bu->nick, msg + ( s - nick ), NULL );
     624                                msg = trans;
     625                        }
     626                }
     627        }
     628       
     629        if( set_getbool( &ic->irc->b->set, "paste_buffer" ) )
    609630        {
    610631                int delay;
     
    623644                ic->pastebuf_timer = b_timeout_add( delay, bee_irc_channel_chat_privmsg_cb, ic );
    624645               
     646                g_free( trans );
    625647                return TRUE;
    626648        }
     
    628650                bee_chat_msg( ic->irc->b, c, msg, 0 );
    629651       
     652        g_free( trans );
    630653        return TRUE;
    631654}
     
    747770        set_add( &ic->set, "nick", NULL, NULL, ic );
    748771        set_add( &ic->set, "room", NULL, NULL, ic );
     772        set_add( &ic->set, "translate_to_nicks", "true", set_eval_bool, ic );
    749773       
    750774        /* chat_type == groupchat */
     
    790814        set_del( &ic->set, "nick" );
    791815        set_del( &ic->set, "room" );
     816        set_del( &ic->set, "translate_to_nicks" );
    792817       
    793818        ic->flags &= ~IRC_CHANNEL_TEMP;
Note: See TracChangeset for help on using the changeset viewer.