mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
Minor fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@10674 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a0ef32c1ec
commit
7d4e3075ea
3 changed files with 131 additions and 108 deletions
|
@ -37,7 +37,7 @@
|
|||
inv = [NSInvocation invocationWithMethodSignature: sig]; \
|
||||
[inv setSelector: @selector(_SELX)]; \
|
||||
[inv setTarget: self]; \
|
||||
[inv setArgument: (void*)&_ARG1 atIndex: 2]; \
|
||||
[inv setArgument: (void*)&_ARG1 atIndex: 2]; \
|
||||
[self forwardInvocation: inv]; \
|
||||
[inv getReturnValue: &m]
|
||||
|
||||
|
@ -773,6 +773,24 @@ enum
|
|||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Evil hack to prevent recursion - if we are asking a remote
|
||||
* object for a method signature, we can't ask it for the
|
||||
* signature of methodSignatureForSelector:, so we hack in
|
||||
* the signature required manually :-(
|
||||
*/
|
||||
if (sel_eq(aSelector, _cmd))
|
||||
{
|
||||
static NSMethodSignature *sig = nil;
|
||||
|
||||
if (sig == nil)
|
||||
{
|
||||
sig = [NSMethodSignature signatureWithObjCTypes: "@@::"];
|
||||
RETAIN(sig);
|
||||
}
|
||||
return sig;
|
||||
}
|
||||
|
||||
if (_protocol != nil)
|
||||
{
|
||||
const char *types = 0;
|
||||
|
@ -799,28 +817,10 @@ enum
|
|||
id m;
|
||||
const char *types;
|
||||
#ifdef USE_FFCALL
|
||||
/*
|
||||
* Evil hack to prevent recursion - if we are asking a remote
|
||||
* object for a method signature, we can't ask it for the
|
||||
* signature of methodSignatureForSelector:, so we hack in
|
||||
* the signature required manually :-(
|
||||
*/
|
||||
if (sel_eq(aSelector, _cmd))
|
||||
{
|
||||
static NSMethodSignature *sig = nil;
|
||||
id inv;
|
||||
id sig;
|
||||
|
||||
if (sig == nil)
|
||||
{
|
||||
sig = [NSMethodSignature signatureWithObjCTypes: "@@::"];
|
||||
RETAIN(sig);
|
||||
}
|
||||
return sig;
|
||||
}
|
||||
else
|
||||
{
|
||||
id inv, sig;
|
||||
DO_FORWARD_INVOCATION(methodSignatureForSelector:, aSelector);
|
||||
}
|
||||
DO_FORWARD_INVOCATION(methodSignatureForSelector:, aSelector);
|
||||
#else
|
||||
arglist_t args;
|
||||
void *retframe;
|
||||
|
@ -838,7 +838,6 @@ enum
|
|||
m = retframe_id(retframe);
|
||||
#endif
|
||||
types = [m methodType];
|
||||
|
||||
return [NSMethodSignature signatureWithObjCTypes: types];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue