degesch: add & use irc_server_strcmp()
This commit is contained in:
parent
57413d53a4
commit
00a8b6616f
13
degesch.c
13
degesch.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue