Skip to content

Commit 6e86ff5

Browse files
jmarkstartanner0101
authored andcommitted
Fixed compatibility on ARM. (#238)
1 parent 03f9797 commit 6e86ff5

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

Sources/MySQL/Connection/MySQLData.swift

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,9 +215,16 @@ public struct MySQLData: Equatable, Encodable {
215215
/// Access the value as an binary floating point.
216216
public func float<F>(_ type: F.Type) -> F? where F: BinaryFloatingPoint {
217217
switch storage {
218-
case .text(let data): return data.flatMap { String(data: $0, encoding: .ascii) }
219-
.flatMap { Float80($0) }
220-
.flatMap { F.init($0) }
218+
case .text(let data):
219+
#if arch(arm) || arch(arm64)
220+
return data.flatMap { String(data: $0, encoding: .ascii) }
221+
.flatMap { Float($0)}
222+
.flatMap { F.init($0) }
223+
#else
224+
return data.flatMap { String(data: $0, encoding: .ascii) }
225+
.flatMap { Float80($0)}
226+
.flatMap { F.init($0) }
227+
#endif
221228
case .binary(let binary):
222229
switch binary.storage {
223230
case .integer1(let int8): return F(int8)
@@ -233,9 +240,15 @@ public struct MySQLData: Equatable, Encodable {
233240
case .string(let data):
234241
switch binary.type {
235242
case .MYSQL_TYPE_VARCHAR, .MYSQL_TYPE_VAR_STRING, .MYSQL_TYPE_STRING, .MYSQL_TYPE_DECIMAL, .MYSQL_TYPE_NEWDECIMAL:
243+
#if arch(arm) || arch(arm64)
244+
return String(data: data, encoding: .ascii)
245+
.flatMap { Float($0) }
246+
.flatMap { F.init($0) }
247+
#else
236248
return String(data: data, encoding: .ascii)
237249
.flatMap { Float80($0) }
238250
.flatMap { F.init($0) }
251+
#endif
239252
default: return nil // TODO: support more
240253
}
241254
default: return nil

0 commit comments

Comments
 (0)