@@ -19,15 +19,17 @@ extension FFDataWrapper {
19
19
public func mapData< ResultType> ( _ block: ( inout Data ) throws -> ResultType ) rethrows -> ResultType {
20
20
var decodedData = Data ( repeating: 0 , count: dataRef. dataBuffer. count)
21
21
22
- let count = decodedData. withUnsafeMutableBytes ( { ( destPtr : UnsafeMutablePointer < UInt8 > ) -> Int in
22
+ let count = decodedData. withUnsafeMutableBytes ( { ( destMutableRawBufferPtr : UnsafeMutableRawBufferPointer ) -> Int in
23
23
switch self . storedCoders {
24
24
case . coders( _, let decoder) :
25
25
decoder ( UnsafeBufferPointer ( start: self . dataRef. dataBuffer. baseAddress!, count: dataRef. dataBuffer. count) ,
26
- UnsafeMutableBufferPointer ( start: destPtr, count: dataRef. dataBuffer. count) )
26
+ UnsafeMutableBufferPointer ( start: destMutableRawBufferPtr. baseAddress!. assumingMemoryBound ( to: UInt8 . self) ,
27
+ count: dataRef. dataBuffer. count) )
27
28
return dataRef. dataBuffer. count
28
29
case . infoCoders( _, let decoder) :
29
30
decoder ( UnsafeBufferPointer ( start: self . dataRef. dataBuffer. baseAddress!, count: dataRef. dataBuffer. count) ,
30
- UnsafeMutableBufferPointer ( start: destPtr, count: dataRef. dataBuffer. count) , nil )
31
+ UnsafeMutableBufferPointer ( start: destMutableRawBufferPtr. baseAddress!. assumingMemoryBound ( to: UInt8 . self) ,
32
+ count: dataRef. dataBuffer. count) , nil )
31
33
return dataRef. dataBuffer. count
32
34
}
33
35
@@ -54,14 +56,16 @@ extension FFDataWrapper {
54
56
public func mapData< ResultType> ( info: Any ? , block: ( inout Data ) throws -> ResultType ) rethrows -> ResultType {
55
57
var decodedData = Data ( repeating: 0 , count: dataRef. dataBuffer. count)
56
58
57
- decodedData. withUnsafeMutableBytes ( { ( destPtr : UnsafeMutablePointer < UInt8 > ) -> Void in
59
+ decodedData. withUnsafeMutableBytes ( { ( destMutableRawBufferPtr : UnsafeMutableRawBufferPointer ) -> Void in
58
60
switch self . storedCoders {
59
61
case . coders( _, let decoder) :
60
62
decoder ( UnsafeBufferPointer ( start: self . dataRef. dataBuffer. baseAddress!, count: dataRef. dataBuffer. count) ,
61
- UnsafeMutableBufferPointer ( start: destPtr, count: dataRef. dataBuffer. count) )
63
+ UnsafeMutableBufferPointer ( start: destMutableRawBufferPtr. baseAddress!. assumingMemoryBound ( to: UInt8 . self) ,
64
+ count: dataRef. dataBuffer. count) )
62
65
case . infoCoders( _, let decoder) :
63
66
decoder ( UnsafeBufferPointer ( start: self . dataRef. dataBuffer. baseAddress!, count: dataRef. dataBuffer. count) ,
64
- UnsafeMutableBufferPointer ( start: destPtr, count: dataRef. dataBuffer. count) , info)
67
+ UnsafeMutableBufferPointer ( start: destMutableRawBufferPtr. baseAddress!. assumingMemoryBound ( to: UInt8 . self) ,
68
+ count: dataRef. dataBuffer. count) , info)
65
69
}
66
70
} )
67
71
let result = try block ( & decodedData)
0 commit comments