1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-08 02:33:12 +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
+64
View File
@@ -394,6 +394,70 @@ string_toupper (const char *string)
return string_dyn_free (result, 0);
}
/*
* Converts string to lower case (using a range of chars).
*
* Note: result must be freed after use.
*/
char *
string_tolower_range (const char *string, int range)
{
char *result, *ptr_result;
if (!string)
return NULL;
if (range <= 0)
return string_tolower (string);
result = strdup (string);
if (!result)
return NULL;
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 *)utf8_next_char (ptr_result);
}
return result;
}
/*
* Converts string to upper case (using a range of char).
*
* Note: result must be freed after use.
*/
char *
string_toupper_range (const char *string, int range)
{
char *result, *ptr_result;
if (!string)
return NULL;
if (range <= 0)
return string_toupper (string);
result = strdup (string);
if (!result)
return NULL;
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 *)utf8_next_char (ptr_result);
}
return result;
}
/*
* Compares two chars (case sensitive).
*
+2
View File
@@ -44,6 +44,8 @@ extern char *string_reverse_screen (const char *string);
extern char *string_repeat (const char *string, int count);
extern char *string_tolower (const char *string);
extern char *string_toupper (const char *string);
extern char *string_tolower_range (const char *string, int range);
extern char *string_toupper_range (const char *string, int range);
extern int string_charcmp (const char *string1, const char *string2);
extern int string_charcasecmp (const char *string1, const char *string2);
extern int string_charcasecmp_range (const char *string1, const char *string2,