| 98 | } |
| 99 | |
| 100 | const char* ExtractQuery(const char* uri, const char* end, vtkURIComponent& output) |
| 101 | { |
| 102 | const auto queryEnd = std::find_if(uri, end, [](char c) { return c == '#'; }); |
| 103 | |
| 104 | if (uri == queryEnd) // empty query |
| 105 | { |
| 106 | return uri; |
| 107 | } |
| 108 | |
| 109 | if (*uri != '?') // not a query |
| 110 | { |
| 111 | return uri; |
| 112 | } |
| 113 | |
| 114 | output = std::string{ uri + 1, queryEnd }; |
| 115 | |
| 116 | if (queryEnd == end) |
| 117 | { |
| 118 | return end; |
| 119 | } |
| 120 | |
| 121 | return queryEnd; |
| 122 | } |
| 123 | |
| 124 | const char* ExtractFragment(const char* uri, const char* end, vtkURIComponent& output) |
| 125 | { |