/* strnatcmp.c
- *
- * $Id$
*
* Original code downloaded from: http://sourcefrog.net/projects/natsort/
* negative chars in their default char type.
*/
-#include <ctype.h>
-#include <string.h>
-#include <stdio.h>
+/*
+ * Modified 2014-10-29 to use the g_ascii_XXX() routines; this avoids
+ * locale-dependent behavior. The routine names were changed to
+ * ws_ascii_XXX() to reflect this.
+ */
+
+
+#include <glib.h>
#include "strnatcmp.h"
static int
nat_isdigit(nat_char a)
{
- return isdigit((unsigned char) a);
+ return g_ascii_isdigit(a);
}
static int
nat_isspace(nat_char a)
{
- return isspace((unsigned char) a);
+ return g_ascii_isspace(a);
}
static nat_char
nat_toupper(nat_char a)
{
- return toupper((unsigned char) a);
+ return g_ascii_toupper(a);
}
}
-int strnatcmp(nat_char const *a, nat_char const *b)
+int ws_ascii_strnatcmp(nat_char const *a, nat_char const *b)
{
return strnatcmp0(a, b, 0);
}
/* Compare, recognizing numeric string and ignoring case. */
-int strnatcasecmp(nat_char const *a, nat_char const *b)
+int ws_ascii_strnatcasecmp(nat_char const *a, nat_char const *b)
{
return strnatcmp0(a, b, 1);
}
*
* Local variables:
* c-basic-offset: 4
- * tab-width: 4
+ * tab-width: 8
* indent-tabs-mode: nil
* End:
*
- * vi: set shiftwidth=4 tabstop=4 expandtab:
- * :indentSize=4:tabSize=4:noTabs=true:
+ * vi: set shiftwidth=4 tabstop=8 expandtab:
+ * :indentSize=4:tabSize=8:noTabs=true:
*/