44 if(c ==
'/' || c ==
'\\')
54 if(wcslen(s1) > wcslen(s2))
57 wchar_t c1 = 0, last_c1, c2;
61 c1 = *s1++, c2 = *s2++;
87 const wchar_t* slash1 = wcsrchr(path,
'/');
88 const wchar_t* slash2 = wcsrchr(path,
'\\');
90 if(!slash1 && !slash2)
94 const wchar_t* name = std::max(slash1, slash2)+1;
static bool path_is_dir_sep(wchar_t c)
const Status PATH_CHARACTER_ILLEGAL
static void swap(UniqueRange &p1, UniqueRange &p2)
const Status PATH_CHARACTER_UNSAFE
i64 Status
Error handling system.
const Status PATH_MIXED_SEPARATORS
#define STATUS_ADD_DEFINITIONS(definitions)
add a module's array of StatusDefinition to the list.
bool path_is_subpath(const wchar_t *s1, const wchar_t *s2)
is s2 a subpath of s1, or vice versa? (equal counts as subpath)
static Status Validate(String::value_type c)
const wchar_t * path_name_only(const wchar_t *path)
Get the path component of a path.
static const StatusDefinition pathStatusDefinitions[]
const Status PATH_NOT_FOUND