| 103 | } |
| 104 | |
| 105 | std::string JoinPath(const std::string& left, const std::string& right) { |
| 106 | if (left.empty()) { |
| 107 | return right; |
| 108 | } |
| 109 | const char last = left.back(); |
| 110 | if (last == '/' || last == '\\') { |
| 111 | return left + right; |
| 112 | } |
| 113 | return left + "/" + right; |
| 114 | } |
| 115 | |
| 116 | bool EndsWith(const std::string& value, const std::string& suffix) { |
| 117 | return value.size() >= suffix.size() && |
no test coverage detected