| 92 | } |
| 93 | |
| 94 | static bool ends_with(const std::string & s, const std::string & suffix) { |
| 95 | if (suffix.size() > s.size()) return false; |
| 96 | return s.compare(s.size() - suffix.size(), suffix.size(), suffix) == 0; |
| 97 | } |
| 98 | |
| 99 | static std::string strip_extension(const std::string & filename) { |
| 100 | auto pos = filename.rfind('.'); |