ObjFW  Diff

Differences From Artifact [3c8f4c2bc5]:

To Artifact [f5b0d569c9]:


429
430
431
432
433
434
435
436
437
438





439
440
441
442
443
444
445
429
430
431
432
433
434
435



436
437
438
439
440
441
442
443
444
445
446
447







-
-
-
+
+
+
+
+







	    string->s->cStringLength);
	s->cString[newCStringLength] = '\0';

	s->cStringLength = newCStringLength;
	s->length += string->s->length;
}

- (void)deleteCharactersFromIndex: (size_t)start
			  toIndex: (size_t)end
{
- (void)deleteCharactersInRange: (of_range_t)range
{
	size_t start = range.start;
	size_t end = range.start + range.length;

	if (start > end)
		@throw [OFInvalidArgumentException newWithClass: isa
						       selector: _cmd];

	if (end > s->length)
		@throw [OFOutOfRangeException newWithClass: isa];

461
462
463
464
465
466
467
468
469
470
471
472
473
474

475
476

477


478
479
480
481
482
483
484
463
464
465
466
467
468
469







470


471
472
473
474
475
476
477
478
479
480
481







-
-
-
-
-
-
-
+
-
-
+

+
+







					 toSize: s->cStringLength + 1];
	} @catch (OFOutOfMemoryException *e) {
		/* We don't really care, as we only made it smaller */
		[e release];
	}
}

- (void)deleteCharactersInRange: (of_range_t)range
{
	[self deleteCharactersFromIndex: range.start
				toIndex: range.start + range.length];
}

- (void)replaceCharactersFromIndex: (size_t)start
- (void)replaceCharactersInRange: (of_range_t)range
			   toIndex: (size_t)end
			withString: (OFString*)replacement
		      withString: (OFString*)replacement
{
	size_t start = range.start;
	size_t end = range.start + range.length;
	size_t newCStringLength, newLength;

	if (start > end)
		@throw [OFInvalidArgumentException newWithClass: isa
						       selector: _cmd];

	if (end > s->length)
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
501
502
503
504
505
506
507








508
509
510
511
512
513
514







-
-
-
-
-
-
-
-







	    replacement->s->cStringLength);
	s->cString[newCStringLength] = '\0';

	s->cStringLength = newCStringLength;
	s->length = newLength;
}

- (void)replaceCharactersInRange: (of_range_t)range
		      withString: (OFString*)replacement
{
	[self replaceCharactersFromIndex: range.start
				 toIndex: range.start + range.length
			      withString: replacement];
}

- (void)replaceOccurrencesOfString: (OFString*)string
			withString: (OFString*)replacement
{
	const char *cString = [string cString];
	const char *replacementCString = [replacement cString];
	size_t cStringLength = string->s->cStringLength;
	size_t replacementCStringLength = replacement->s->cStringLength;