fs/Traits.hxx: add FindLastSeparator function to PathTraitsXXX
This commit is contained in:
parent
403bd77eff
commit
c387031252
@ -55,6 +55,19 @@ struct PathTraitsFS {
|
|||||||
ch == SEPARATOR;
|
ch == SEPARATOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gcc_pure gcc_nonnull_all
|
||||||
|
static const_pointer FindLastSeparator(const_pointer p) {
|
||||||
|
assert(p != nullptr);
|
||||||
|
#ifdef WIN32
|
||||||
|
const_pointer pos = p + GetLength(p);
|
||||||
|
while (p != pos && !IsSeparator(*pos))
|
||||||
|
--pos;
|
||||||
|
return IsSeparator(*pos) ? pos : nullptr;
|
||||||
|
#else
|
||||||
|
return strrchr(p, SEPARATOR);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
gcc_pure gcc_nonnull_all
|
gcc_pure gcc_nonnull_all
|
||||||
static bool IsAbsolute(const_pointer p) {
|
static bool IsAbsolute(const_pointer p) {
|
||||||
assert(p != nullptr);
|
assert(p != nullptr);
|
||||||
@ -96,6 +109,12 @@ struct PathTraitsUTF8 {
|
|||||||
return ch == SEPARATOR;
|
return ch == SEPARATOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gcc_pure gcc_nonnull_all
|
||||||
|
static const_pointer FindLastSeparator(const_pointer p) {
|
||||||
|
assert(p != nullptr);
|
||||||
|
return strrchr(p, SEPARATOR);
|
||||||
|
}
|
||||||
|
|
||||||
gcc_pure gcc_nonnull_all
|
gcc_pure gcc_nonnull_all
|
||||||
static bool IsAbsolute(const_pointer p) {
|
static bool IsAbsolute(const_pointer p) {
|
||||||
assert(p != nullptr);
|
assert(p != nullptr);
|
||||||
|
Loading…
Reference in New Issue
Block a user