Changes in irc_im.c [69b896b:006a84f]
Legend:
- Unmodified
- Added
- Removed
-
irc_im.c
r69b896b r006a84f 603 603 { 604 604 struct groupchat *c = ic->data; 605 char *trans = NULL, *s;606 605 607 606 if( c == NULL ) 608 607 return FALSE; 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" ) ) 608 else if( set_getbool( &ic->irc->b->set, "paste_buffer" ) ) 630 609 { 631 610 int delay; … … 644 623 ic->pastebuf_timer = b_timeout_add( delay, bee_irc_channel_chat_privmsg_cb, ic ); 645 624 646 g_free( trans );647 625 return TRUE; 648 626 } … … 650 628 bee_chat_msg( ic->irc->b, c, msg, 0 ); 651 629 652 g_free( trans );653 630 return TRUE; 654 631 } … … 770 747 set_add( &ic->set, "nick", NULL, NULL, ic ); 771 748 set_add( &ic->set, "room", NULL, NULL, ic ); 772 set_add( &ic->set, "translate_to_nicks", "true", set_eval_bool, ic );773 749 774 750 /* chat_type == groupchat */ … … 814 790 set_del( &ic->set, "nick" ); 815 791 set_del( &ic->set, "room" ); 816 set_del( &ic->set, "translate_to_nicks" );817 792 818 793 ic->flags &= ~IRC_CHANNEL_TEMP;
Note: See TracChangeset
for help on using the changeset viewer.