Mapper: use class Path

This commit is contained in:
Max Kellermann 2015-02-28 22:07:01 +01:00
parent 7a8f96b1dd
commit 44b9197354
3 changed files with 10 additions and 5 deletions

View File

@ -86,8 +86,10 @@ map_uri_fs(const char *uri)
} }
std::string std::string
map_fs_to_utf8(const char *path_fs) map_fs_to_utf8(Path _path_fs)
{ {
auto path_fs = _path_fs.c_str();
if (PathTraitsFS::IsSeparator(path_fs[0])) { if (PathTraitsFS::IsSeparator(path_fs[0])) {
if (instance->storage == nullptr) if (instance->storage == nullptr)
return std::string(); return std::string();

View File

@ -30,6 +30,7 @@
#define PLAYLIST_FILE_SUFFIX ".m3u" #define PLAYLIST_FILE_SUFFIX ".m3u"
class Path;
class AllocatedPath; class AllocatedPath;
void void
@ -58,7 +59,7 @@ map_uri_fs(const char *uri);
*/ */
gcc_pure gcc_pure
std::string std::string
map_fs_to_utf8(const char *path_fs); map_fs_to_utf8(Path path_fs);
#endif #endif

View File

@ -268,13 +268,15 @@ LoadPlaylistFile(const char *utf8path, Error &error)
if (*s == 0 || *s == PLAYLIST_COMMENT) if (*s == 0 || *s == PLAYLIST_COMMENT)
continue; continue;
const Path path = Path::FromFS(s);
std::string uri_utf8; std::string uri_utf8;
if (!uri_has_scheme(s)) { if (!uri_has_scheme(s)) {
#ifdef ENABLE_DATABASE #ifdef ENABLE_DATABASE
uri_utf8 = map_fs_to_utf8(s); uri_utf8 = map_fs_to_utf8(path);
if (uri_utf8.empty()) { if (uri_utf8.empty()) {
if (PathTraitsFS::IsAbsolute(s)) { if (path.IsAbsolute()) {
uri_utf8 = PathToUTF8(s); uri_utf8 = PathToUTF8(s);
if (uri_utf8.empty()) if (uri_utf8.empty())
continue; continue;
@ -287,7 +289,7 @@ LoadPlaylistFile(const char *utf8path, Error &error)
continue; continue;
#endif #endif
} else { } else {
uri_utf8 = PathToUTF8(s); uri_utf8 = path.ToUTF8();
if (uri_utf8.empty()) if (uri_utf8.empty())
continue; continue;
} }