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.
This commit is contained in:
parent
b7fe09fa52
commit
4847bbaad3
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue