Skip to content

Commit e1caa19

Browse files
committed
Only assert on STREAM ERROR
1 parent f801454 commit e1caa19

File tree

1 file changed

+28
-11
lines changed

1 file changed

+28
-11
lines changed

Sources/CompressNIO/zlib/Zlib.swift

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import CCompressZlib
32
import NIOCore
43

@@ -107,10 +106,18 @@ public struct ZlibConfiguration: Sendable {
107106
/// and compression level will be reduced. Value between 1 - 9 where 1 is least amount of memory.
108107
/// - strategy: Strategy when compressing
109108
@_disfavoredOverload
110-
public init(windowSize: Int32 = 15, compressionLevel: Int32 = Z_DEFAULT_COMPRESSION, memoryLevel: Int32 = 8, strategy: Strategy = .default) {
109+
public init(
110+
windowSize: Int32 = 15, compressionLevel: Int32 = Z_DEFAULT_COMPRESSION,
111+
memoryLevel: Int32 = 8, strategy: Strategy = .default
112+
) {
111113
assert((9...15).contains(windowSize), "Window size must be between the values 9 and 15")
112-
assert((-1...9).contains(compressionLevel), "Compression level must be between the values 0 and 9, or -1 indicating the default value")
113-
assert((1...9).contains(memoryLevel), "Compression memory level must be between the values 1 and 9")
114+
assert(
115+
(-1...9).contains(compressionLevel),
116+
"Compression level must be between the values 0 and 9, or -1 indicating the default value"
117+
)
118+
assert(
119+
(1...9).contains(memoryLevel),
120+
"Compression memory level must be between the values 1 and 9")
114121
self.windowSize = windowSize
115122
self.compressionLevel = compressionLevel
116123
self.memoryLevel = memoryLevel
@@ -187,7 +194,7 @@ public final class ZlibCompressor {
187194

188195
deinit {
189196
let rt = deflateEnd(self.stream)
190-
assert(rt == Z_OK, "deflateEnd returned error: \(rt)")
197+
assert(rt != Z_STREAM_ERROR, "deflateEnd returned stream error")
191198
self.stream.deinitialize(count: 1)
192199
self.stream.deallocate()
193200
}
@@ -198,7 +205,9 @@ public final class ZlibCompressor {
198205
/// - to: output bytebuffer
199206
/// - flush: whether deflate should flush the output
200207
/// - Throws: ``CompressNIOError`` if deflate fails
201-
public func deflate(from: inout ByteBuffer, to: inout ByteBuffer, flush: CompressNIOFlush) throws {
208+
public func deflate(from: inout ByteBuffer, to: inout ByteBuffer, flush: CompressNIOFlush)
209+
throws
210+
{
202211
var bytesRead = 0
203212
var bytesWritten = 0
204213

@@ -224,8 +233,12 @@ public final class ZlibCompressor {
224233
self.stream.pointee.next_out = CCompressZlib_voidPtr_to_BytefPtr(toBuffer.baseAddress!)
225234

226235
let rt = CCompressZlib.deflate(self.stream, flag)
227-
bytesRead = self.stream.pointee.next_in - CCompressZlib_voidPtr_to_BytefPtr(fromBuffer.baseAddress!)
228-
bytesWritten = self.stream.pointee.next_out - CCompressZlib_voidPtr_to_BytefPtr(toBuffer.baseAddress!)
236+
bytesRead =
237+
self.stream.pointee.next_in
238+
- CCompressZlib_voidPtr_to_BytefPtr(fromBuffer.baseAddress!)
239+
bytesWritten =
240+
self.stream.pointee.next_out
241+
- CCompressZlib_voidPtr_to_BytefPtr(toBuffer.baseAddress!)
229242
switch rt {
230243
case Z_OK:
231244
if flush == .finish {
@@ -320,7 +333,7 @@ public final class ZlibDecompressor {
320333

321334
deinit {
322335
let rt = inflateEnd(self.stream)
323-
assert(rt == Z_OK, "inflateEnd returned error: \(rt)")
336+
assert(rt != Z_STREAM_ERROR, "deflateEnd returned stream error")
324337
self.stream.deinitialize(count: 1)
325338
self.stream.deallocate()
326339
}
@@ -348,8 +361,12 @@ public final class ZlibDecompressor {
348361

349362
let rt = CCompressZlib.inflate(self.stream, Z_NO_FLUSH)
350363

351-
bytesRead = self.stream.pointee.next_in - CCompressZlib_voidPtr_to_BytefPtr(fromBuffer.baseAddress!)
352-
bytesWritten = self.stream.pointee.next_out - CCompressZlib_voidPtr_to_BytefPtr(toBuffer.baseAddress!)
364+
bytesRead =
365+
self.stream.pointee.next_in
366+
- CCompressZlib_voidPtr_to_BytefPtr(fromBuffer.baseAddress!)
367+
bytesWritten =
368+
self.stream.pointee.next_out
369+
- CCompressZlib_voidPtr_to_BytefPtr(toBuffer.baseAddress!)
353370
switch rt {
354371
case Z_OK:
355372
if self.stream.pointee.avail_out == 0 {

0 commit comments

Comments
 (0)