Skip to content

Commit 897d0c4

Browse files
committed
Fix xl_scanCharacter on old OSes
1 parent 4a9bd7b commit 897d0c4

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

Sources/Scanner+OldOS.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,13 @@ extension Scanner {
8282
if #available(macOS 10.15, tvOS 13.0, iOS 13.0, watchOS 6.0, *) {
8383
return scanCharacter()
8484
} else {
85-
let character = string[string.index(string.startIndex, offsetBy: scanLocation)]
85+
guard !isAtEnd else {
86+
return nil
87+
}
88+
let utf16 = string.utf16
89+
let characterStr = utf16[utf16.index(utf16.startIndex, offsetBy: scanLocation)..<utf16.index(utf16.startIndex, offsetBy: scanLocation + 1)]
8690
var result: NSString?
87-
guard scanString(String(character), into: &result) else {return nil}
91+
guard scanString(String(characterStr)!, into: &result) else {return nil}
8892
return Character(result! as String)
8993
}
9094
#else

0 commit comments

Comments
 (0)