int for_me, print_channel, level;
char *nickmode, *color, *freemsg = NULL;
HILIGHT_REC *hilight;
- int match_beg = 0, match_end = 0;
/* NOTE: this may return NULL if some channel is just closed with
/WINDOW CLOSE and server still sends the few last messages */
nick_match_msg(chanrec, msg, server->nick) :
nick_match_msg_everywhere(chanrec, msg, server->nick);
hilight = for_me ? NULL :
- hilight_match(server, target, nick, address, MSGLEVEL_PUBLIC, msg, &match_beg, &match_end);
- color = (hilight == NULL || !hilight->nick) ? NULL : hilight_get_color(hilight);
+ hilight_match_nick(server, target, nick, address, MSGLEVEL_PUBLIC, msg);
+ color = (hilight == NULL) ? NULL : hilight_get_color(hilight);
print_channel = chanrec == NULL ||
!window_item_is_active((WI_ITEM_REC *) chanrec);
TEXT_DEST_REC dest;
format_create_dest(&dest, server, target, level, NULL);
- dest.hilight = hilight;
- dest.match_beg = match_beg;
- dest.match_end = match_end;
+ dest.address = address;
+ dest.nick = nick;
if (color != NULL) {
/* highlighted nick */
hilight_update_text_dest(&dest,hilight);
if (dest->level & MSGLEVEL_NOHILIGHT)
return;
- hilight_start = dest->match_beg;
- hilight_end = dest->match_end;
- hilight = dest->hilight;
+ hilight_start = hilight_end = 0;
+ hilight = hilight_match(dest->server, dest->target, dest->nick,
+ dest->address, dest->level, stripped,
+ &hilight_start, &hilight_end);
if (hilight == NULL)
return;