Parse disk designators, like "C:\". If Relative == true, also accepts: "C:". Returns number of characters considered if successful.
| 245 | // Parse disk designators, like "C:\". If Relative == true, also accepts: "C:". |
| 246 | // Returns number of characters considered if successful. |
| 247 | static size_t ParseDrive(const std::string &FileName, const size_t Offset, |
| 248 | bool Relative = true) { |
| 249 | if (Offset + 1 >= FileName.size() || FileName[Offset + 1] != ':') |
| 250 | return 0; |
| 251 | if (Offset + 2 >= FileName.size() || !IsSeparator(FileName[Offset + 2])) { |
| 252 | if (!Relative) // Accept relative path? |
| 253 | return 0; |
| 254 | else |
| 255 | return 2; |
| 256 | } |
| 257 | return 3; |
| 258 | } |
| 259 | |
| 260 | // Parse a file name, like: SomeFile.txt |
| 261 | // Returns number of characters considered if successful. |
no test coverage detected