aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/fs/Path.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/fs/Path.cxx b/src/fs/Path.cxx
index 466d952b3..99a4ffb61 100644
--- a/src/fs/Path.cxx
+++ b/src/fs/Path.cxx
@@ -21,6 +21,7 @@
#include "Path.hxx"
#include "Charset.hxx"
#include "util/UriUtil.hxx"
+#include "util/StringUtil.hxx"
std::string
Path::ToUTF8() const
@@ -31,5 +32,10 @@ Path::ToUTF8() const
Path::const_pointer
Path::GetSuffix() const
{
- return uri_get_suffix(c_str());
+ const auto base = GetBase().c_str();
+ const auto *dot = StringFindLast(base, '.');
+ if (dot == nullptr || dot == base)
+ return nullptr;
+
+ return dot + 1;
}