mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 08:41:03 +00:00
Memory leak and other fixes from Frith-MacDonald.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2775 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
7285b3e9a6
commit
a0993c655f
17 changed files with 11155 additions and 10927 deletions
|
@ -77,6 +77,49 @@
|
|||
memcpy( value, &data, objc_sizeof_type([self objCType]) );
|
||||
}
|
||||
|
||||
- (BOOL) isEqual: (id)other
|
||||
{
|
||||
if ([other isKindOfClass: [self class]]) {
|
||||
return [self isEqualToValue: other];
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL) isEqualToValue: (NSValue*)aValue
|
||||
{
|
||||
typedef _dt = data;
|
||||
if ([aValue isKindOfClass: [self class]]) {
|
||||
_dt val = [aValue TYPE_METHOD];
|
||||
#if TYPE_ORDER == 0
|
||||
return [data isEqual: val];
|
||||
#elif TYPE_ORDER == 1
|
||||
if (data.x == val.x && data.y == val.y)
|
||||
return YES;
|
||||
else
|
||||
return NO;
|
||||
#elif TYPE_ORDER == 2
|
||||
if (data == val)
|
||||
return YES;
|
||||
else
|
||||
return NO;
|
||||
#elif TYPE_ORDER == 3
|
||||
if (data.origin.x == val.origin.x &&
|
||||
data.origin.y == val.origin.y &&
|
||||
data.size.width == val.size.width &&
|
||||
data.size.height == val.size.height)
|
||||
return YES;
|
||||
else
|
||||
return NO;
|
||||
#elif TYPE_ORDER == 4
|
||||
if (data.width == val.width && data.height == val.height)
|
||||
return YES;
|
||||
else
|
||||
return NO;
|
||||
#endif
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (const char *)objCType
|
||||
{
|
||||
typedef _dt = data;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue