git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28771 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2009-10-04 10:05:14 +00:00
parent 3f7f5e5410
commit e93dcbf681
3 changed files with 5 additions and 7 deletions

View file

@ -50,6 +50,7 @@ extern "C" {
BOOL _targetRetained;
BOOL _validReturn;
BOOL _sendToSuper;
void *_retptr;
}
/*

View file

@ -30,7 +30,6 @@
@interface GSFFIInvocation : NSInvocation
{
uint8_t _retbuf[32]; // Store return values of up to 32 bytes here.
void *_retptr; // Store bigger return values in here.
}
@end

View file

@ -329,18 +329,12 @@ _arg_addr(NSInvocation *inv, int index)
if (_cframe)
{
NSZoneFree(NSDefaultMallocZone(), _cframe);
_retval = 0; // Part of _cframe
}
#elif defined(USE_FFCALL)
if (_cframe)
{
NSZoneFree(NSDefaultMallocZone(), _cframe);
}
if (_retptr)
{
NSZoneFree(NSDefaultMallocZone(), _retptr);
}
_retval = 0;
#else
if (_cframe)
{
@ -351,6 +345,10 @@ _arg_addr(NSInvocation *inv, int index)
NSZoneFree(NSDefaultMallocZone(), _retval);
}
#endif
if (_retptr)
{
NSZoneFree(NSDefaultMallocZone(), _retptr);
}
RELEASE(_sig);
[super dealloc];
}