ObjXMPP  Check-in [4a6ca02f0d]

Overview
Comment:Shorten -[XMPPSRVEnumerator XMPP_addEntry:].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4a6ca02f0dfb04c320b1cd3ccd3bb3835008cda6d88998e6dd215843d831027e
User & Date: js on 2011-05-26 16:52:27
Other Links: manifest | tags
Context
2011-05-26
20:23
Split XMPPSRVEnumerator into XMPPSRVLookup and XMPPSRVEnumerator. check-in: 444674bc9d user: js tags: trunk
16:52
Shorten -[XMPPSRVEnumerator XMPP_addEntry:]. check-in: 4a6ca02f0d user: js tags: trunk
16:38
Fix accumulatedWeight and iterate priorities in the right order. check-in: c7b3eed29f user: js tags: trunk
Changes

Modified src/XMPPSRVEnumerator.m from [f3533e40c3] to [0237e9a199].

266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290

291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
		}

		/* We can't have one if the priority is already bigger */
		if ([[iter->object firstObject] priority] > [entry priority])
			break;
	}

	/* No list with the priority -> create one at the correct place */
	for (iter = [list firstListObject]; iter != NULL; iter = iter->next) {
		if ([[iter->object firstObject] priority] > [entry priority]) {
			OFAutoreleasePool *pool;

			pool = [[OFAutoreleasePool alloc] init];

			subList = [OFList list];

			/*
			 * RFC 2782 says those with weight 0 should be at the
			 * beginning of the list.
			 */
			if ([entry weight] > 0)
				[subList appendObject: entry];
			else
				[subList prependObject: entry];


			[list insertObject: subList
			  beforeListObject: iter];

			[pool release];

			return;
		}
	}

	/* There is no list with a bigger priority -> append */
	pool = [[OFAutoreleasePool alloc] init];

	subList = [OFList list];

	/*
	 * RFC 2782 says those with weight 0 should be at the beginning of the
	 * list.
	 */
	if ([entry weight] > 0)
		[subList appendObject: entry];
	else
		[subList prependObject: entry];

	[list appendObject: subList];

	[pool release];
}

- (id)nextObject
{
	XMPPSRVEntry *ret;







<
<
<
<
<
|

|
<
<
<
<
<
<
|
<
<

>
|
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

<
<
|







266
267
268
269
270
271
272





273
274
275






276


277
278
279
280


















281


282
283
284
285
286
287
288
289
		}

		/* We can't have one if the priority is already bigger */
		if ([[iter->object firstObject] priority] > [entry priority])
			break;
	}






	pool = [[OFAutoreleasePool alloc] init];

	subList = [OFList list];






	[subList appendObject: entry];



	if (iter != NULL)
		[list insertObject: subList
		  beforeListObject: iter];


















	else


		[list appendObject: subList];

	[pool release];
}

- (id)nextObject
{
	XMPPSRVEntry *ret;