aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/TagFile.cxx2
-rw-r--r--src/fs/Path.cxx7
-rw-r--r--src/fs/Path.hxx3
-rw-r--r--src/playlist/PlaylistStream.cxx2
4 files changed, 12 insertions, 2 deletions
diff --git a/src/TagFile.cxx b/src/TagFile.cxx
index e4e9914e4..168be6063 100644
--- a/src/TagFile.cxx
+++ b/src/TagFile.cxx
@@ -87,7 +87,7 @@ tag_file_scan(Path path_fs, const tag_handler &handler, void *handler_ctx)
/* check if there's a suffix and a plugin */
- const char *suffix = uri_get_suffix(path_fs.c_str());
+ const char *suffix = path_fs.GetSuffix();
if (suffix == nullptr)
return false;
diff --git a/src/fs/Path.cxx b/src/fs/Path.cxx
index 5a21b698f..691284313 100644
--- a/src/fs/Path.cxx
+++ b/src/fs/Path.cxx
@@ -20,9 +20,16 @@
#include "config.h"
#include "Path.hxx"
#include "Charset.hxx"
+#include "util/UriUtil.hxx"
std::string
Path::ToUTF8() const
{
return ::PathToUTF8(c_str());
}
+
+const char *
+Path::GetSuffix() const
+{
+ return uri_get_suffix(c_str());
+}
diff --git a/src/fs/Path.hxx b/src/fs/Path.hxx
index 56459723d..8126a668a 100644
--- a/src/fs/Path.hxx
+++ b/src/fs/Path.hxx
@@ -161,6 +161,9 @@ public:
bool IsAbsolute() const {
return PathTraitsFS::IsAbsolute(c_str());
}
+
+ gcc_pure
+ const char *GetSuffix() const;
};
#endif
diff --git a/src/playlist/PlaylistStream.cxx b/src/playlist/PlaylistStream.cxx
index 32e049c78..b0febba2b 100644
--- a/src/playlist/PlaylistStream.cxx
+++ b/src/playlist/PlaylistStream.cxx
@@ -35,7 +35,7 @@ playlist_open_path_suffix(Path path, Mutex &mutex, Cond &cond)
{
assert(!path.IsNull());
- const char *suffix = uri_get_suffix(path.c_str());
+ const char *suffix = path.GetSuffix();
if (suffix == nullptr || !playlist_suffix_supported(suffix))
return nullptr;