gchar *avahi_normalize_name(const gchar *s) {
gchar tmp[256];
- gchar *n, *t;
guint l;
g_assert(s);
unescape_uneeded(s, tmp, sizeof(tmp));
- n = g_utf8_normalize(tmp, -1, G_NORMALIZE_DEFAULT);
-
- if ((l = strlen(n)) == 0) {
- g_free(n);
+ if ((l = strlen(tmp)) == 0)
return g_strdup(".");
- }
- if (n[l-1] == '.')
- return n;
+ if (tmp[l-1] == '.')
+ return g_strdup(tmp);
- t = g_strdup_printf("%s.", n);
- g_free(n);
- return t;
+ return g_strdup_printf("%s.", tmp);
}
gint avahi_timeval_compare(const GTimeVal *a, const GTimeVal *b) {
return r;
}
-static gint utf8_strcasecmp(const gchar *a, const gchar *b) {
- gchar *ta, *tb;
- gint r;
-
- g_assert(a);
- g_assert(b);
-
- ta = g_utf8_casefold(a, -1);
- tb = g_utf8_casefold(b, -1);
- r = g_utf8_collate(ta, tb);
- g_free(ta);
- g_free(tb);
-
- return r;
-}
-
gboolean avahi_domain_equal(const gchar *a, const gchar *b) {
g_assert(a);
g_assert(b);
else if ((pa && !pb) || (!pa && pb))
return FALSE;
- if (utf8_strcasecmp(pa, pb))
+ if (g_ascii_strcasecmp(pa, pb))
return FALSE;
}
guint hash = 0;
for (;;) {
- gchar c[65], *n, *m;
+ gchar c[65], *m;
if (!avahi_unescape_label(&s, c, sizeof(c)))
return hash;
if (!c[0])
continue;
- n = g_utf8_normalize(c, -1, G_NORMALIZE_DEFAULT);
- m = g_utf8_strdown(n, -1);
-
+ m = g_ascii_strdown(c, -1);
hash += g_str_hash(m);
-
g_free(m);
- g_free(n);
}
}