diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-03-29 02:50:35 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-03-29 02:50:35 +0000 |
| commit | 97bb0560b9d2e2ef44e86bde2d52cf9093b0c0da (patch) | |
| tree | de8ecfba4234fb711f12064b1f4f6fa174345ec3 /macosx/PcsxrHexadecimalFormatter.m | |
| parent | 4b451d014b0e8dbbe71c61eee19445b567a2e581 (diff) | |
| download | pcsxr-97bb0560b9d2e2ef44e86bde2d52cf9093b0c0da.tar.gz | |
OS X: Refactoring.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89712 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'macosx/PcsxrHexadecimalFormatter.m')
| -rw-r--r-- | macosx/PcsxrHexadecimalFormatter.m | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/macosx/PcsxrHexadecimalFormatter.m b/macosx/PcsxrHexadecimalFormatter.m index c6b5f849..550a7cb1 100644 --- a/macosx/PcsxrHexadecimalFormatter.m +++ b/macosx/PcsxrHexadecimalFormatter.m @@ -9,20 +9,19 @@ #import "PcsxrHexadecimalFormatter.h" @interface PcsxrHexadecimalFormatter () -@property (readwrite, retain) NSString *hexFormatString; - +@property (strong) NSString *hexFormatString; @end @implementation PcsxrHexadecimalFormatter @synthesize hexPadding; +@synthesize hexFormatString; + - (void)setHexPadding:(char)_hexPadding { hexPadding = _hexPadding; self.hexFormatString = [NSString stringWithFormat:@"0x%%0%ilx", hexPadding]; } -@synthesize hexFormatString; - - (id)init { if (self = [super init]) { @@ -64,18 +63,25 @@ - (BOOL)getObjectValue:(out id *)obj forString:(NSString *)string errorDescription:(out NSString **)error { NSString *tmpstr = nil; - if ([string hasPrefix:@"0x"]) { - NSRange zeroXRange = [string rangeOfString:@"0x"]; - tmpstr = [string stringByReplacingCharactersInRange:zeroXRange withString:@""]; - }else { - tmpstr = string; - } - long tmpNum = 0; - if (sscanf([tmpstr UTF8String], "%lx", &tmpNum) == 1) { + unsigned int tmpNum; + NSScanner *theScan = [[NSScanner alloc] initWithString:string]; + if ([theScan scanHexInt:&tmpNum]) { *obj = @(tmpNum); return YES; } else { - return NO; + if ([string hasPrefix:@"0x"]) { + NSRange zeroXRange = [string rangeOfString:@"0x"]; + tmpstr = [string stringByReplacingCharactersInRange:zeroXRange withString:@""]; + }else { + tmpstr = string; + } + long tmpNum = 0; + if (sscanf([tmpstr UTF8String], "%lx", &tmpNum) == 1) { + *obj = @(tmpNum); + return YES; + } else { + return NO; + } } } |
