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); | 
