1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-07 10:13:12 +02:00

core: return only -1, 0 or 1 in string comparison functions

This commit is contained in:
Sébastien Helleu
2014-07-05 11:38:44 +02:00
parent 823db4475c
commit 95011c82e0
6 changed files with 178 additions and 150 deletions
+21 -25
View File
@@ -124,9 +124,9 @@ string_toupper (char *string)
* Compares two strings (locale and case independent).
*
* Returns:
* < 0: string1 < string2
* 0: string1 == string2
* > 0: string1 > string2
* -1: string1 < string2
* 0: string1 == string2
* 1: string1 > string2
*/
int
@@ -141,7 +141,7 @@ string_strcasecmp (const char *string1, const char *string2)
{
diff = utf8_charcasecmp (string1, string2);
if (diff != 0)
return diff;
return (diff < 0) ? -1 : 1;
string1 = utf8_next_char (string1);
string2 = utf8_next_char (string2);
@@ -163,9 +163,9 @@ string_strcasecmp (const char *string1, const char *string2)
* (ranges 29 and 30 are used by some protocols like IRC)
*
* Returns:
* < 0: string1 < string2
* 0: string1 == string2
* > 0: string1 > string2
* -1: string1 < string2
* 0: string1 == string2
* 1: string1 > string2
*/
int
@@ -180,7 +180,7 @@ string_strcasecmp_range (const char *string1, const char *string2, int range)
{
diff = utf8_charcasecmp_range (string1, string2, range);
if (diff != 0)
return diff;
return (diff < 0) ? -1 : 1;
string1 = utf8_next_char (string1);
string2 = utf8_next_char (string2);
@@ -193,9 +193,9 @@ string_strcasecmp_range (const char *string1, const char *string2, int range)
* Compares two strings with max length (locale and case independent).
*
* Returns:
* < 0: string1 < string2
* -1: string1 < string2
* 0: string1 == string2
* > 0: string1 > string2
* 1: string1 > string2
*/
int
@@ -211,7 +211,7 @@ string_strncasecmp (const char *string1, const char *string2, int max)
{
diff = utf8_charcasecmp (string1, string2);
if (diff != 0)
return diff;
return (diff < 0) ? -1 : 1;
string1 = utf8_next_char (string1);
string2 = utf8_next_char (string2);
@@ -238,9 +238,9 @@ string_strncasecmp (const char *string1, const char *string2, int max)
* (ranges 29 and 30 are used by some protocols like IRC)
*
* Returns:
* < 0: string1 < string2
* 0: string1 == string2
* > 0: string1 > string2
* -1: string1 < string2
* 0: string1 == string2
* 1: string1 > string2
*/
int
@@ -257,7 +257,7 @@ string_strncasecmp_range (const char *string1, const char *string2, int max,
{
diff = utf8_charcasecmp_range (string1, string2, range);
if (diff != 0)
return diff;
return (diff < 0) ? -1 : 1;
string1 = utf8_next_char (string1);
string2 = utf8_next_char (string2);
@@ -274,9 +274,9 @@ string_strncasecmp_range (const char *string1, const char *string2, int max,
* Compares two strings, ignoring some chars.
*
* Returns:
* < 0: string1 < string2
* 0: string1 == string2
* > 0: string1 > string2
* -1: string1 < string2
* 0: string1 == string2
* 1: string1 > string2
*/
int
@@ -285,12 +285,8 @@ string_strcmp_ignore_chars (const char *string1, const char *string2,
{
int diff;
if (!string1 && !string2)
return 0;
if (!string1 && string2)
return -1;
if (string1 && !string2)
return 1;
if (!string1 || !string2)
return (string1) ? 1 : ((string2) ? -1 : 0);
while (string1 && string1[0] && string2 && string2[0])
{
@@ -316,7 +312,7 @@ string_strcmp_ignore_chars (const char *string1, const char *string2,
diff = (case_sensitive) ?
(int)string1[0] - (int)string2[0] : utf8_charcasecmp (string1, string2);
if (diff != 0)
return diff;
return (diff < 0) ? -1 : 1;
string1 = utf8_next_char (string1);
string2 = utf8_next_char (string2);
+7 -7
View File
@@ -524,9 +524,9 @@ utf8_strlen_screen (const char *string)
* Compares two UTF-8 chars (case sensitive).
*
* Returns:
* < 0: char1 < char2
* 0: char1 == char2
* > 0: char1 > char2
* -1: string1 < string2
* 0: string1 == string2
* 1: string1 > string2
*/
int
@@ -545,7 +545,7 @@ utf8_charcmp (const char *string1, const char *string2)
{
diff = (int)((unsigned char) string1[i]) - (int)((unsigned char) string2[i]);
if (diff != 0)
return diff;
return (diff < 0) ? -1 : 1;
i++;
}
/* string1 == string2 ? */
@@ -562,9 +562,9 @@ utf8_charcmp (const char *string1, const char *string2)
* Compares two UTF-8 chars (case is ignored).
*
* Returns:
* < 0: char1 < char2
* 0: char1 == char2
* > 0: char1 > char2
* -1: string1 < string2
* 0: string1 == string2
* 1: string1 > string2
*/
int