︙ | | | ︙ | |
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
* file.
*/
#include "config.h"
#import "OFString+PathAdditions.h"
#import "OFArray.h"
#import "OFFileURIHandler.h"
#import "OFOutOfRangeException.h"
int _OFString_PathAdditions_reference;
@implementation OFString (PathAdditions)
+ (OFString *)pathWithComponents: (OFArray *)components
|
|
|
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
* file.
*/
#include "config.h"
#import "OFString+PathAdditions.h"
#import "OFArray.h"
#import "OFFileIRIHandler.h"
#import "OFOutOfRangeException.h"
int _OFString_PathAdditions_reference;
@implementation OFString (PathAdditions)
+ (OFString *)pathWithComponents: (OFArray *)components
|
︙ | | | ︙ | |
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
|
} else
return [self stringByAppendingFormat: @".%@", extension];
}
- (bool)of_isDirectoryPath
{
return ([self hasSuffix: @"/"] || [self hasSuffix: @":"] ||
[OFFileURIHandler of_directoryExistsAtPath: self]);
}
- (OFString *)of_pathToURIPathWithPercentEncodedHost:
(OFString **)percentEncodedHost
{
OFArray OF_GENERIC(OFString *) *components = self.pathComponents;
OFMutableString *ret = [OFMutableString string];
for (OFString *component in components) {
if (component.length == 0)
|
|
|
|
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
|
} else
return [self stringByAppendingFormat: @".%@", extension];
}
- (bool)of_isDirectoryPath
{
return ([self hasSuffix: @"/"] || [self hasSuffix: @":"] ||
[OFFileIRIHandler of_directoryExistsAtPath: self]);
}
- (OFString *)of_pathToIRIPathWithPercentEncodedHost:
(OFString **)percentEncodedHost
{
OFArray OF_GENERIC(OFString *) *components = self.pathComponents;
OFMutableString *ret = [OFMutableString string];
for (OFString *component in components) {
if (component.length == 0)
|
︙ | | | ︙ | |
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
|
}
[ret makeImmutable];
return ret;
}
- (OFString *)of_URIPathToPathWithPercentEncodedHost:
(OFString *)percentEncodedHost
{
OFString *path = self;
if (path.length > 1 && [path hasSuffix: @"/"])
path = [path substringToIndex: path.length - 1];
|
|
|
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
|
}
[ret makeImmutable];
return ret;
}
- (OFString *)of_IRIPathToPathWithPercentEncodedHost:
(OFString *)percentEncodedHost
{
OFString *path = self;
if (path.length > 1 && [path hasSuffix: @"/"])
path = [path substringToIndex: path.length - 1];
|
︙ | | | ︙ | |
349
350
351
352
353
354
355
356
357
358
359
360
|
if ([component isEqual: @".."])
[components replaceObjectAtIndex: i withObject: @"/"];
}
return [OFString pathWithComponents: components];
}
- (OFString *)of_pathComponentToURIPathComponent
{
return self;
}
@end
|
|
|
349
350
351
352
353
354
355
356
357
358
359
360
|
if ([component isEqual: @".."])
[components replaceObjectAtIndex: i withObject: @"/"];
}
return [OFString pathWithComponents: components];
}
- (OFString *)of_pathComponentToIRIPathComponent
{
return self;
}
@end
|