ObjFW  Check-in [a1769f0105]

Overview
Comment:Fix -[conformsToProtocol:] for the old GNU runtime.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: a1769f0105b47cd4689ad465d0a2a81ce2c5d522f3cedb241dd7d95aac373be8
User & Date: js on 2011-06-13 03:47:52
Other Links: manifest | tags
Context
2011-06-13
14:08
Reduce ObjC method calls in OFFloatVector and OFFloatMatrix. check-in: f4313d070a user: js tags: trunk
03:47
Fix -[conformsToProtocol:] for the old GNU runtime. check-in: a1769f0105 user: js tags: trunk
03:08
Add -[multiplyWithMatrix:] to OFFloatVector. check-in: 5e9d6fea1c user: js tags: trunk
Changes

Modified src/OFObject.m from [c23b582461] to [251a843844].

37
38
39
40
41
42
43

44
45
46
47
48
49
50
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51







+







#import "macros.h"

#if defined(OF_OBJFW_RUNTIME)
# import <objfw-rt.h>
#elif defined(OF_OLD_GNU_RUNTIME)
# import <objc/objc-api.h>
# import <objc/sarray.h>
# import <objc/Protocol.h>
#else
# import <objc/runtime.h>
#endif

#ifdef _WIN32
# include <windows.h>
#endif
260
261
262
263
264
265
266
267

268
269
270
271
272
273
274
261
262
263
264
265
266
267

268
269
270
271
272
273
274
275







-
+







	Class c;
	struct objc_protocol_list *pl;
	size_t i;

	for (c = self; c != Nil; c = class_get_super_class(c))
		for (pl = c->protocols; pl != NULL; pl = pl->next)
			for (i = 0; i < pl->count; i++)
				if ([pl->list[i] conformsToProtocol: protocol])
				if ([pl->list[i] conformsTo: protocol])
					return YES;

	return NO;
#else
	Class c;

	for (c = self; c != Nil; c = class_getSuperclass(c))