535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
|
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
|
-
+
|
[string isKindOfClass: [OFMutableUTF8String class]]) {
if (((OFMutableUTF8String *)string)->_s->isUTF8)
_s->isUTF8 = true;
} else
_s->isUTF8 = true;
}
- (void)deleteCharactersInRange: (of_range_t)range
- (void)deleteCharactersInRange: (OFRange)range
{
size_t start = range.location;
size_t end = range.location + range.length;
if (range.length > SIZE_MAX - range.location || end > _s->length)
@throw [OFOutOfRangeException exception];
|
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
|
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
|
-
+
|
@try {
_s->cString = of_realloc(_s->cString, _s->cStringLength + 1, 1);
} @catch (OFOutOfMemoryException *e) {
/* We don't really care, as we only made it smaller */
}
}
- (void)replaceCharactersInRange: (of_range_t)range
- (void)replaceCharactersInRange: (OFRange)range
withString: (OFString *)replacement
{
size_t start = range.location;
size_t end = range.location + range.length;
size_t newCStringLength, newLength;
if (replacement == nil)
|
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
|
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
|
-
+
|
} else
_s->isUTF8 = true;
}
- (void)replaceOccurrencesOfString: (OFString *)string
withString: (OFString *)replacement
options: (int)options
range: (of_range_t)range
range: (OFRange)range
{
const char *searchString = string.UTF8String;
const char *replacementString = replacement.UTF8String;
size_t searchLength = string.UTF8StringLength;
size_t replacementLength = replacement.UTF8StringLength;
size_t last, newCStringLength, newLength;
char *newCString;
|