From 379b3d576ce28f899e51030dc73bb996facf8fa5 Mon Sep 17 00:00:00 2001 From: Adam Rocska Date: Fri, 1 May 2020 14:46:40 +0200 Subject: [PATCH] Simplification step 1. One last piece of gunk to clear out. Signed-off-by: Adam Rocska --- .../DataExtensions/IndexOfData.swift | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/Sources/MaxMindDBReader/DataExtensions/IndexOfData.swift b/Sources/MaxMindDBReader/DataExtensions/IndexOfData.swift index c8dbbf2..2de3458 100644 --- a/Sources/MaxMindDBReader/DataExtensions/IndexOfData.swift +++ b/Sources/MaxMindDBReader/DataExtensions/IndexOfData.swift @@ -57,28 +57,17 @@ extension Data { } func lastIndex(of data: Data) -> Index? { - var lastIndexOfData: Index? = index(of: data) - while lastIndexOfData != nil { - guard let currentIndexOfData = index( - of: data, - from: self.index(after: lastIndexOfData!) - ) else { - return lastIndexOfData - } - lastIndexOfData = currentIndexOfData - } - return lastIndexOfData + return lastIndex(of: data, from: self.startIndex) } func lastIndex(of data: Data, from: Index) -> Index? { var lastIndexOfData: Index? = from while lastIndexOfData != nil { - if !self.indices.contains(self.index(after: lastIndexOfData!)) { - return nil - } + let upcomingIndex = self.index(after: lastIndexOfData!) + if !self.indices.contains(upcomingIndex) { return lastIndexOfData == from ? nil : lastIndexOfData } guard let currentIndexOfData = index( of: data, - from: self.index(after: lastIndexOfData!) + from: upcomingIndex ) else { break }