diff options
-rw-r--r-- | common.c | 7 | ||||
-rw-r--r-- | degesch.c | 9 |
2 files changed, 10 insertions, 6 deletions
@@ -59,6 +59,13 @@ BLOCK_END static void +transform_str (char *s, int (*tolower) (int c)) +{ + for (; *s; s++) + *s = tolower (*s); +} + +static void split_str (const char *s, char delimiter, struct str_vector *out) { const char *begin = s, *end; @@ -4413,12 +4413,10 @@ irc_is_highlight (struct server *s, const char *message) // Well, this is rather crude but it should make most users happy. // Ideally we could do this at least in proper Unicode. char *copy = xstrdup (message); - for (char *p = copy; *p; p++) - *p = s->irc_tolower (*p); + transform_str (copy, s->irc_tolower); char *nick = xstrdup (s->irc_user->nickname); - for (char *p = nick; *p; p++) - *p = s->irc_tolower (*p); + transform_str (nick, s->irc_tolower); // Special characters allowed in nicknames by RFC 2812: []\`_^{|} and - // Also excluded from the ASCII: common user channel prefixes: +%@&~ @@ -6825,8 +6823,7 @@ handle_command_ctcp (struct handler_args *a) return false; char *tag = cut_word (&a->arguments); - for (char *p = tag; *p; p++) - *p = toupper_ascii (*p); + transform_str (tag, toupper_ascii); if (*a->arguments) irc_send (a->s, "PRIVMSG %s :\x01%s %s\x01", target, tag, a->arguments); |