From 7ce96585f5e0a5786f17d7996252b5c58e60d0ed Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 1 Mar 2015 01:09:53 +0100 Subject: fs/Path: add method GetSuffix() Type-safe wrapper for uri_get_suffix(). --- src/TagFile.cxx | 2 +- src/fs/Path.cxx | 7 +++++++ src/fs/Path.hxx | 3 +++ src/playlist/PlaylistStream.cxx | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src') 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; -- cgit v1.2.3