| 402 | } |
| 403 | |
| 404 | static bool path_is_root_syntax(const char *path) { |
| 405 | if (!path || !path[0]) { |
| 406 | return false; |
| 407 | } |
| 408 | for (const char *p = path; *p; p++) { |
| 409 | if (*p != '/' && *p != '\\' && *p != ':') { |
| 410 | return false; |
| 411 | } |
| 412 | } |
| 413 | return true; |
| 414 | } |
| 415 | |
| 416 | char *cbm_project_name_from_path(const char *abs_path) { |
| 417 | if (!abs_path || !abs_path[0]) { |
no outgoing calls
no test coverage detected