1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-04 16:53:14 +02:00

api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (issue #194)

This commit is contained in:
Sébastien Helleu
2023-08-24 18:19:32 +02:00
parent 965c6ac2ea
commit 5d9af29024
29 changed files with 772 additions and 384 deletions
-66
View File
@@ -333,72 +333,6 @@ irc_server_strncasecmp (struct t_irc_server *server,
return weechat_strncasecmp_range (string1, string2, max, range);
}
/*
* Converts string to lower case, following server casemapping.
*
* Note: result must be freed after use.
*/
char *
irc_server_string_tolower (struct t_irc_server *server, const char *string)
{
char *result, *ptr_result;
int casemapping, range;
if (!string)
return NULL;
casemapping = (server) ? server->casemapping : -1;
if ((casemapping < 0) || (casemapping >= IRC_SERVER_NUM_CASEMAPPING))
casemapping = IRC_SERVER_CASEMAPPING_RFC1459;
range = irc_server_casemapping_range[casemapping];
result = strdup (string);
ptr_result = result;
while (ptr_result && ptr_result[0])
{
if ((ptr_result[0] >= 'A') && (ptr_result[0] < 'A' + range))
ptr_result[0] += ('a' - 'A');
ptr_result = (char *)weechat_utf8_next_char (ptr_result);
}
return result;
}
/*
* Converts string to upper case, following server casemapping.
*
* Note: result must be freed after use.
*/
char *
irc_server_string_toupper (struct t_irc_server *server, const char *string)
{
char *result, *ptr_result;
int casemapping, range;
if (!string)
return NULL;
casemapping = (server) ? server->casemapping : -1;
if ((casemapping < 0) || (casemapping >= IRC_SERVER_NUM_CASEMAPPING))
casemapping = IRC_SERVER_CASEMAPPING_RFC1459;
range = irc_server_casemapping_range[casemapping];
result = strdup (string);
ptr_result = result;
while (ptr_result && ptr_result[0])
{
if ((ptr_result[0] >= 'a') && (ptr_result[0] < 'a' + range))
ptr_result[0] -= ('a' - 'A');
ptr_result = (char *)weechat_utf8_next_char (ptr_result);
}
return result;
}
/*
* Evaluates a string using the server as context:
* ${irc_server.xxx} and ${server} are replaced by a server option and the