diff --git a/include/util.hpp b/include/util.hpp index 1a4f9e8..53f8d21 100644 --- a/include/util.hpp +++ b/include/util.hpp @@ -18,6 +18,7 @@ extern std::string indenting_string; +std::string cut_last(std::string const& in, char c); std::string basename(std::string const& in); std::string dirname(std::string const& in); diff --git a/src/util.cpp b/src/util.cpp index e0bc7ff..dd3d5c4 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -20,15 +20,20 @@ std::string indent(int n) return ret; } -std::string basename(std::string const& in) +std::string cut_last(std::string const& in, char c) { - size_t slr=in.rfind('/'); + size_t slr=in.rfind(c); if(slr != std::string::npos) return in.substr(slr+1); else return in; } +std::string basename(std::string const& in) +{ + return cut_last(cut_last(in, '/'), ' '); +} + std::string dirname(std::string const& in) { size_t slr=in.rfind('/');