1
0
mirror of https://github.com/irssi/irssi.git synced 2024-11-03 04:27:19 -05:00

Minor cleanup in the highlighting signal.

This commit is contained in:
LemonBoy 2016-12-18 15:46:48 +01:00
parent 618c8bd10e
commit a39e210ea8

View File

@ -379,34 +379,29 @@ static void sig_print_text(TEXT_DEST_REC *dest, const char *text,
char *middle;
int pos, color_pos, color_len;
tmp = g_string_new(NULL);
/* start of the line */
pos = strip_real_length(text, hilight_start, NULL, NULL);
g_string_append(tmp, text);
g_string_truncate(tmp, pos);
tmp = g_string_new_len(text, pos);
/* color */
g_string_append(tmp, color);
/* middle of the line, stripped */
middle = strip_codes(text+pos);
pos = tmp->len;
g_string_append(tmp, middle);
g_string_truncate(tmp, pos+hilight_len);
middle = strip_codes(text + pos);
g_string_append_len(tmp, middle, hilight_len);
g_free(middle);
/* end of the line */
pos = strip_real_length(text, hilight_end,
&color_pos, &color_len);
if (color_pos > 0)
g_string_append_len(tmp, text+color_pos, color_len);
g_string_append_len(tmp, text + color_pos, color_len);
else {
/* no colors in line, change back to default */
g_string_append_c(tmp, 4);
g_string_append_c(tmp, FORMAT_STYLE_DEFAULTS);
}
g_string_append(tmp, text+pos);
g_string_append(tmp, text + pos);
newstr = tmp->str;
g_string_free(tmp, FALSE);