Skip to content

Commit 95aef7f

Browse files
committed
refs #109
1 parent 4213158 commit 95aef7f

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

Sources/Core/SiwftCore+Extension.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,20 @@ extension Mirror {
2424
// MARK: -
2525
extension ExpressibleByIntegerLiteral {
2626
var bytes:[UInt8] {
27-
var data:[UInt8] = [UInt8](repeating: 0, count: MemoryLayout<`Self`>.size)
28-
data.withUnsafeMutableBufferPointer {
29-
UnsafeMutableRawPointer($0.baseAddress!).storeBytes(of: self, as: Self.self)
27+
var value:Self = self
28+
let s:Int = MemoryLayout<`Self`>.size
29+
return withUnsafeMutablePointer(to: &value) {
30+
$0.withMemoryRebound(to: UInt8.self, capacity: s) {
31+
Array(UnsafeBufferPointer(start: $0, count: s))
32+
}
3033
}
31-
return data
3234
}
3335

3436
init(bytes:[UInt8]) {
3537
self = bytes.withUnsafeBufferPointer {
36-
UnsafeRawPointer($0.baseAddress!).load(as: Self.self)
38+
$0.baseAddress!.withMemoryRebound(to: Self.self, capacity: 1) {
39+
$0.pointee
40+
}
3741
}
3842
}
3943
}

0 commit comments

Comments
 (0)