115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
{
void *pool = objc_autoreleasePoolPush();
OFString *ret, *fileName;
size_t pos;
fileName = self.lastPathComponent;
pos = [fileName rangeOfString: @"."
options: OF_STRING_SEARCH_BACKWARDS].location;
if (pos == OFNotFound || pos == 0) {
objc_autoreleasePoolPop(pool);
return @"";
}
ret = [fileName substringFromIndex: pos + 1];
|
|
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
{
void *pool = objc_autoreleasePoolPush();
OFString *ret, *fileName;
size_t pos;
fileName = self.lastPathComponent;
pos = [fileName rangeOfString: @"."
options: OFStringSearchBackwards].location;
if (pos == OFNotFound || pos == 0) {
objc_autoreleasePoolPop(pool);
return @"";
}
ret = [fileName substringFromIndex: pos + 1];
|
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
return [[self copy] autorelease];
pool = objc_autoreleasePoolPush();
components = [[self.pathComponents mutableCopy] autorelease];
fileName = components.lastObject;
pos = [fileName rangeOfString: @"."
options: OF_STRING_SEARCH_BACKWARDS].location;
if (pos == OFNotFound || pos == 0) {
objc_autoreleasePoolPop(pool);
return [[self copy] autorelease];
}
fileName = [fileName substringToIndex: pos];
[components replaceObjectAtIndex: components.count - 1
|
|
|
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
return [[self copy] autorelease];
pool = objc_autoreleasePoolPush();
components = [[self.pathComponents mutableCopy] autorelease];
fileName = components.lastObject;
pos = [fileName rangeOfString: @"."
options: OFStringSearchBackwards].location;
if (pos == OFNotFound || pos == 0) {
objc_autoreleasePoolPop(pool);
return [[self copy] autorelease];
}
fileName = [fileName substringToIndex: pos];
[components replaceObjectAtIndex: components.count - 1
|