diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2014-07-05 11:38:44 +0200 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2014-07-05 11:38:44 +0200 |
commit | 95011c82e0ab9f15fc6508d1aebe2ec0f86ccb94 (patch) | |
tree | dd34c5f0bb0222c6bef3010030a79272794729b7 /src/core | |
parent | 823db4475c33673dca6a832a64cd836df9e42c52 (diff) | |
download | weechat-95011c82e0ab9f15fc6508d1aebe2ec0f86ccb94.zip |
core: return only -1, 0 or 1 in string comparison functions
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/wee-string.c | 46 | ||||
-rw-r--r-- | src/core/wee-utf8.c | 14 |
2 files changed, 28 insertions, 32 deletions
diff --git a/src/core/wee-string.c b/src/core/wee-string.c index d4b3175ea..6890810d6 100644 --- a/src/core/wee-string.c +++ b/src/core/wee-string.c @@ -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); diff --git a/src/core/wee-utf8.c b/src/core/wee-utf8.c index 8871b78aa..c7fa38a20 100644 --- a/src/core/wee-utf8.c +++ b/src/core/wee-utf8.c @@ -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 |