diff options
author | William Wilgus <me.theuser@yahoo.com> | 2019-08-17 06:05:40 -0500 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2019-08-17 06:34:52 -0500 |
commit | fd19a2caa29793174b9ac524903282244b9d3553 (patch) | |
tree | c95f81d6f975b45f5b08a26bde223f73ee24e0f1 | |
parent | 0ff6a31d7dc51ff2f0a6147a0fadff2d6359ecb9 (diff) | |
download | rockbox-fd19a2c.tar.gz rockbox-fd19a2c.zip |
Playlist Fix failure to append default file name
FS#12992 - Can't create playlist with all tracks on device (regression)
references this issue
empty_playlist() only sets filename[0] = '\0'
the code was checking filename[1]..
bug ensued
strip extra leading '/' from default path
Change-Id: Ibd8973666ee45583b9e11e3ba317c0e247f085c1
-rw-r--r-- | apps/menus/playlist_menu.c | 2 | ||||
-rw-r--r-- | apps/playlist_catalog.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/apps/menus/playlist_menu.c b/apps/menus/playlist_menu.c index 175ca19959..2de73415b2 100644 --- a/apps/menus/playlist_menu.c +++ b/apps/menus/playlist_menu.c @@ -50,7 +50,7 @@ int save_playlist_screen(struct playlist_info* playlist) if (!dot) { /* folder of some type */ - if (temp[1] != '\0') + if (len > 1) strcpy(&temp[len-1], ".m3u8"); else snprintf(temp, sizeof(temp), "%s%s", diff --git a/apps/playlist_catalog.c b/apps/playlist_catalog.c index 3d524998b2..2147ea990c 100644 --- a/apps/playlist_catalog.c +++ b/apps/playlist_catalog.c @@ -86,6 +86,10 @@ static int initialize_catalog(void) mkdir(playlist_dir); } + /* remove duplicate leading '/' */ + if (playlist_dir[0] == '/' && playlist_dir[1] == '/') + strcpy(playlist_dir, &playlist_dir[1]); + playlist_dir_length = strlen(playlist_dir); if (dir_exists(playlist_dir)) |