ObjFW  Diff

Differences From Artifact [e8aa9a3165]:

To Artifact [f6ae42a2d9]:


224
225
226
227
228
229
230
231

232
233
234
235
236
237
238
239
224
225
226
227
228
229
230

231

232
233
234
235
236
237
238







-
+
-







}

- (size_t)count
{
	OF_UNRECOGNIZED_SELECTOR
}

- (void)getObjects: (id *)buffer
- (void)getObjects: (id *)buffer inRange: (of_range_t)range
	   inRange: (of_range_t)range
{
	for (size_t i = 0; i < range.length; i++)
		buffer[i] = [self objectAtIndex: range.location + i];
}

- (id const *)objects
{
421
422
423
424
425
426
427
428

429
430
431
432
433
434
435
420
421
422
423
424
425
426

427
428
429
430
431
432
433
434







-
+







		@throw [OFInvalidArgumentException exception];

	if (self.count == 0)
		return @"";

	if (self.count == 1) {
		OFString *component =
		    [[self firstObject] performSelector: selector];
		    [[self objectAtIndex: 0] performSelector: selector];

		if (component == nil)
			@throw [OFInvalidArgumentException exception];

		return component;
	}

866
867
868
869
870
871
872
873

874
875
876
877
878
879
880
865
866
867
868
869
870
871

872
873
874
875
876
877
878
879







-
+







{
	size_t count = self.count;
	__block id current;

	if (count == 0)
		return nil;
	if (count == 1)
		return [[[self firstObject] retain] autorelease];
		return [[[self objectAtIndex: 0] retain] autorelease];

	[self enumerateObjectsUsingBlock: ^ (id object, size_t idx,
	    bool *stop) {
		id new;

		if (idx == 0) {
			current = [object retain];