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
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;
	}

	/* 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];
	pool = [[OFAutoreleasePool alloc] init];

			subList = [OFList list];
	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];
	[subList appendObject: entry];
			else
				[subList prependObject: entry];

	if (iter != NULL)
			[list insertObject: subList
			  beforeListObject: iter];
		[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];
		[list appendObject: subList];

	[pool release];
}

- (id)nextObject
{
	XMPPSRVEntry *ret;