Differences From Artifact [3bdf38b289]:
- File src/OFString.m — part of check-in [53af033b0e] at 2012-10-14 10:36:21 on branch trunk — More integer overflow checks. (user: js, size: 43908) [annotate] [blame] [check-ins using]
To Artifact [5e5459873a]:
- File
src/OFString.m
— part of check-in
[fcaa549324]
at
2012-10-16 14:47:55
on branch trunk
— A few more API improvements.
This should make it more future-proof, as adding new options is easier
than adding new methods for each and every combination of options. (user: js, size: 43946) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
1159 1160 1161 1162 1163 1164 1165 | { return [self rangeOfString: string options: 0 range: of_range(0, [self length])]; } - (of_range_t)rangeOfString: (OFString*)string | | | | 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 | { return [self rangeOfString: string options: 0 range: of_range(0, [self length])]; } - (of_range_t)rangeOfString: (OFString*)string options: (int)options { return [self rangeOfString: string options: options range: of_range(0, [self length])]; } - (of_range_t)rangeOfString: (OFString*)string options: (int)options range: (of_range_t)range { void *pool; const of_unichar_t *searchString; of_unichar_t *unicodeString; size_t i, searchLength; |
︙ | ︙ | |||
1322 1323 1324 1325 1326 1327 1328 | [new makeImmutable]; return new; } - (OFString*)stringByReplacingOccurrencesOfString: (OFString*)string withString: (OFString*)replacement | > | > | | 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 | [new makeImmutable]; return new; } - (OFString*)stringByReplacingOccurrencesOfString: (OFString*)string withString: (OFString*)replacement options: (int)options range: (of_range_t)range { OFMutableString *new = [[self mutableCopy] autorelease]; [new replaceOccurrencesOfString: string withString: replacement options: options range: range]; [new makeImmutable]; return new; } - (OFString*)uppercaseString |
︙ | ︙ | |||
1467 1468 1469 1470 1471 1472 1473 | return !compare; } - (OFArray*)componentsSeparatedByString: (OFString*)delimiter { return [self componentsSeparatedByString: delimiter | | | > | 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 | return !compare; } - (OFArray*)componentsSeparatedByString: (OFString*)delimiter { return [self componentsSeparatedByString: delimiter options: 0]; } - (OFArray*)componentsSeparatedByString: (OFString*)delimiter options: (int)options { void *pool; OFMutableArray *array = [OFMutableArray array]; const of_unichar_t *string, *delimiterString; BOOL skipEmpty = (options & OF_STRING_SKIP_EMPTY); size_t length = [self length]; size_t delimiterLength = [delimiter length]; size_t i, last; OFString *component; pool = objc_autoreleasePoolPush(); |
︙ | ︙ |