ObjFW  Check-in [4cf75724eb]

Overview
Comment:Fix objc_get_type_encoding().
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | runtime
Files: files | file ages | folders
SHA3-256: 4cf75724eb587205321cbcbff259c2a0b6f62ddc802658f033a534363e9962b5
User & Date: js on 2012-03-23 10:46:15
Other Links: branch diff | manifest | tags
Context
2012-03-23
11:08
Fix class_replaceMethod(). check-in: db2fccd01f user: js tags: runtime
10:46
Fix objc_get_type_encoding(). check-in: 4cf75724eb user: js tags: runtime
10:45
Add a cast to make Clang happy. check-in: 2179411c60 user: js tags: runtime
Changes

Modified src/runtime/class.m from [b053085faa] to [53297dd85d].

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
322
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
322







-
+











-
+







{
	struct objc_method_list *ml;
	struct objc_category **cats;
	unsigned int i;

	objc_global_mutex_lock();

	for (ml = cls->isa->methodlist; ml != NULL; ml = ml->next) {
	for (ml = cls->methodlist; ml != NULL; ml = ml->next) {
		for (i = 0; i < ml->count; i++) {
			if (ml->methods[i].sel.uid == sel->uid) {
				const char *ret = ml->methods[i].sel.types;
				objc_global_mutex_unlock();
				return ret;
			}
		}
	}

	if ((cats = objc_categories_for_class(cls)) != NULL) {
		for (; *cats != NULL; cats++) {
			for (ml = (*cats)->class_methods; ml != NULL;
			for (ml = (*cats)->instance_methods; ml != NULL;
			    ml = ml->next) {
				for (i = 0; i < ml->count; i++) {
					if (ml->methods[i].sel.uid ==
					    sel->uid) {
						const char *ret =
						    ml->methods[i].sel.types;
						objc_global_mutex_unlock();