From 4847bbaad372c7c51811bafe2fdf3ffbf28d9a69 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 15 Jan 2009 00:09:18 +0100 Subject: dirvec, songvec: sort using g_utf8_collate() Path names in the directory and song structs are always encoded in UTF-8. Don't use strcmp(), it cannot handle UTF-8 characters properly. Use GLib's UTF-8 aware g_utf8_collate() function for that. --- src/dirvec.c | 2 +- src/songvec.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dirvec.c b/src/dirvec.c index 774730382..8fa9cde77 100644 --- a/src/dirvec.c +++ b/src/dirvec.c @@ -19,7 +19,7 @@ static int dirvec_cmp(const void *d1, const void *d2) { const struct directory *a = ((const struct directory * const *)d1)[0]; const struct directory *b = ((const struct directory * const *)d2)[0]; - return strcmp(a->path, b->path); + return g_utf8_collate(a->path, b->path); } void dirvec_init(void) diff --git a/src/songvec.c b/src/songvec.c index 17f60ab3b..929eaea47 100644 --- a/src/songvec.c +++ b/src/songvec.c @@ -14,7 +14,7 @@ static int songvec_cmp(const void *s1, const void *s2) { const struct song *a = ((const struct song * const *)s1)[0]; const struct song *b = ((const struct song * const *)s2)[0]; - return strcmp(a->url, b->url); + return g_utf8_collate(a->url, b->url); } static size_t sv_size(const struct songvec *sv) -- cgit v1.2.3