aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/degesch.c b/degesch.c
index 9d57abb..a06ef24 100644
--- a/degesch.c
+++ b/degesch.c
@@ -5932,16 +5932,17 @@ irc_is_highlight (struct server *s, const char *message)
formatter_free (&f);
// Well, this is rather crude but it should make most users happy.
- // Ideally we could do this at least in proper Unicode.
- char *copy = irc_to_utf8 (stripped.str);
+ // We could do this in proper Unicode but that's two more conversions per
+ // message when both the nickname and the message are likely valid UTF-8.
+ char *copy = str_steal (&stripped);
cstr_transform (copy, s->irc_tolower);
- str_free (&stripped);
char *nick = xstrdup (s->irc_user->nickname);
cstr_transform (nick, s->irc_tolower);
// Special characters allowed in nicknames by RFC 2812: []\`_^{|} and -
// Also excluded from the ASCII: common user channel prefixes: +%@&~
+ // XXX: why did I exclude those? It won't match when newbies use them.
const char *delimiters = ",.;:!?()<>/=#$* \t\r\n\v\f\"'";
bool result = false;