return strndup (str, n);
#else
if (str) {
- char *retval = malloc(n);
+ char *retval = malloc(n+1);
if (retval) {
strncpy(retval, str, n)[n] = 0;
}
}
}
+gchar
+g_ascii_tolower (gchar c)
+{
+ return c >= 'A' && c <= 'Z' ? c + ('a' - 'A') : c;
+}
+
gchar *
g_ascii_strdown (const gchar *str, gssize len)
{
len = strlen (str);
ret = g_malloc (len + 1);
- for (i = 0; i < len; i++){
- guchar c = (guchar) str [i];
- if (c >= 'A' && c <= 'Z')
- c += 'a' - 'A';
- ret [i] = c;
- }
+ for (i = 0; i < len; i++)
+ ret [i] = (guchar) g_ascii_tolower (str [i]);
ret [i] = 0;
return ret;