From 757215f50d8a85b070dd2a156a0699c915e04ed0 Mon Sep 17 00:00:00 2001 From: Maksym Bilan <> Date: Wed, 19 Feb 2025 09:49:44 +0200 Subject: [PATCH 1/2] Trying to fix iOS 15 crash --- Sources/EventSource/EventParser.swift | 29 +++++++++++++-------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/Sources/EventSource/EventParser.swift b/Sources/EventSource/EventParser.swift index 039f934..3651386 100644 --- a/Sources/EventSource/EventParser.swift +++ b/Sources/EventSource/EventParser.swift @@ -64,22 +64,21 @@ fileprivate extension Data { @available(tvOS, deprecated: 16.0, obsoleted: 16.0, message: "This method is not recommended on tvOS 16.0+") @available(visionOS, deprecated: 1.0, obsoleted: 1.1, message: "This method is not recommended on visionOS 1.0+") func split(by separator: [UInt8]) -> [Data] { - let doubleNewline = Data(separator) - var splits: [Data] = [] - var currentIndex = 0 - var range: Range? - - while true { - range = self.range(of: doubleNewline, options: [], in: currentIndex.. pos { + chunks.append(self[pos.. Date: Wed, 19 Feb 2025 11:09:52 +0200 Subject: [PATCH 2/2] Clean up --- Sources/EventSource/EventParser.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/EventSource/EventParser.swift b/Sources/EventSource/EventParser.swift index 3651386..5141116 100644 --- a/Sources/EventSource/EventParser.swift +++ b/Sources/EventSource/EventParser.swift @@ -66,16 +66,16 @@ fileprivate extension Data { func split(by separator: [UInt8]) -> [Data] { var chunks: [Data] = [] var pos = startIndex - // Find next occurrence of separator after current position: + // Find next occurrence of separator after current position while let r = self[pos...].range(of: Data(separator)) { - // Append if non-empty: + // Append if non-empty if r.lowerBound > pos { chunks.append(self[pos..