25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
int _OFString_PathAdditions_reference;
@implementation OFString (PathAdditions)
+ (OFString *)pathWithComponents: (OFArray *)components
{
return [components componentsJoinedByString: @"\\"];
}
- (OFArray *)pathComponents
{
OFMutableArray OF_GENERIC(OFString *) *ret = [OFMutableArray array];
void *pool = objc_autoreleasePoolPush();
const char *cString = [self UTF8String];
size_t i, last = 0, pathCStringLength = [self UTF8StringLength];
|
>
>
>
>
>
>
>
>
>
>
>
>
>
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
int _OFString_PathAdditions_reference;
@implementation OFString (PathAdditions)
+ (OFString *)pathWithComponents: (OFArray *)components
{
return [components componentsJoinedByString: @"\\"];
}
- (bool)isAbsolutePath
{
void *pool = objc_autoreleasePoolPush();
const char *UTF8String = [self UTF8String];
size_t UTF8StringLength = [self UTF8StringLength];
bool ret = (UTF8StringLength >= 3 && UTF8String[1] == ':' &&
(UTF8String[2] == '\\' || UTF8String[2] == '/'));
objc_autoreleasePoolPop(pool);
return ret;
}
- (OFArray *)pathComponents
{
OFMutableArray OF_GENERIC(OFString *) *ret = [OFMutableArray array];
void *pool = objc_autoreleasePoolPush();
const char *cString = [self UTF8String];
size_t i, last = 0, pathCStringLength = [self UTF8StringLength];
|