mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Added some error checking.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18473 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
edd7107294
commit
cb36d86fb7
1 changed files with 20 additions and 4 deletions
|
@ -791,22 +791,38 @@ willReplaceObject: (id)anObject
|
|||
{
|
||||
const char *val = [[self decodeObjectForKey: aKey] UTF8String];
|
||||
NSPoint aPoint;
|
||||
sscanf(val, "{%f, %f}", &aPoint.x, &aPoint.y);
|
||||
if (val == 0)
|
||||
aPoint = NSMakePoint(0, 0);
|
||||
else if (sscanf(val, "{%f, %f}", &aPoint.x, &aPoint.y) != 2)
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"[%@ -%@]: bad value - '%s'",
|
||||
NSStringFromClass([self class]), NSStringFromSelector(_cmd), val];
|
||||
return aPoint;
|
||||
}
|
||||
- (NSRect) decodeRectForKey: (NSString*)aKey
|
||||
{
|
||||
const char *val = [[self decodeObjectForKey: aKey] UTF8String];
|
||||
NSRect aRect;
|
||||
sscanf(val, "{{%f, %f}, {%f, %f}}",
|
||||
&aRect.origin.x, &aRect.origin.y, &aRect.size.height, &aRect.size.height);
|
||||
if (val == 0)
|
||||
aRect = NSMakeRect(0, 0, 0, 0);
|
||||
else if (sscanf(val, "{{%f, %f}, {%f, %f}}",
|
||||
&aRect.origin.x, &aRect.origin.y, &aRect.size.height, &aRect.size.height)
|
||||
!= 4)
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"[%@ -%@]: bad value - '%s'",
|
||||
NSStringFromClass([self class]), NSStringFromSelector(_cmd), val];
|
||||
return aRect;
|
||||
}
|
||||
- (NSSize) decodeSizeForKey: (NSString*)aKey
|
||||
{
|
||||
const char *val = [[self decodeObjectForKey: aKey] UTF8String];
|
||||
NSSize aSize;
|
||||
sscanf(val, "{%f, %f}", &aSize.height, &aSize.height);
|
||||
if (val == 0)
|
||||
aSize = NSMakeSize(0, 0);
|
||||
else if (sscanf(val, "{%f, %f}", &aSize.height, &aSize.height) != 2)
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"[%@ -%@]: bad value - '%s'",
|
||||
NSStringFromClass([self class]), NSStringFromSelector(_cmd), val];
|
||||
return aSize;
|
||||
}
|
||||
@end
|
||||
|
|
Loading…
Reference in a new issue