diff --git a/src/fs/Traits.hxx b/src/fs/Traits.hxx
index b61de1833..32dcb4c60 100644
--- a/src/fs/Traits.hxx
+++ b/src/fs/Traits.hxx
@@ -96,6 +96,11 @@ struct PathTraitsFS {
 			: nullptr;
 	}
 
+	gcc_pure
+	static const_pointer GetPathSuffix(const_pointer path) noexcept {
+		return GetFilenameSuffix(GetBase(path));
+	}
+
 #ifdef _WIN32
 	gcc_pure gcc_nonnull_all
 	static constexpr bool IsDrive(const_pointer p) noexcept {
@@ -215,6 +220,11 @@ struct PathTraitsUTF8 {
 			: nullptr;
 	}
 
+	gcc_pure
+	static const_pointer GetPathSuffix(const_pointer path) noexcept {
+		return GetFilenameSuffix(GetBase(path));
+	}
+
 #ifdef _WIN32
 	gcc_pure gcc_nonnull_all
 	static constexpr bool IsDrive(const_pointer p) noexcept {