diff options
Diffstat (limited to 'src/common/text.c')
-rw-r--r-- | src/common/text.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/common/text.c b/src/common/text.c index f251283b..94744e86 100644 --- a/src/common/text.c +++ b/src/common/text.c @@ -2070,6 +2070,8 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d, int i; unsigned int stripcolor_args = (chanopt_is_set (prefs.hex_text_stripcolor_msg, sess->text_strip) ? 0xFFFFFFFF : 0); char tbuf[NICKLEN + 4]; + int eat1; + int eat2; if (prefs.hex_text_color_nicks && (index == XP_TE_CHANACTION || index == XP_TE_CHANMSG)) { @@ -2086,9 +2088,11 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d, for (i = 5; i < PDIWORDS; i++) word[i] = "\000"; + eat1 = plugin_emit_print (sess, word); + eat2 = plugin_emit_print_attrs (sess, word, timestamp); + /* don't use || here, since it might short-circuit */ - if (plugin_emit_print (sess, word) - + plugin_emit_print_attrs (sess, word, timestamp)) + if (eat1 || eat2) return; /* If a plugin's callback executes "/close", 'sess' may be invalid */ |