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

#else
# import <objc/runtime.h>
#endif

#ifdef _WIN32
# include <windows.h>
#endif







>







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
	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])
					return YES;

	return NO;
#else
	Class c;

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







|







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] conformsTo: protocol])
					return YES;

	return NO;
#else
	Class c;

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