From d3b1754e14b6508bddfda674edecbffdafe3d4f8 Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Wed, 8 Jul 2015 23:14:29 +0200
Subject: degesch: introduce transform_str()
---
common.c | 7 +++++++
degesch.c | 9 +++------
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/common.c b/common.c
index 95590f5..94d5aa4 100644
--- a/common.c
+++ b/common.c
@@ -58,6 +58,13 @@
(link)->next = (following); \
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)
{
diff --git a/degesch.c b/degesch.c
index 6c8d1f5..6294316 100644
--- a/degesch.c
+++ b/degesch.c
@@ -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);
--
cgit v1.2.3-70-g09d2