View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002234 | SOGo | SOPE | public | 2013-02-06 15:23 | 2013-10-19 11:39 |
| Reporter | buzzdee | Assigned To | ludovic | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 2.0.4b | ||||
| Target Version | maybe sometimes | Fixed in Version | 2.1.0 | ||
| Summary | 0002234: SOPE fails to compile with clang 3.2 | ||||
| Description | with clang 3.2, when linking, it leads to unresolved symbols regarding sel_eq, sel_get_name and friends. Attached patch gets rid of: exchanging them with their "modern" counterparts. | ||||
| Additional Information | Maybe someone could try the patches against libobjc from gcc. | ||||
| Tags | No tags attached. | ||||
|
2013-02-06 15:23
|
sope-fix-selectors.diff (45,406 bytes)
$OpenBSD$
--- sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m.orig Wed Feb 6 09:21:40 2013
+++ sope-appserver/NGObjWeb/Associations/WOKeyPathAssociation.m Wed Feb 6 09:22:42 2013
@@ -30,7 +30,6 @@
#define object_is_instance(XXX) (XXX != nil)
#define class_get_class_method class_getClassMethod
#define class_get_instance_method class_getInstanceMethod
-#define sel_get_uid sel_getUid
#define method_get_imp method_getImplementation
typedef struct objc_method *Method_t;
@@ -48,7 +47,6 @@ typedef struct objc_method *Method_t;
#define method_get_imp method_getImplementation
# define METHOD_NULL NULL
-# define sel_get_uid sel_getUid
# define class_get_class_method class_getClassMethod
# define class_get_instance_method class_getInstanceMethod
@@ -424,14 +422,14 @@ static inline void _fillInfo(WOKeyPathAssociation *sel
[[StringClass alloc] initWithCString:(char *)info->ckey];
}
else {
- info->extra.sel.get = sel_get_uid((char *)info->ckey);
+ info->extra.sel.get = sel_getUid((char *)info->ckey);
method = class_get_instance_method(clazz, info->extra.sel.get);
if (method != METHOD_NULL)
info->type = WOKeyType_method;
}
}
else {
- info->extra.sel.get = sel_get_uid((char *)info->ckey);
+ info->extra.sel.get = sel_getUid((char *)info->ckey);
method = class_get_instance_method(clazz, info->extra.sel.get);
if (method != METHOD_NULL)
@@ -455,7 +453,7 @@ static inline void _fillInfo(WOKeyPathAssociation *sel
[[StringClass alloc] initWithCString:(char *)info->ckey];
}
else {
- info->extra.sel.get = sel_get_uid((char *)info->ckey);
+ info->extra.sel.get = sel_getUid((char *)info->ckey);
method =
class_get_class_method(*(Class *)object, info->extra.sel.get);
if (method != METHOD_NULL) {
@@ -788,7 +786,7 @@ static inline SEL _getSetSel(register const unsigned c
register unsigned _len) {
unsigned char buf[259];
_getSetSelName(buf, _key, _len);
- return sel_get_uid((char *)buf);
+ return sel_getUid((char *)buf);
}
static BOOL _setValue(WOKeyPathAssociation *self, id _value, id root) {
$OpenBSD$
--- sope-appserver/NGObjWeb/common.h.orig Wed Feb 6 09:06:40 2013
+++ sope-appserver/NGObjWeb/common.h Wed Feb 6 09:12:21 2013
@@ -51,13 +51,6 @@
#include <NGExtensions/NGLogging.h>
#include <NGStreams/NGStreams.h>
-#if NeXT_RUNTIME || APPLE_RUNTIME || (__GNU_LIBOBJC__ >= 20100911)
-# ifndef sel_get_name
-# define sel_get_name(__XXX__) sel_getName(__XXX__)
-# define sel_get_any_uid(__XXX__) sel_getUid(__XXX__)
-# endif
-#endif
-
#define IS_DEPRECATED \
[self warnWithFormat:@"used deprecated method: %s:%i.", \
__PRETTY_FUNCTION__, __LINE__];
$OpenBSD$
--- sope-appserver/NGObjWeb/DynamicElements/WOComponentContent.m.orig Wed Feb 6 09:04:15 2013
+++ sope-appserver/NGObjWeb/DynamicElements/WOComponentContent.m Wed Feb 6 09:04:40 2013
@@ -75,11 +75,7 @@ static Class NSDateClass = Nil;
printf(" ");
printf("content: [%s %s]: %0.3fs\n",
[[component name] cString],
-#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
sel_getName(_cmd),
-#else
- sel_get_name(_cmd),
-#endif
diff);
}
@@ -115,11 +111,7 @@ static Class NSDateClass = Nil;
printf(" ");
printf("content: [%s %s]: %0.3fs\n",
[[component name] cString],
-#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
sel_getName(_cmd),
-#else
- sel_get_name(_cmd),
-#endif
diff);
}
@@ -165,11 +157,7 @@ static Class NSDateClass = Nil;
printf(" ");
printf("content: [%s %s]: %0.3fs\n",
[[component name] cString],
-#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
sel_getName(_cmd),
-#else
- sel_get_name(_cmd),
-#endif
diff);
}
$OpenBSD$
--- sope-appserver/NGObjWeb/DynamicElements/WOComponentReference.m.orig Wed Feb 6 09:03:43 2013
+++ sope-appserver/NGObjWeb/DynamicElements/WOComponentReference.m Wed Feb 6 09:04:08 2013
@@ -172,11 +172,7 @@ _updateComponent(WOComponentReference *self, WOContext
printf(" ");
printf("[%s %s]: %0.3fs\n",
[[child name] cString],
-#if APPLE_RUNTIME || NeXT_RUNTIME || (__GNU_LIBOBJC__ >= 20100911)
sel_getName(_cmd),
-#else
- sel_get_name(_cmd),
-#endif
diff);
}
}
$OpenBSD$
--- sope-appserver/NGObjWeb/NSObject+WO.m.orig Mon Feb 4 21:13:18 2013
+++ sope-appserver/NGObjWeb/NSObject+WO.m Wed Feb 6 11:22:39 2013
@@ -42,10 +42,6 @@
#endif /* NeXT_Foundation_LIBRARY */
-#if GNUSTEP_BASE_LIBRARY
-extern BOOL __objc_responds_to(id, SEL);
-#endif
-
@implementation NSObject(NGObjWebKVC)
- (BOOL)kvcIsPreferredInKeyPath {
@@ -131,11 +127,7 @@ static inline SEL _getSetSel(register const unsigned c
register unsigned _len) {
char buf[259];
_getSetSelName((unsigned char *)buf, _key, _len);
-#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
return sel_getUid(buf);
-#else
- return sel_get_uid(buf);
-#endif
}
typedef union {
@@ -267,15 +259,11 @@ IMP WOGetKVCGetMethod(id object, NSString *_key) {
keyLen = [_key cStringLength];
buf = malloc(keyLen + 1);
[_key getCString:buf]; buf[keyLen] = '\0';
- getSel = sel_get_uid(buf);
+ getSel = sel_getUid(buf);
free(buf);
if (getSel == NULL) // no such selector
return NULL;
-#if GNUSTEP_BASE_LIBRARY
- if (!__objc_responds_to(object, getSel))
- return NULL;
-#endif
return [object methodForSelector:getSel];
}
@@ -308,19 +296,11 @@ id WOGetKVCValueUsingMethod(id object, NSString *_key)
char *buf;
buf = malloc(keyLen + 1);
[_key getCString:buf];
-#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
getSel = sel_getUid(buf);
-#else
- getSel = sel_get_uid(buf);
-#endif
if (getSel == NULL) // no such selector
return nil;
free(buf); buf = NULL;
}
-#if GNUSTEP_BASE_LIBRARY
- if (!__objc_responds_to(object, getSel))
- return nil;
-#endif
gm.method = [object methodForSelector:getSel];
if (gm.method == NULL) // no such method
$OpenBSD$
--- sope-appserver/NGObjWeb/SoObjects/SoSelectorInvocation.m.orig Mon Feb 4 21:13:18 2013
+++ sope-appserver/NGObjWeb/SoObjects/SoSelectorInvocation.m Wed Feb 6 09:17:19 2013
@@ -28,11 +28,6 @@
#include <DOM/EDOM.h>
#include "common.h"
-#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
-# define sel_get_any_uid sel_getUid
-# define sel_register_name sel_registerName
-#endif
-
@implementation SoSelectorInvocation
static BOOL debugOn = NO;
@@ -109,8 +104,8 @@ static BOOL debugOn = NO;
/* this can happen if the product bundle is not yet loaded ... */
#if GNU_RUNTIME
const char *sname = [_name cString];
- if ((self->sel = sel_get_any_uid(sname)) == NULL)
- self->sel = sel_register_name(sname);
+ if ((self->sel = sel_getUid(sname)) == NULL)
+ self->sel = sel_registerName(sname);
#else
/* TODO: not tested against this ObjC runtime */
[self warnWithFormat:@"(%s): not tested against this ObjC runtime, "
$OpenBSD$
--- sope-appserver/NGObjWeb/WOChildComponentReference.m.orig Wed Feb 6 09:05:04 2013
+++ sope-appserver/NGObjWeb/WOChildComponentReference.m Wed Feb 6 09:05:32 2013
@@ -110,7 +110,7 @@ static Class NSDateClass = Nil;
for (i = [_ctx componentStackCount]; i >= 0; i--)
printf(" ");
printf("[%s %s]: %0.3fs\n",
- [[child name] cString], sel_get_name(_cmd), diff);
+ [[child name] cString], sel_getName(_cmd), diff);
}
}
@@ -147,7 +147,7 @@ static Class NSDateClass = Nil;
for (i = [_ctx componentStackCount]; i >= 0; i--)
printf(" ");
printf("[%s %s]: %0.3fs\n",
- [[child name] cString], sel_get_name(_cmd), diff);
+ [[child name] cString], sel_getName(_cmd), diff);
}
return result;
@@ -188,7 +188,7 @@ static Class NSDateClass = Nil;
for (i = [_ctx componentStackCount]; i >= 0; i--)
printf(" ");
printf("[%s %s]: %0.3fs\n",
- [[child name] cString], sel_get_name(_cmd), diff);
+ [[child name] cString], sel_getName(_cmd), diff);
}
}
$OpenBSD$
--- sope-appserver/NGObjWeb/WORunLoop.m.orig Wed Feb 6 10:18:37 2013
+++ sope-appserver/NGObjWeb/WORunLoop.m Wed Feb 6 10:18:52 2013
@@ -255,7 +255,7 @@ static char *activityDesc[8] = {
{
return [target isEqual:anotherHolder->target]
&& [argument isEqual:anotherHolder->argument]
- && SEL_EQ(action, anotherHolder->action);
+ && sel_isEqual(action, anotherHolder->action);
}
- (void)execute
$OpenBSD$
--- sope-appserver/NGObjWeb/WOSession.m.orig Wed Feb 6 09:05:44 2013
+++ sope-appserver/NGObjWeb/WOSession.m Wed Feb 6 09:06:29 2013
@@ -33,10 +33,6 @@
#include "common.h"
#include <string.h>
-#if !defined(sel_get_name) && ((defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__))
-# define sel_get_name sel_getName
-#endif
-
#if APPLE_FOUNDATION_LIBRARY || NeXT_Foundation_LIBRARY
@interface NSObject(Miss)
- (id)notImplemented:(SEL)cmd;
@@ -417,7 +413,7 @@ static Class NSDateClass = Nil;
diff = [[NSDateClass date] timeIntervalSince1970] - st;
printf("prof[%s %s]: %0.3fs\n",
- [[(WOComponent *)page name] cString], sel_get_name(_cmd), diff);
+ [[(WOComponent *)page name] cString], sel_getName(_cmd), diff);
}
WOContext_leaveComponent(_ctx, page);
@@ -459,7 +455,7 @@ static Class NSDateClass = Nil;
diff = [[NSDateClass date] timeIntervalSince1970] - st;
printf("prof[%s %s]: %0.3fs\n",
- [[(WOComponent *)page name] cString], sel_get_name(_cmd), diff);
+ [[(WOComponent *)page name] cString], sel_getName(_cmd), diff);
}
WOContext_leaveComponent(_ctx, page);
@@ -506,8 +502,8 @@ static Class NSDateClass = Nil;
diff = [[NSDateClass date] timeIntervalSince1970] - st;
printf("prof[%s %s]: %0.3fs\n",
- [[page name] cString], sel_get_name(_cmd), diff);
- //[page name], sel_get_name(_cmd), diff);
+ [[page name] cString], sel_getName(_cmd), diff);
+ //[page name], sel_getName(_cmd), diff);
}
WOContext_leaveComponent(_ctx, page);
@@ -554,7 +550,7 @@ static Class NSDateClass = Nil;
diff = [[NSDateClass date] timeIntervalSince1970] - st;
printf("prof[%s %s]: %0.3fs\n",
- [[page name] cString], sel_get_name(_cmd), diff);
+ [[page name] cString], sel_getName(_cmd), diff);
}
WOContext_leaveComponent(_ctx, page);
$OpenBSD$
--- sope-core/EOControl/common.h.orig Wed Feb 6 10:10:14 2013
+++ sope-core/EOControl/common.h Wed Feb 6 10:10:54 2013
@@ -34,15 +34,6 @@
# define objc_malloc(__size__) malloc(__size__)
# define objc_calloc(__cnt__, __size__) calloc(__cnt__, __size__)
# define objc_realloc(__ptr__, __size__) realloc(__ptr__, __size__)
-# ifndef sel_eq
-# define sel_eq(sela,selb) (sela==selb?YES:NO)
-# endif
-#endif
-
-#if __GNU_LIBOBJC__ >= 20100911
-# ifndef sel_eq
-# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__)
-# endif
#endif
#ifndef ASSIGN
$OpenBSD$
--- sope-core/EOControl/EOKeyComparisonQualifier.m.orig Wed Feb 6 09:48:50 2013
+++ sope-core/EOControl/EOKeyComparisonQualifier.m Wed Feb 6 09:49:03 2013
@@ -200,7 +200,7 @@ static EONull *null = nil;
return NO;
if (![self->rightKey isEqual:[(EOKeyComparisonQualifier *)_qual rightKey]])
return NO;
- if (sel_eq(self->operator, [(EOKeyComparisonQualifier *)_qual selector]))
+ if (sel_isEqual(self->operator, [(EOKeyComparisonQualifier *)_qual selector]))
return YES;
return NO;
}
$OpenBSD$
--- sope-core/EOControl/EOKeyValueCoding.m.orig Wed Feb 6 09:13:20 2013
+++ sope-core/EOControl/EOKeyValueCoding.m Wed Feb 6 09:14:57 2013
@@ -24,17 +24,9 @@
#include "common.h"
#if GNU_RUNTIME
-
-#if __GNU_LIBOBJC__ >= 20100911
-# define sel_get_any_uid sel_getUid
# include <objc/runtime.h>
-#else
-# include <objc/encoding.h>
-# include <objc/objc-api.h>
#endif
-#endif
-
static EONull *null = nil;
#if LIB_FOUNDATION_LIBRARY
@@ -152,7 +144,7 @@ static GetKeyValueBinding* newGetBinding(NSString* key
cbuf = malloc(clen + 1);
[key getCString:cbuf]; cbuf[clen] = '\0';
ckey = cbuf;
- sel = sel_get_any_uid(ckey);
+ sel = sel_getUid(ckey);
if (sel && (mth = class_get_instance_method(class, sel)) &&
method_get_number_of_arguments(mth) == 2) {
@@ -326,7 +318,7 @@ static SetKeyValueBinding* newSetBinding(NSString* key
Strcat(sname, ckey);
Strcat(sname, ":");
sname[3] = islower((int)sname[3]) ? toupper((int)sname[3]) : sname[3];
- sel = sel_get_any_uid(sname);
+ sel = sel_getUid(sname);
if (sel && (mth = class_get_instance_method(class, sel)) &&
method_get_number_of_arguments(mth) == 3 &&
@@ -966,7 +958,7 @@ static inline BOOL setValue(NSString* key, id instance
strcpy(bufPtr, "ForKey:");
if (kbuf) free(kbuf);
- sel = sel_get_any_uid(buf);
+ sel = sel_getUid(buf);
if (buf) free(buf);
return sel != NULL ? [self performSelector:sel withObject:_key] : nil;
@@ -1531,11 +1523,7 @@ static void doubleIvarSetFunc(void* info1, void* info2
strcpy(bufPtr, "ForKey:");
if (kbuf) free(kbuf);
-#if NeXT_RUNTIME
sel = sel_getUid(buf);
-#else
- sel = sel_get_any_uid(buf);
-#endif
if (buf) free(buf);
return sel != NULL ? [self performSelector:sel withObject:_key] : nil;
$OpenBSD$
--- sope-core/EOControl/EOKeyValueQualifier.m.orig Wed Feb 6 09:53:18 2013
+++ sope-core/EOControl/EOKeyValueQualifier.m Wed Feb 6 09:53:32 2013
@@ -227,7 +227,7 @@ static EONull *null = nil;
return NO;
if (![self->value isEqual:[(EOKeyValueQualifier *)_qual value]])
return NO;
- if (sel_eq(self->operator, [(EOKeyValueQualifier *)_qual selector]))
+ if (sel_isEqual(self->operator, [(EOKeyValueQualifier *)_qual selector]))
return YES;
return NO;
}
$OpenBSD$
--- sope-core/EOControl/EOSortOrdering.m.orig Wed Feb 6 10:12:03 2013
+++ sope-core/EOControl/EOSortOrdering.m Wed Feb 6 10:19:20 2013
@@ -28,14 +28,6 @@
# include <objc/objc.h>
#endif
-#ifndef SEL_EQ
-# if GNU_RUNTIME
-# define SEL_EQ(sel1,sel2) sel_eq(sel1,sel2)
-# else
-# define SEL_EQ(sel1,sel2) (sel1 == sel2)
-# endif
-#endif
-
@implementation EOSortOrdering
/*"
This class specifies a sort-ordering as used with
@@ -83,7 +75,7 @@
/* equality */
- (BOOL)isEqualToSortOrdering:(EOSortOrdering *)_sortOrdering {
- if (!SEL_EQ([_sortOrdering selector], [self selector]))
+ if (!sel_isEqual([_sortOrdering selector], [self selector]))
return NO;
if (![[_sortOrdering key] isEqualToString:[self key]])
return NO;
$OpenBSD$
--- sope-core/EOControl/EOValidation.m.orig Wed Feb 6 09:12:30 2013
+++ sope-core/EOControl/EOValidation.m Wed Feb 6 09:13:13 2013
@@ -24,10 +24,6 @@
#include "EONull.h"
#include "common.h"
-#if __GNU_LIBOBJC__ >= 20100911
-# define sel_get_any_uid sel_getUid
-#endif
-
#if !LIB_FOUNDATION_LIBRARY
@interface NSException(UsedSetUI) /* does Jaguar allow -setUserInfo: ? */
@@ -150,11 +146,7 @@
strcat(buf, ":");
buf[8] = toupper(buf[8]);
-#if NeXT_RUNTIME
sel = sel_getUid(buf);
-#else
- sel = sel_get_any_uid(buf);
-#endif
if (sel) {
if ([self respondsToSelector:sel]) {
if (buf) free(buf);
$OpenBSD$
--- sope-core/EOCoreData/common.h.orig Wed Feb 6 10:11:05 2013
+++ sope-core/EOCoreData/common.h Wed Feb 6 10:11:31 2013
@@ -56,12 +56,4 @@
# include <objc/objc.h>
#endif
-#ifndef SEL_EQ
-# if GNU_RUNTIME
-# define SEL_EQ(sel1,sel2) sel_eq(sel1,sel2)
-# else
-# define SEL_EQ(sel1,sel2) (sel1 == sel2)
-# endif
-#endif
-
#endif /* __EOCoreData_COMMON_H__ */
$OpenBSD$
--- sope-core/EOCoreData/EOKeyComparisonQualifier+CoreData.m.orig Wed Feb 6 10:21:29 2013
+++ sope-core/EOCoreData/EOKeyComparisonQualifier+CoreData.m Wed Feb 6 10:38:50 2013
@@ -66,7 +66,7 @@
}
- (unsigned)options {
- return (SEL_EQ([self selector], EOQualifierOperatorCaseInsensitiveLike))
+ return (sel_isEqual([self selector], EOQualifierOperatorCaseInsensitiveLike))
? NSCaseInsensitivePredicateOption : 0;
}
$OpenBSD$
--- sope-core/EOCoreData/EOKeyValueQualifier+CoreData.m.orig Wed Feb 6 10:39:27 2013
+++ sope-core/EOCoreData/EOKeyValueQualifier+CoreData.m Wed Feb 6 10:39:38 2013
@@ -71,7 +71,7 @@
}
- (unsigned)options {
- return (SEL_EQ([self selector], EOQualifierOperatorCaseInsensitiveLike))
+ return (sel_isEqual([self selector], EOQualifierOperatorCaseInsensitiveLike))
? NSCaseInsensitivePredicateOption : 0;
}
$OpenBSD$
--- sope-core/EOCoreData/EOQualifier+CoreData.m.orig Wed Feb 6 10:38:59 2013
+++ sope-core/EOCoreData/EOQualifier+CoreData.m Wed Feb 6 10:39:19 2013
@@ -52,26 +52,26 @@
@implementation EOQualifier(CoreData)
+ (NSPredicateOperatorType)predicateOperatorTypeForEOSelector:(SEL)_sel {
- if (SEL_EQ(_sel, EOQualifierOperatorEqual))
+ if (sel_isEqual(_sel, EOQualifierOperatorEqual))
return NSEqualToPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorNotEqual))
+ if (sel_isEqual(_sel, EOQualifierOperatorNotEqual))
return NSNotEqualToPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorLessThan))
+ if (sel_isEqual(_sel, EOQualifierOperatorLessThan))
return NSLessThanPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorGreaterThan))
+ if (sel_isEqual(_sel, EOQualifierOperatorGreaterThan))
return NSGreaterThanPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorLessThanOrEqualTo))
+ if (sel_isEqual(_sel, EOQualifierOperatorLessThanOrEqualTo))
return NSLessThanOrEqualToPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorGreaterThanOrEqualTo))
+ if (sel_isEqual(_sel, EOQualifierOperatorGreaterThanOrEqualTo))
return NSGreaterThanOrEqualToPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorContains))
+ if (sel_isEqual(_sel, EOQualifierOperatorContains))
return NSInPredicateOperatorType;
- if (SEL_EQ(_sel, EOQualifierOperatorLike) ||
- SEL_EQ(_sel, EOQualifierOperatorCaseInsensitiveLike))
+ if (sel_isEqual(_sel, EOQualifierOperatorLike) ||
+ sel_isEqual(_sel, EOQualifierOperatorCaseInsensitiveLike))
return NSLikePredicateOperatorType;
return NSCustomSelectorPredicateOperatorType;
@@ -164,7 +164,7 @@
pmod = NSDirectPredicateModifier;
popts = 0;
- if (SEL_EQ(_selector, EOQualifierOperatorCaseInsensitiveLike))
+ if (sel_isEqual(_selector, EOQualifierOperatorCaseInsensitiveLike))
popts = NSCaseInsensitivePredicateOption;
return [NSComparisonPredicate predicateWithLeftExpression:_lhs
$OpenBSD$
--- sope-core/EOCoreData/EOSortOrdering+CoreData.m.orig Wed Feb 6 10:19:29 2013
+++ sope-core/EOCoreData/EOSortOrdering+CoreData.m Wed Feb 6 10:20:23 2013
@@ -33,12 +33,12 @@
}
sel = [_descriptor selector];
- if (SEL_EQ(sel, @selector(compare:))) {
+ if (sel_isEqual(sel, @selector(compare:))) {
sel = [_descriptor ascending]
? EOCompareAscending
: EOCompareDescending;
}
- else if (SEL_EQ(sel, @selector(caseInsensitiveCompare:))) {
+ else if (sel_isEqual(sel, @selector(caseInsensitiveCompare:))) {
sel = [_descriptor ascending]
? EOCompareCaseInsensitiveAscending
: EOCompareCaseInsensitiveDescending;
@@ -54,18 +54,18 @@
}
- (BOOL)isAscendingEOSortSelector:(SEL)_sel {
- if (SEL_EQ(_sel, EOCompareDescending)) return NO;
- if (SEL_EQ(_sel, EOCompareCaseInsensitiveAscending)) return NO;
+ if (sel_isEqual(_sel, EOCompareDescending)) return NO;
+ if (sel_isEqual(_sel, EOCompareCaseInsensitiveAscending)) return NO;
return YES;
}
- (SEL)cdSortSelectorFromEOSortSelector:(SEL)_sel {
- if (SEL_EQ(_sel, EOCompareAscending)) return @selector(compare:);
- if (SEL_EQ(_sel, EOCompareDescending)) return @selector(compare:);
+ if (sel_isEqual(_sel, EOCompareAscending)) return @selector(compare:);
+ if (sel_isEqual(_sel, EOCompareDescending)) return @selector(compare:);
- if (SEL_EQ(_sel, EOCompareCaseInsensitiveAscending))
+ if (sel_isEqual(_sel, EOCompareCaseInsensitiveAscending))
return @selector(caseInsensitiveCompare:);
- if (SEL_EQ(_sel, EOCompareCaseInsensitiveDescending))
+ if (sel_isEqual(_sel, EOCompareCaseInsensitiveDescending))
return @selector(caseInsensitiveCompare:);
return _sel;
$OpenBSD$
--- sope-core/NGExtensions/EOExt.subproj/EOQualifier+CtxEval.m.orig Wed Feb 6 09:08:04 2013
+++ sope-core/NGExtensions/EOExt.subproj/EOQualifier+CtxEval.m Wed Feb 6 09:09:49 2013
@@ -24,26 +24,12 @@
#import <EOControl/EONull.h>
#include "common.h"
-#if LIB_FOUNDATION_LIBRARY
-# import <objc/objc-api.h>
-# import <objc/objc.h>
-# import <extensions/objc-runtime.h>
-#elif GNUSTEP_BASE_LIBRARY
-#if __GNU_LIBOBJC__ >= 20100911
-# define sel_get_name sel_getName
# import <objc/runtime.h>
-#else
-# import <objc/objc-api.h>
-#endif
-#else
-# import <objc/objc.h>
-# define sel_get_name sel_getName
-#endif
static inline int countSelArgs(SEL _sel) {
register const char *selName;
- if ((selName = sel_get_name(_sel))) {
+ if ((selName = sel_getName(_sel))) {
register int count;
for (count = 0; *selName; selName++) {
$OpenBSD$
--- sope-core/NGStreams/NGStreamCoder.m.orig Wed Feb 6 09:07:41 2013
+++ sope-core/NGStreams/NGStreamCoder.m Wed Feb 6 09:15:23 2013
@@ -587,7 +587,7 @@ FINAL void _readObjC(NGStreamCoder *self, void *_value
case _C_SEL:
_writeTag(self, _C_SEL);
- _writeCString(self, (*(SEL *)_value) ? sel_get_name(*(SEL *)_value) : NULL);
+ _writeCString(self, (*(SEL *)_value) ? sel_getName(*(SEL *)_value) : NULL);
break;
case _C_PTR:
@@ -899,7 +899,7 @@ FINAL void _readObjC(NGStreamCoder *self, void *_value
NSAssert(*_type == tag, @"invalid type ..");
_readObjC(self, &name, @encode(char *));
- *(SEL *)_value = name ? sel_get_any_uid(name) : NULL;
+ *(SEL *)_value = name ? sel_getUid(name) : NULL;
NGFree(name); name = NULL;
}
$OpenBSD$
--- sope-gdl1/GDLAccess/common.h.orig Wed Feb 6 10:13:51 2013
+++ sope-gdl1/GDLAccess/common.h Wed Feb 6 10:18:18 2013
@@ -48,26 +48,8 @@
#import <Foundation/NSObjCRuntime.h>
-#if NeXT_RUNTIME || APPLE_RUNTIME
-# define sel_eq(sela,selb) (sela==selb?YES:NO)
-# ifndef SEL_EQ
-# define SEL_EQ(__A__,__B__) (__A__==__B__?YES:NO)
-# endif
-#endif
-
-#if __GNU_LIBOBJC__ >= 20100911
-# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__)
-# ifndef SEL_EQ
-# define SEL_EQ(__A__,__B__) sel_isEqual(__A__,__B__)
-# endif
-#endif
-
-#if LIB_FOUNDATION_LIBRARY
-# import <extensions/objc-runtime.h>
-#else
# include <NGExtensions/NGObjectMacros.h>
# include <NGExtensions/NSString+Ext.h>
-#endif
// ******************** common functions ********************
@@ -189,16 +171,12 @@ static inline long Atol(const char *str)
_a < _b ? _a : _b; })
#endif
-#if !LIB_FOUNDATION_LIBRARY
#ifndef CREATE_AUTORELEASE_POOL
#define CREATE_AUTORELEASE_POOL(pool) \
id pool = [[NSAutoreleasePool alloc] init]
#endif
-#endif /* ! LIB_FOUNDATION_LIBRARY */
-
-
#if !LIB_FOUNDATION_LIBRARY
static inline char *Ltoa(long nr, char *str, int base)
@@ -235,24 +213,9 @@ static inline char *Ltoa(long nr, char *str, int base)
}
#endif
-#if !LIB_FOUNDATION_LIBRARY
-
@interface NSObject(FoundationExtGDLAccess)
- (void)subclassResponsibility:(SEL)sel;
- (void)notImplemented:(SEL)sel;
@end
-
-#endif
-
-#if !GNU_RUNTIME
-# ifndef SEL_EQ
-# define SEL_EQ(__A__,__B__) (__A__==__B__ ? YES : NO)
-# endif
-#else
-# ifndef SEL_EQ
-# include <objc/objc.h>
-# define SEL_EQ(__A__,__B__) sel_eq(__A__,__B__)
-# endif
-#endif
#endif /* __common_h__ */
$OpenBSD$
--- sope-gdl1/GDLAccess/EOAdaptorDataSource.m.orig Wed Feb 6 10:20:59 2013
+++ sope-gdl1/GDLAccess/EOAdaptorDataSource.m Wed Feb 6 10:21:17 2013
@@ -1023,15 +1023,15 @@ static NSNotificationCenter *getNC(void ) {
[orderByExpr appendString:@", "];
if ((selector = [sortOrdering selector])) {
- if (SEL_EQ(selector, EOCompareAscending))
+ if (sel_isEqual(selector, EOCompareAscending))
order = 1;
- else if (SEL_EQ(selector, EOCompareDescending))
+ else if (sel_isEqual(selector, EOCompareDescending))
order = 2;
- else if (SEL_EQ(selector, EOCompareCaseInsensitiveAscending)) {
+ else if (sel_isEqual(selector, EOCompareCaseInsensitiveAscending)) {
order = 1;
inSensitive = YES;
}
- else if (SEL_EQ(selector, EOCompareCaseInsensitiveDescending)) {
+ else if (sel_isEqual(selector, EOCompareCaseInsensitiveDescending)) {
order = 2;
inSensitive = YES;
}
@@ -1359,38 +1359,38 @@ static NSNotificationCenter *getNC(void ) {
sql = nil;
- if (SEL_EQ(EOQualifierOperatorEqual, self->operator)) {
+ if (sel_isEqual(EOQualifierOperatorEqual, self->operator)) {
if ([self->value isNotNull])
sql = [NSString stringWithFormat:@"%@ = %@", sqlKey, sqlValue];
else
sql = [NSString stringWithFormat:@"%@ IS NULL", sqlKey];
}
- else if (SEL_EQ(EOQualifierOperatorNotEqual, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorNotEqual, self->operator)) {
if ([self->value isNotNull])
sql = [NSString stringWithFormat:@"NOT (%@ = %@)", sqlKey, sqlValue];
else
sql = [NSString stringWithFormat:@"%@ IS NOT NULL", sqlKey];
}
- else if (SEL_EQ(EOQualifierOperatorLessThan, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorLessThan, self->operator)) {
sql = [NSString stringWithFormat:@"%@ < %@", sqlKey, sqlValue];
}
- else if (SEL_EQ(EOQualifierOperatorLessThanOrEqualTo, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorLessThanOrEqualTo, self->operator)) {
sql = [NSString stringWithFormat:@"%@ <= %@", sqlKey, sqlValue];
}
- else if (SEL_EQ(EOQualifierOperatorGreaterThan, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorGreaterThan, self->operator)) {
sql = [NSString stringWithFormat:@"%@ > %@", sqlKey, sqlValue];
}
- else if (SEL_EQ(EOQualifierOperatorGreaterThanOrEqualTo, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorGreaterThanOrEqualTo, self->operator)) {
sql = [NSString stringWithFormat:@"%@ >= %@", sqlKey, sqlValue];
}
- else if (SEL_EQ(EOQualifierOperatorLike, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorLike, self->operator)) {
sqlValue = [[self->value stringValue]
stringByReplacingString:@"*" withString:@"%"];
sqlValue = [_adaptor formatValue:sqlValue forAttribute:attr];
sql = [NSString stringWithFormat:@"%@ LIKE %@", sqlKey, sqlValue];
}
- else if (SEL_EQ(EOQualifierOperatorCaseInsensitiveLike, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorCaseInsensitiveLike, self->operator)) {
sqlValue = [[self->value stringValue]
stringByReplacingString:@"*" withString:@"%"];
sqlValue = [sqlValue lowercaseString];
@@ -1399,9 +1399,9 @@ static NSNotificationCenter *getNC(void ) {
sql = [NSString stringWithFormat:@"LOWER(%@) LIKE %@", sqlKey, sqlValue];
}
#if 0
- else if (SEL_EQ(EOQualifierOperatorLessThanOrEqualTo, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorLessThanOrEqualTo, self->operator)) {
}
- else if (SEL_EQ(EOQualifierOperatorGreaterThanOrEqualTo, self->operator)) {
+ else if (sel_isEqual(EOQualifierOperatorGreaterThanOrEqualTo, self->operator)) {
}
#endif
else {
$OpenBSD$
--- sope-gdl1/GDLAccess/EOKeyComparisonQualifier+SQL.m.orig Wed Feb 6 10:39:45 2013
+++ sope-gdl1/GDLAccess/EOKeyComparisonQualifier+SQL.m Wed Feb 6 10:40:04 2013
@@ -36,19 +36,19 @@
EOSQLQualifier *q;
NSString *format;
- if (SEL_EQ(self->operator, EOQualifierOperatorEqual))
+ if (sel_isEqual(self->operator, EOQualifierOperatorEqual))
format = @"%A = %A";
- else if (SEL_EQ(self->operator, EOQualifierOperatorNotEqual))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorNotEqual))
format = @"%A <> %A";
- else if (SEL_EQ(self->operator, EOQualifierOperatorLessThan))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorLessThan))
format = @"%A < %A";
- else if (SEL_EQ(self->operator, EOQualifierOperatorGreaterThan))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorGreaterThan))
format = @"%A > %A";
- else if (SEL_EQ(self->operator, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorLessThanOrEqualTo))
format = @"%A <= %A";
- else if (SEL_EQ(self->operator, EOQualifierOperatorGreaterThanOrEqualTo))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorGreaterThanOrEqualTo))
format = @"%A >= %A";
- else if (SEL_EQ(self->operator, EOQualifierOperatorLike))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorLike))
format = @"%A LIKE %A";
else {
format = [NSString stringWithFormat:@"%%A %@ %%A",
$OpenBSD$
--- sope-gdl1/GDLAccess/EOKeyValueQualifier+SQL.m.orig Wed Feb 6 10:20:36 2013
+++ sope-gdl1/GDLAccess/EOKeyValueQualifier+SQL.m Wed Feb 6 10:20:51 2013
@@ -36,19 +36,19 @@
EOSQLQualifier *q;
NSString *format;
- if (SEL_EQ(self->operator, EOQualifierOperatorEqual))
+ if (sel_isEqual(self->operator, EOQualifierOperatorEqual))
format = @"%A = %@";
- else if (SEL_EQ(self->operator, EOQualifierOperatorNotEqual))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorNotEqual))
format = @"%A <> %@";
- else if (SEL_EQ(self->operator, EOQualifierOperatorLessThan))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorLessThan))
format = @"%A < %@";
- else if (SEL_EQ(self->operator, EOQualifierOperatorGreaterThan))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorGreaterThan))
format = @"%A > %@";
- else if (SEL_EQ(self->operator, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorLessThanOrEqualTo))
format = @"%A <= %@";
- else if (SEL_EQ(self->operator, EOQualifierOperatorGreaterThanOrEqualTo))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorGreaterThanOrEqualTo))
format = @"%A >= %@";
- else if (SEL_EQ(self->operator, EOQualifierOperatorLike))
+ else if (sel_isEqual(self->operator, EOQualifierOperatorLike))
format = @"%A LIKE %@";
else {
format = [NSString stringWithFormat:@"%%A %@ %%@",
$OpenBSD$
--- sope-gdl1/GDLAccess/EOSQLExpression.m.orig Wed Feb 6 10:12:42 2013
+++ sope-gdl1/GDLAccess/EOSQLExpression.m Wed Feb 6 10:13:43 2013
@@ -480,20 +480,20 @@ NSString *EOBindVariableValueKey = @"value";
ordering = [order selector];
attribute = [self->entity attributeNamed:[order key]];
- if (sel_eq(ordering, EOCompareCaseInsensitiveAscending) ||
- sel_eq(ordering, EOCompareCaseInsensitiveDescending))
+ if (sel_isEqual(ordering, EOCompareCaseInsensitiveAscending) ||
+ sel_isEqual(ordering, EOCompareCaseInsensitiveDescending))
fmt = @"LOWER(%@)";
else
fmt = @"%@";
[orderBy appendFormat:fmt, [self expressionValueForAttribute:attribute]];
- if (sel_eq(ordering, EOCompareCaseInsensitiveAscending) ||
- sel_eq(ordering, EOCompareAscending)) {
+ if (sel_isEqual(ordering, EOCompareCaseInsensitiveAscending) ||
+ sel_isEqual(ordering, EOCompareAscending)) {
[orderBy appendString:@" ASC"];
}
- else if (sel_eq(ordering, EOCompareCaseInsensitiveDescending) ||
- sel_eq(ordering, EOCompareDescending)) {
+ else if (sel_isEqual(ordering, EOCompareCaseInsensitiveDescending) ||
+ sel_isEqual(ordering, EOCompareDescending)) {
[orderBy appendString:@" DESC"];
}
}
@@ -1153,27 +1153,27 @@ NSString *EOBindVariableValueKey = @"value";
- (NSString *)sqlStringForSelector:(SEL)_selector value:(id)_value {
if ((_value == null) || (_value == nil)) {
- if (sel_eq(_selector, EOQualifierOperatorEqual))
+ if (sel_isEqual(_selector, EOQualifierOperatorEqual))
return @"is";
- else if (sel_eq(_selector, EOQualifierOperatorNotEqual))
+ else if (sel_isEqual(_selector, EOQualifierOperatorNotEqual))
return @"is not";
}
else {
- if (sel_eq(_selector, EOQualifierOperatorEqual))
+ if (sel_isEqual(_selector, EOQualifierOperatorEqual))
return @"=";
- else if (sel_eq(_selector, EOQualifierOperatorNotEqual))
+ else if (sel_isEqual(_selector, EOQualifierOperatorNotEqual))
return @"<>";
}
- if (sel_eq(_selector, EOQualifierOperatorLessThan))
+ if (sel_isEqual(_selector, EOQualifierOperatorLessThan))
return @"<";
- else if (sel_eq(_selector, EOQualifierOperatorGreaterThan))
+ else if (sel_isEqual(_selector, EOQualifierOperatorGreaterThan))
return @">";
- else if (sel_eq(_selector, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(_selector, EOQualifierOperatorLessThanOrEqualTo))
return @"<=";
- else if (sel_eq(_selector, EOQualifierOperatorGreaterThanOrEqualTo))
+ else if (sel_isEqual(_selector, EOQualifierOperatorGreaterThanOrEqualTo))
return @">=";
- else if (sel_eq(_selector, EOQualifierOperatorLike))
+ else if (sel_isEqual(_selector, EOQualifierOperatorLike))
return @"LIKE";
else {
return [NSString stringWithFormat:@"UNKNOWN<%@>",
$OpenBSD$
--- sope-ldap/NGLdap/EOQualifier+LDAP.m.orig Wed Feb 6 09:50:55 2013
+++ sope-ldap/NGLdap/EOQualifier+LDAP.m Wed Feb 6 09:53:04 2013
@@ -22,14 +22,6 @@
#include "EOQualifier+LDAP.h"
#include "common.h"
-#if NeXT_RUNTIME
-#define sel_eq(sel1, sel2) ((sel1)) == ((sel2))
-#endif
-
-#if __GNU_LIBOBJC__ >= 20100911
-# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__)
-#endif
-
@interface EOQualifier(LDAPPrivates)
- (void)addToLDAPFilterString:(NSMutableString *)_s inContext:(id)_ctx;
@@ -123,29 +115,29 @@
sel = [self selector];
- if (sel_eq(sel, EOQualifierOperatorNotEqual))
+ if (sel_isEqual(sel, EOQualifierOperatorNotEqual))
[_s appendString:@"(!"];
[_s appendString:@"("];
[_s appendString:[self key]];
- if (sel_eq(sel, EOQualifierOperatorEqual))
+ if (sel_isEqual(sel, EOQualifierOperatorEqual))
[_s appendString:@"="];
- else if (sel_eq(sel, EOQualifierOperatorNotEqual))
+ else if (sel_isEqual(sel, EOQualifierOperatorNotEqual))
[_s appendString:@"="];
- else if (sel_eq(sel, EOQualifierOperatorLessThan))
+ else if (sel_isEqual(sel, EOQualifierOperatorLessThan))
[_s appendString:@"<"];
- else if (sel_eq(sel, EOQualifierOperatorGreaterThan))
+ else if (sel_isEqual(sel, EOQualifierOperatorGreaterThan))
[_s appendString:@">"];
- else if (sel_eq(sel, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(sel, EOQualifierOperatorLessThanOrEqualTo))
[_s appendString:@"<="];
- else if (sel_eq(sel, EOQualifierOperatorGreaterThanOrEqualTo))
+ else if (sel_isEqual(sel, EOQualifierOperatorGreaterThanOrEqualTo))
[_s appendString:@">="];
- else if (sel_eq(sel, EOQualifierOperatorContains))
+ else if (sel_isEqual(sel, EOQualifierOperatorContains))
[_s appendString:@"=*"];
- else if (sel_eq(sel, EOQualifierOperatorLike))
+ else if (sel_isEqual(sel, EOQualifierOperatorLike))
[_s appendString:@"="];
- else if (sel_eq(sel, EOQualifierOperatorCaseInsensitiveLike))
+ else if (sel_isEqual(sel, EOQualifierOperatorCaseInsensitiveLike))
[_s appendString:@"="];
else {
NSLog(@"UNKNOWN operator: %@", NSStringFromSelector([self selector]));
@@ -155,7 +147,7 @@
[_s appendString:[[self value] description]];
[_s appendString:@")"];
- if (sel_eq(sel, EOQualifierOperatorNotEqual))
+ if (sel_isEqual(sel, EOQualifierOperatorNotEqual))
[_s appendString:@")"];
}
@@ -169,29 +161,29 @@
sel = [self selector];
- if (sel_eq(sel, EOQualifierOperatorNotEqual))
+ if (sel_isEqual(sel, EOQualifierOperatorNotEqual))
[_s appendString:@"(!"];
[_s appendString:@"("];
[_s appendString:[self leftKey]];
- if (sel_eq(sel, EOQualifierOperatorEqual))
+ if (sel_isEqual(sel, EOQualifierOperatorEqual))
[_s appendString:@"="];
- else if (sel_eq(sel, EOQualifierOperatorNotEqual))
+ else if (sel_isEqual(sel, EOQualifierOperatorNotEqual))
[_s appendString:@"="];
- else if (sel_eq(sel, EOQualifierOperatorLessThan))
+ else if (sel_isEqual(sel, EOQualifierOperatorLessThan))
[_s appendString:@"<"];
- else if (sel_eq(sel, EOQualifierOperatorGreaterThan))
+ else if (sel_isEqual(sel, EOQualifierOperatorGreaterThan))
[_s appendString:@">"];
- else if (sel_eq(sel, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(sel, EOQualifierOperatorLessThanOrEqualTo))
[_s appendString:@"<="];
- else if (sel_eq(sel, EOQualifierOperatorGreaterThanOrEqualTo))
+ else if (sel_isEqual(sel, EOQualifierOperatorGreaterThanOrEqualTo))
[_s appendString:@">="];
- else if (sel_eq(sel, EOQualifierOperatorContains))
+ else if (sel_isEqual(sel, EOQualifierOperatorContains))
[_s appendString:@"=*"];
- else if (sel_eq(sel, EOQualifierOperatorLike))
+ else if (sel_isEqual(sel, EOQualifierOperatorLike))
[_s appendString:@"="];
- else if (sel_eq(sel, EOQualifierOperatorCaseInsensitiveLike))
+ else if (sel_isEqual(sel, EOQualifierOperatorCaseInsensitiveLike))
[_s appendString:@"="];
else {
NSLog(@"UNKNOWN operator: %@", NSStringFromSelector([self selector]));
@@ -201,7 +193,7 @@
[_s appendString:[self rightKey]];
[_s appendString:@")"];
- if (sel_eq(sel, EOQualifierOperatorNotEqual))
+ if (sel_isEqual(sel, EOQualifierOperatorNotEqual))
[_s appendString:@")"];
}
$OpenBSD$
--- sope-mime/NGImap4/EOQualifier+IMAPAdditions.m.orig Wed Feb 6 09:49:12 2013
+++ sope-mime/NGImap4/EOQualifier+IMAPAdditions.m Wed Feb 6 09:50:40 2013
@@ -267,10 +267,10 @@ static void _initImap4SearchCategory(void) {
// TODO: add support for <> qualifier? (seen => unseen)
- if (sel_eq(lselector, EOQualifierOperatorEqual)) {
+ if (sel_isEqual(lselector, EOQualifierOperatorEqual)) {
lvalue = [NSArray arrayWithObject:lvalue];
}
- else if (!sel_eq(lselector, EOQualifierOperatorContains)) {
+ else if (!sel_isEqual(lselector, EOQualifierOperatorContains)) {
return [self invalidImap4SearchQualifier:
@"unexpected EOKeyValueQualifier selector"];
}
@@ -299,13 +299,13 @@ static void _initImap4SearchCategory(void) {
andComparisonSelector:(SEL)lselector {
NSString *operatorPrefix, *dateOperator, *imap4Operator;
- if (sel_eq(lselector, EOQualifierOperatorEqual))
+ if (sel_isEqual(lselector, EOQualifierOperatorEqual))
dateOperator = @"ON";
- else if (sel_eq(lselector, EOQualifierOperatorGreaterThan)
- || sel_eq(lselector, EOQualifierOperatorGreaterThanOrEqualTo))
+ else if (sel_isEqual(lselector, EOQualifierOperatorGreaterThan)
+ || sel_isEqual(lselector, EOQualifierOperatorGreaterThanOrEqualTo))
dateOperator = @"SINCE";
- else if (sel_eq(lselector, EOQualifierOperatorLessThan)
- || sel_eq(lselector, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(lselector, EOQualifierOperatorLessThan)
+ || sel_isEqual(lselector, EOQualifierOperatorLessThanOrEqualTo))
dateOperator = @"BEFORE";
else
dateOperator = nil;
@@ -371,7 +371,7 @@ andComparisonSelector:(SEL)lselector {
}
if ([lkey isEqualToString:@"UID"]) {
- if (!sel_eq(lselector, EOQualifierOperatorEqual)) {
+ if (!sel_isEqual(lselector, EOQualifierOperatorEqual)) {
return [self invalidImap4SearchQualifier:@"unexpected qualifier 2"];
}
@@ -381,7 +381,7 @@ andComparisonSelector:(SEL)lselector {
}
if ([lkey isEqualToString:@"MODSEQ"]) {
- if (!sel_eq(lselector, EOQualifierOperatorGreaterThanOrEqualTo)) {
+ if (!sel_isEqual(lselector, EOQualifierOperatorGreaterThanOrEqualTo)) {
return [self invalidImap4SearchQualifier:@"'MODSEQ' can only take 'EOQualifierOperatorGreaterThanOrEqualTo' as qualifier operator"];
}
@@ -391,11 +391,11 @@ andComparisonSelector:(SEL)lselector {
}
if ([lkey isEqualToString:@"SIZE"]) {
- if (sel_eq(lselector, EOQualifierOperatorGreaterThan)
- || sel_eq(lselector, EOQualifierOperatorGreaterThanOrEqualTo))
+ if (sel_isEqual(lselector, EOQualifierOperatorGreaterThan)
+ || sel_isEqual(lselector, EOQualifierOperatorGreaterThanOrEqualTo))
[search appendString:@"LARGER "];
- else if (sel_eq(lselector, EOQualifierOperatorLessThan)
- || sel_eq(lselector, EOQualifierOperatorLessThanOrEqualTo))
+ else if (sel_isEqual(lselector, EOQualifierOperatorLessThan)
+ || sel_isEqual(lselector, EOQualifierOperatorLessThanOrEqualTo))
[search appendString:@"SMALLER "];
else
return [self invalidImap4SearchQualifier:@"unexpected qualifier 3"];
@@ -416,9 +416,9 @@ andComparisonSelector:(SEL)lselector {
Would be: "a caseInsensitiveLike: '*ABC*'"
*/
- if (!sel_eq(lselector, EOQualifierOperatorEqual) &&
- !sel_eq(lselector, EOQualifierOperatorCaseInsensitiveLike) &&
- !sel_eq(lselector, EOQualifierOperatorContains)) {
+ if (!sel_isEqual(lselector, EOQualifierOperatorEqual) &&
+ !sel_isEqual(lselector, EOQualifierOperatorCaseInsensitiveLike) &&
+ !sel_isEqual(lselector, EOQualifierOperatorContains)) {
[self logWithFormat:@"IMAP4 generation: got: %@, allowed: %@",
NSStringFromSelector(lselector),
NSStringFromSelector(EOQualifierOperatorEqual)];
@@ -435,8 +435,8 @@ andComparisonSelector:(SEL)lselector {
}
- if (!sel_eq(lselector, EOQualifierOperatorEqual) &&
- !sel_eq(lselector, EOQualifierOperatorCaseInsensitiveLike))
+ if (!sel_isEqual(lselector, EOQualifierOperatorEqual) &&
+ !sel_isEqual(lselector, EOQualifierOperatorCaseInsensitiveLike))
return [self invalidImap4SearchQualifier:@"unexpected qualifier 5"];
[search appendString:@"HEADER "];
$OpenBSD$
--- sope-mime/NGImap4/EOSortOrdering+IMAPAdditions.m.orig Wed Feb 6 10:15:25 2013
+++ sope-mime/NGImap4/EOSortOrdering+IMAPAdditions.m Wed Feb 6 10:15:40 2013
@@ -68,8 +68,8 @@ static NSArray *AllowedSortKeys = nil;
/* check selector */
sel = [self selector];
- if (sel_eq(sel, EOCompareDescending) ||
- sel_eq(sel, EOCompareCaseInsensitiveDescending)) {
+ if (sel_isEqual(sel, EOCompareDescending) ||
+ sel_isEqual(sel, EOCompareCaseInsensitiveDescending)) {
return [@"REVERSE " stringByAppendingString:lkey];
}
// TODO: check other selectors whether they make sense instead of silent acc.
$OpenBSD$
--- sope-mime/NGImap4/imCommon.h.orig Wed Feb 6 10:15:49 2013
+++ sope-mime/NGImap4/imCommon.h Wed Feb 6 10:16:11 2013
@@ -37,18 +37,6 @@
#include <NGMime/NGMime.h>
#include <NGMail/NGMail.h>
-#if NeXT_RUNTIME || APPLE_RUNTIME
-# ifndef sel_eq
-# define sel_eq(__A__,__B__) (__A__==__B__)
-# endif
-#endif
-
-#if __GNU_LIBOBJC__ >= 20100911
-# ifndef sel_eq
-# define sel_eq(__A__,__B__) sel_isEqual(__A__,__B__)
-# endif
-#endif
-
@interface NSObject(NGImap4_OSXHacks)
- (void)subclassResponsibility:(SEL)_acmd;
- (void)notImplemented:(SEL)_acmd;
$OpenBSD$
--- sope-mime/NGImap4/NGImap4Folder.m.orig Wed Feb 6 10:15:03 2013
+++ sope-mime/NGImap4/NGImap4Folder.m Wed Feb 6 10:15:16 2013
@@ -702,8 +702,8 @@ static int FetchNewUnseenMessagesInSubFoldersOnDemand
}
muids = [[NSMutableArray alloc] initWithCapacity:255];
- if (sel_eq([so selector], EOCompareAscending) ||
- sel_eq([so selector], EOCompareCaseInsensitiveAscending)) {
+ if (sel_isEqual([so selector], EOCompareAscending) ||
+ sel_isEqual([so selector], EOCompareCaseInsensitiveAscending)) {
qual1 = UnseenQual;
if (_unseen)
qual2 = nil;
$OpenBSD$
--- sope-mime/NGMime/common.h.orig Wed Feb 6 10:16:19 2013
+++ sope-mime/NGMime/common.h Wed Feb 6 10:16:38 2013
@@ -36,12 +36,6 @@
#include "NGMimeType.h"
-#if !GNU_RUNTIME
-# ifndef sel_eq
-# define sel_eq(__A__, __B__) (__A__==__B__)
-# endif
-#endif
-
@interface NSObject(OSXHacks)
- (void)subclassResponsibility:(SEL)_acmd;
- (void)notImplemented:(SEL)_acmd;
|
|
I think I was wrong with the title, its not about clang, but libobjc2. Now I upgraded to libobjc2-1.7, and I get the same errors and I am unable to build with gcc, using gcc-4.2.1 that comes with OpenBSD. |
|
|
https://github.com/inverse-inc/sope/commit/d93b3d55d889219a5b0e0b8af9fcf2d2ba3d2967 |
|
|
This patch was seriously breaking SOGo on previous gcc/gnu objc runtime. |
|
|
So this one can be closed now? |
|
|
yes, with the stuff from David, this should be no issue anymore. thanks, |
|
|
Closed due to commit https://github.com/inverse-inc/sope/commit/663174ffee0f3680eda328a6510e48ee8a34d62d |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-02-06 15:23 | buzzdee | New Issue | |
| 2013-02-06 15:23 | buzzdee | File Added: sope-fix-selectors.diff | |
| 2013-06-25 14:57 | ludovic | Target Version | => 2.0.7 |
| 2013-06-29 12:56 | buzzdee | Note Added: 0005724 | |
| 2013-07-18 15:04 | ludovic | Note Added: 0005757 | |
| 2013-07-18 15:04 | ludovic | Status | new => closed |
| 2013-07-18 15:04 | ludovic | Resolution | open => fixed |
| 2013-07-18 15:04 | ludovic | Fixed in Version | => 2.0.7 |
| 2013-07-19 14:16 | ludovic | Note Added: 0005763 | |
| 2013-07-19 14:16 | ludovic | Status | closed => feedback |
| 2013-07-19 14:16 | ludovic | Resolution | fixed => reopened |
| 2013-07-19 14:17 | ludovic | Fixed in Version | 2.0.7 => |
| 2013-07-19 14:17 | ludovic | Target Version | 2.0.7 => maybe sometimes |
| 2013-10-19 11:34 | ludovic | Note Added: 0006144 | |
| 2013-10-19 11:38 | buzzdee | Note Added: 0006145 | |
| 2013-10-19 11:38 | buzzdee | Status | feedback => new |
| 2013-10-19 11:39 | ludovic | Note Added: 0006146 | |
| 2013-10-19 11:39 | ludovic | Status | new => closed |
| 2013-10-19 11:39 | ludovic | Assigned To | => ludovic |
| 2013-10-19 11:39 | ludovic | Resolution | reopened => fixed |
| 2013-10-19 11:39 | ludovic | Fixed in Version | => 2.1.0 |