From 5c6ccb43b55d70350869429da25e2b54b45086d3 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sat, 7 Jan 2017 07:12:10 -0500 Subject: Fix track formatting problems in playlist.c Some changes in behavior were made with filesystem code commit for the sake of compatibility that changed expected behavior. * Restore substitution of drive spec in fully-qualified DOS paths with the playlists's volume spec (or root on univolume targets). Drive-relative paths of the form "c:foo" (no separator after ':') will be treated as purely relative. * Restore old behavior of preserving leading whitespace in the source path and trimming only trailing tabs and spaces. * Multivolume: Volume substition on fully-qualified UNIX/RB paths has NOT been reintroduced (and perhaps wasn't intended in the first place). They will not be modified because there is no ambiguity to resolve. Doing so would prevent a playlist on external storage from referencing a file on main storage without qualifying it with "/<0>...". * Plain relative paths are and always have been interpreted as relative to the location of the playlist. Change-Id: Ic0800cea79c59563b7bac20f8b08abb5051906c7 --- firmware/common/pathfuncs.c | 29 ----------------------------- 1 file changed, 29 deletions(-) (limited to 'firmware/common/pathfuncs.c') diff --git a/firmware/common/pathfuncs.c b/firmware/common/pathfuncs.c index 1ee5fe9886..f5674983d9 100644 --- a/firmware/common/pathfuncs.c +++ b/firmware/common/pathfuncs.c @@ -197,35 +197,6 @@ int path_strip_drive(const char *name, const char **nameptr, bool greedy) return -1; } -/* Strips leading and trailing whitespace from a path - * " a/b \txyz" *nameptr->a, len=3: "a/b" - */ -size_t path_trim_whitespace(const char *name, const char **nameptr) -{ - /* NOTE: this won't currently treat DEL (0x7f) as non-printable */ - const unsigned char *p = name; - int c; - - while ((c = *p) <= ' ' && c) - ++p; - - const unsigned char *first = p; - const unsigned char *last = p; - - while (1) - { - if (c < ' ') - { - *nameptr = first; - return last - first; - } - - while ((c = *++p) > ' '); - last = p; - while (c == ' ') c = *++p; - } -} - /* Strips directory components from the path * "" *nameptr->NUL, len=0: "" * "/" *nameptr->/, len=1: "/" -- cgit v1.2.3