| 56 | } |
| 57 | |
| 58 | std::string_view normalizePath(const char* path) { |
| 59 | std::string_view srcBase(FDB_SOURCE_DIR); |
| 60 | std::string_view binBase(FDB_SOURCE_DIR); |
| 61 | std::string_view filename(path); |
| 62 | if (srcBase.size() < filename.size() && filename.substr(0, srcBase.size()) == srcBase) { |
| 63 | filename.remove_prefix(srcBase.size()); |
| 64 | } else if (binBase.size() < filename.size() && filename.substr(0, binBase.size()) == binBase) { |
| 65 | filename.remove_prefix(binBase.size()); |
| 66 | } |
| 67 | if (filename[0] == '/') { |
| 68 | filename.remove_prefix(1); |
| 69 | } |
| 70 | return filename; |
| 71 | } |
| 72 | |
| 73 | struct CodeProbes { |
| 74 | struct Location { |