summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/wee-string.c46
-rw-r--r--src/core/wee-utf8.c14
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