Overview
| Comment: | Add -[OFURL pathComponents] |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
7f641411835601735ea952239391fd97 |
| User & Date: | js on 2017-10-29 13:37:03 |
| Other Links: | manifest | tags |
Context
|
2017-10-29
| ||
| 15:05 | Add -[OFURL lastPathComponent] (check-in: eba3667137 user: js tags: trunk) | |
| 13:37 | Add -[OFURL pathComponents] (check-in: 7f64141183 user: js tags: trunk) | |
| 11:25 | Add +[OFURL fileURLWithPath:isDirectory:] (check-in: 773997d072 user: js tags: trunk) | |
Changes
Modified src/OFMutableURL.h from [5b759a7789] to [4ea68f1b3c].
| ︙ | ︙ | |||
80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /*! * @brief Initializes an already allocated OFMutableURL. * * @return An initialized OFMutableURL */ - (instancetype)init; /*! * @brief Converts the mutable URL to an immutable URL. */ - (void)makeImmutable; @end OF_ASSUME_NONNULL_END | > > > > > > > > > > | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
/*!
* @brief Initializes an already allocated OFMutableURL.
*
* @return An initialized OFMutableURL
*/
- (instancetype)init;
/*!
* @brief Sets the URL's path from the specified path components.
*
* The first component must always be empty to designate the root.
*
* @param components The path components to set the URL's path from
*/
- (void)setPathComponents:
(nullable OFArray OF_GENERIC(OFString *) *)components;
/*!
* @brief Converts the mutable URL to an immutable URL.
*/
- (void)makeImmutable;
@end
OF_ASSUME_NONNULL_END
|
Modified src/OFMutableURL.m from [514dff27bb] to [5d3d519f50].
| ︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFMutableURL.h" | | > > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#import "OFMutableURL.h"
#import "OFArray.h"
#import "OFNumber.h"
#import "OFString.h"
#import "OFURL+Private.h"
#import "OFInvalidFormatException.h"
@implementation OFMutableURL
@dynamic scheme, host, port, user, password, path, parameters, query, fragment;
+ (instancetype)URL
{
return [[[self alloc] init] autorelease];
|
| ︙ | ︙ | |||
92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
- (void)setFragment: (OFString *)fragment
{
OFString *old = _fragment;
_fragment = [fragment copy];
[old release];
}
- (id)copy
{
OFMutableURL *copy = [self mutableCopy];
[copy makeImmutable];
| > > > > > > > > > > > > > > > > > > > > | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
- (void)setFragment: (OFString *)fragment
{
OFString *old = _fragment;
_fragment = [fragment copy];
[old release];
}
- (void)setPathComponents: (OFArray *)components
{
void *pool = objc_autoreleasePoolPush();
if (components == nil) {
[self setPath: nil];
return;
}
if ([components count] == 0)
@throw [OFInvalidFormatException exception];
if ([[components firstObject] length] != 0)
@throw [OFInvalidFormatException exception];
[self setPath: [components componentsJoinedByString: @"/"]];
objc_autoreleasePoolPop(pool);
}
- (id)copy
{
OFMutableURL *copy = [self mutableCopy];
[copy makeImmutable];
|
| ︙ | ︙ |
Modified src/OFURL.h from [76db36b252] to [9597f5d99f].
| ︙ | ︙ | |||
15 16 17 18 19 20 21 22 23 24 25 26 27 28 | */ #import "OFObject.h" #import "OFSerialization.h" OF_ASSUME_NONNULL_BEGIN @class OFNumber; @class OFString; /*! * @class OFURL OFURL.h ObjFW/OFURL.h * * @brief A class for parsing URLs and accessing parts of it. | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | */ #import "OFObject.h" #import "OFSerialization.h" OF_ASSUME_NONNULL_BEGIN @class OFArray OF_GENERIC(ObjectType); @class OFNumber; @class OFString; /*! * @class OFURL OFURL.h ObjFW/OFURL.h * * @brief A class for parsing URLs and accessing parts of it. |
| ︙ | ︙ | |||
174 175 176 177 178 179 180 181 182 183 184 185 186 187 | /*! * @brief Returns the URL as a string. * * @return The URL as a string */ - (OFString *)string; /*! * @brief Returns the local file system representation for a file URL. * * This only exists for URLs with the file scheme and throws an exception * otherwise. * * @return The local file system representation for a file URL | > > > > > > > > > | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | /*! * @brief Returns the URL as a string. * * @return The URL as a string */ - (OFString *)string; /*! * @brief Returns the path of the URL split into components. * * The first component is always empty to designate the root. * * @return The path of the URL split into components */ - (nullable OFArray OF_GENERIC(OFString *) *)pathComponents; /*! * @brief Returns the local file system representation for a file URL. * * This only exists for URLs with the file scheme and throws an exception * otherwise. * * @return The local file system representation for a file URL |
| ︙ | ︙ |
Modified src/OFURL.m from [47b11362db] to [c329b07d23].
| ︙ | ︙ | |||
518 519 520 521 522 523 524 525 526 527 528 529 530 531 |
objc_autoreleasePoolPop(pool);
[ret makeImmutable];
return ret;
}
- (OFString *)fileSystemRepresentation
{
void *pool = objc_autoreleasePoolPush();
OFString *path;
if (![_scheme isEqual: @"file"])
| > > > > > | 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 |
objc_autoreleasePoolPop(pool);
[ret makeImmutable];
return ret;
}
- (OFArray *)pathComponents
{
return [_path componentsSeparatedByString: @"/"];
}
- (OFString *)fileSystemRepresentation
{
void *pool = objc_autoreleasePoolPush();
OFString *path;
if (![_scheme isEqual: @"file"])
|
| ︙ | ︙ |