Skip to content

Commit fbd3624

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

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

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

196-
if (CFStringIsSurrogateHighCharacter(hi)) {
197+
if (SBStringIsSurrogateHighCharacter(hi)) {
197198
unichar lo;
198199

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

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

0 commit comments

Comments
 (0)