mapper: remove trailing slashes from music_directory

When the user configures a music_directory with a trailing slash, it
may break playlist loading, because MPD expects a double slash.  Chop
off the trailing slash.
This commit is contained in:
Max Kellermann 2009-01-30 13:47:45 +01:00
parent efb04532df
commit e3d4fa6946
2 changed files with 16 additions and 1 deletions

1
NEWS
View File

@ -41,6 +41,7 @@ ver 0.14.2 (2009/??/??)
- jack: allocate ring buffers before connecting
- jack: clear "shutdown" flag on reconnect
- jack: reduced sleep time to 1ms
* mapper: remove trailing slashes from music_directory
ver 0.14.1 (2009/01/17)

View File

@ -40,13 +40,27 @@ static size_t music_dir_length;
static char *playlist_dir;
/**
* Duplicate a string, chop all trailing slashes.
*/
static char *
strdup_chop_slash(const char *path_fs)
{
size_t length = strlen(path_fs);
while (length > 0 && path_fs[length - 1] == G_DIR_SEPARATOR)
--length;
return g_strndup(path_fs, length);
}
static void
mapper_set_music_dir(const char *path)
{
int ret;
struct stat st;
music_dir = g_strdup(path);
music_dir = strdup_chop_slash(path);
music_dir_length = strlen(music_dir);
ret = stat(music_dir, &st);