diff --git a/BaseLib/FileTools.cpp b/BaseLib/FileTools.cpp index 124ba0bfea864e3445d91965d5a23b9d96e3d167..0e8ce3155ffd275301c27975e11e2a1818ac14a9 100644 --- a/BaseLib/FileTools.cpp +++ b/BaseLib/FileTools.cpp @@ -87,7 +87,7 @@ std::string dropFileExtension(std::string const& filename) if (p == std::string::npos) return filename; - return filename.substr(0, filename.length() - p); + return filename.substr(0, p); } std::string extractBaseName(std::string const& pathname) diff --git a/BaseLib/FileTools.h b/BaseLib/FileTools.h index 50cbc3282d56fc74b3cce165f7eb2def11596584..f524b9c19bd088bbd519e2099bc898d444455847 100644 --- a/BaseLib/FileTools.h +++ b/BaseLib/FileTools.h @@ -75,6 +75,11 @@ std::string getFileExtension(std::string const& filename); */ bool hasFileExtension(std::string const& extension, std::string const& filename); +/** Returns a string with file extension as found by getFileExtension() + * dropped. + */ +std::string dropFileExtension(std::string const& filename); + /** * Checks if file_name already contains a qualified path and if not copies the * path from source.