summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2023-03-21 12:31:12 +0000
committerAidan MacDonald <amachronic@protonmail.com>2023-03-24 19:02:56 +0000
commita4cfa8ae6a817da719531a8043ea5f24aa70b67e (patch)
treeb7937603895dde9afed8de3e6a4e89143488fcbe
parentaab6a44fc56f4747d926987d9e848dfcab9c209e (diff)
downloadrockbox-a4cfa8ae6a.tar.gz
rockbox-a4cfa8ae6a.zip
playlist: Unconditionally strip bogus dirs in playlist_peek()
The intent behind the check is to only do this if the filename comes from an on-disk file. With the RAM buffer is gone this is now "always" the case. Change-Id: I4c26e32c482dde176b69a6071e9562e9955d7171
-rw-r--r--apps/playlist.c29
1 files changed, 13 insertions, 16 deletions
diff --git a/apps/playlist.c b/apps/playlist.c
index 6f37f9fb88..c1d280595c 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -3149,25 +3149,22 @@ const char* playlist_peek(int steps, char* buf, size_t buf_size)
temp_ptr = buf;
- if (!playlist->dirplay || control_file)
+ /* remove bogus dirs from beginning of path
+ (workaround for buggy playlist creation tools) */
+ while (temp_ptr)
{
- /* remove bogus dirs from beginning of path
- (workaround for buggy playlist creation tools) */
- while (temp_ptr)
- {
- if (file_exists(temp_ptr))
- break;
+ if (file_exists(temp_ptr))
+ break;
- temp_ptr = strchr(temp_ptr+1, '/');
- }
+ temp_ptr = strchr(temp_ptr+1, '/');
+ }
- if (!temp_ptr)
- {
- /* Even though this is an invalid file, we still need to pass a
- file name to the caller because NULL is used to indicate end
- of playlist */
- return buf;
- }
+ if (!temp_ptr)
+ {
+ /* Even though this is an invalid file, we still need to pass a
+ file name to the caller because NULL is used to indicate end
+ of playlist */
+ return buf;
}
return temp_ptr;