degesch: add & use irc_server_strcmp()

This commit is contained in:
Přemysl Eric Janouch 2015-06-02 20:46:40 +02:00
parent 57413d53a4
commit 00a8b6616f
1 changed files with 11 additions and 2 deletions

View File

@ -1045,7 +1045,6 @@ struct server
// Server-specific information (from RPL_ISUPPORT): // Server-specific information (from RPL_ISUPPORT):
// TODO: implement a generic strcmp() on top of "irc_tolower"
/// Convert an IRC identifier character to lower-case /// Convert an IRC identifier character to lower-case
int (*irc_tolower) (int); int (*irc_tolower) (int);
@ -3647,6 +3646,16 @@ refresh_prompt (struct app_context *ctx)
// --- Helpers ----------------------------------------------------------------- // --- Helpers -----------------------------------------------------------------
static int
irc_server_strcmp (struct server *s, const char *a, const char *b)
{
int x;
while (*a || *b)
if ((x = s->irc_tolower (*a++) - s->irc_tolower (*b++)))
return x;
return 0;
}
static char * static char *
irc_cut_nickname (const char *prefix) irc_cut_nickname (const char *prefix)
{ {
@ -3669,7 +3678,7 @@ irc_is_this_us (struct server *s, const char *prefix)
return false; return false;
char *nick = irc_cut_nickname (prefix); char *nick = irc_cut_nickname (prefix);
bool result = !irc_strcmp (nick, s->irc_user->nickname); bool result = !irc_server_strcmp (s, nick, s->irc_user->nickname);
free (nick); free (nick);
return result; return result;
} }