only need to get the substring once

This commit is contained in:
Erik 2015-09-13 13:56:51 -04:00
parent 8044d6fc1c
commit e84acb1471

View File

@ -50,18 +50,16 @@ struct SocketStringReader {
} }
mutating func readUntilStringOccurence(string: String) -> String { mutating func readUntilStringOccurence(string: String) -> String {
let range = Range<String.Index>(start: currentIndex, end: message.endIndex) let substring = message[currentIndex..<message.endIndex]
let subString = message.substringWithRange(range) guard let foundRange = substring.rangeOfString(string) else {
guard let foundRange = subString.rangeOfString(string) else {
let restOfString = message[currentIndex..<message.endIndex]
currentIndex = message.endIndex currentIndex = message.endIndex
return restOfString return substring
} }
advanceIndexBy(message.startIndex.distanceTo(foundRange.startIndex) + 1) advanceIndexBy(message.startIndex.distanceTo(foundRange.startIndex) + 1)
return subString.substringToIndex(foundRange.startIndex) return substring.substringToIndex(foundRange.startIndex)
} }
mutating func readUntilEnd() -> String { mutating func readUntilEnd() -> String {