Mercurial > pidgin.yaz
diff libpurple/protocols/irc/irc.c @ 24296:c204239bef48
Strip multiple leading mode characters from incoming nicknames.
This patch adds the function irc_nick_skip_mode, which takes an IRC
connection and nickname, and returns a pointer internal to the
nickname representing the first non-mode-character of the nick.
Apparently some IRC servers prepend more than one mode character to
nicknames under some circumstances; the standard is pretty vague on
the matter, and I can't see as how it hurts anything, so here goes.
This patch was originally from Marcos Garc«ża Ochoa.
Fixes #7416
committer: Ethan Blanton <elb@pidgin.im>
author | Marcos García Ochoa <magao@bigfoot.com> |
---|---|
date | Fri, 31 Oct 2008 14:51:11 +0000 |
parents | aac5753e2528 |
children | 125cac3e24ee 32ad012ef6ac bcad7dc4b453 6ecfc6b9667c |
line wrap: on
line diff
--- a/libpurple/protocols/irc/irc.c Fri Oct 31 09:32:41 2008 +0000 +++ b/libpurple/protocols/irc/irc.c Fri Oct 31 14:51:11 2008 +0000 @@ -62,8 +62,6 @@ PurplePlugin *_irc_plugin = NULL; -static const char *status_chars = "@+%&"; - static void irc_view_motd(PurplePluginAction *action) { PurpleConnection *gc = (PurpleConnection *) action->context; @@ -518,10 +516,7 @@ char *plain; const char *args[2]; - if (strchr(status_chars, *who) != NULL) - args[0] = who + 1; - else - args[0] = who; + args[0] = irc_nick_skip_mode(irc, who); purple_markup_html_to_xhtml(what, NULL, &plain); args[1] = plain;