Skip to content

Commit 889bf9f

Browse files
committed
Use local variants of CFStringIsSurrogate(Low|High)Character as these requires OS X 10.6+. Fixes SBJson#86
1 parent 86da943 commit 889bf9f

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Classes/SBJsonTokeniser.m

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@
3232
#import "SBJsonTokeniser.h"
3333
#import "SBJsonUTF8Stream.h"
3434

35-
#define SBStringIsIllegalSurrogateHighCharacter(x) (((x) >= 0xd800) && ((x) <= 0xdfff))
36-
35+
#define SBStringIsIllegalSurrogateHighCharacter(character) (((character) >= 0xD800UL) && ((character) <= 0xDFFFUL))
36+
#define SBStringIsSurrogateLowCharacter(character) ((character >= 0xDC00UL) && (character <= 0xDFFFUL))
37+
#define SBStringIsSurrogateHighCharacter(character) ((character >= 0xD800UL) && (character <= 0xDBFFUL))
3738

3839
@implementation SBJsonTokeniser
3940

@@ -194,7 +195,7 @@ - (sbjson_token_t)getStringToken:(NSObject**)token {
194195
return sbjson_token_error;
195196
}
196197

197-
if (CFStringIsSurrogateHighCharacter(hi)) {
198+
if (SBStringIsSurrogateHighCharacter(hi)) {
198199
unichar lo;
199200

200201
if (![_stream haveRemainingCharacters:6])
@@ -207,7 +208,7 @@ - (sbjson_token_t)getStringToken:(NSObject**)token {
207208
return sbjson_token_error;
208209
}
209210

210-
if (!CFStringIsSurrogateLowCharacter(lo)) {
211+
if (!SBStringIsSurrogateLowCharacter(lo)) {
211212
self.error = @"Invalid low character in surrogate pair";
212213
return sbjson_token_error;
213214
}

0 commit comments

Comments
 (0)