ObjFW  Diff

Differences From Artifact [98780c8b8b]:

To Artifact [1ddf45efe0]:


554
555
556
557
558
559
560
561

562
563
564

565
566
567
568
569
570
571
572

573
574
575
576
577
578
579
580
581
582
583

584
585
586

587
588
589
590
591
592
593
554
555
556
557
558
559
560

561
562
563

564
565
566
567
568
569
570
571

572
573
574
575
576
577
578
579
580
581
582

583
584
585

586
587
588
589
590
591
592
593







-
+


-
+







-
+










-
+


-
+







	    range.location + range.length > _count)
		@throw [OFOutOfRangeException exception];

	if (data == nil || data.itemSize != _itemSize)
		@throw [OFInvalidArgumentException exception];

	if ((searchLength = data.count) == 0)
		return OFMakeRange(0, 0);
		return OFRangeMake(0, 0);

	if (searchLength > range.length)
		return OFMakeRange(OFNotFound, 0);
		return OFRangeMake(OFNotFound, 0);

	search = data.items;

	if (options & OFDataSearchBackwards) {
		for (size_t i = range.length - searchLength;; i--) {
			if (memcmp(_items + i * _itemSize, search,
			    searchLength * _itemSize) == 0)
				return OFMakeRange(i, searchLength);
				return OFRangeMake(i, searchLength);

			/* No match and we're at the last item */
			if (i == 0)
				break;
		}
	} else {
		for (size_t i = range.location;
		    i <= range.length - searchLength; i++)
			if (memcmp(_items + i * _itemSize, search,
			    searchLength * _itemSize) == 0)
				return OFMakeRange(i, searchLength);
				return OFRangeMake(i, searchLength);
	}

	return OFMakeRange(OFNotFound, 0);
	return OFRangeMake(OFNotFound, 0);
}

#ifdef OF_HAVE_FILES
- (void)writeToFile: (OFString *)path
{
	OFFile *file = [[OFFile alloc] initWithPath: path mode: @"w"];
	@try {