playlist_song: fix playlist files in base music directory

g_path_get_dirname() returns "." when there is no directory name in
the given path.  This patch adds a workaround for that.
This commit is contained in:
Max Kellermann 2011-05-09 18:00:41 +02:00
parent 9402b23dd5
commit 26735390ff
2 changed files with 8 additions and 0 deletions

1
NEWS
View File

@ -1,6 +1,7 @@
ver 0.16.3 (2011/??/??)
* fix assertion failure in audio format mask parser
* fix NULL pointer dereference in playlist parser
* fix playlist files in base music directory
* decoder:
- ffmpeg: support libavcodec 0.7

View File

@ -105,6 +105,13 @@ playlist_check_translate_song(struct song *song, const char *base_uri)
}
}
if (base_uri != NULL && strcmp(base_uri, ".") == 0)
/* g_path_get_dirname() returns "." when there is no
directory name in the given path; clear that now,
because it would break the database lookup
functions */
base_uri = NULL;
if (g_path_is_absolute(uri)) {
/* XXX fs_charset vs utf8? */
char *prefix = base_uri != NULL