Skip to content

Commit 96238f5

Browse files
committed
sqlite3_trace
1 parent bbab401 commit 96238f5

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

SQLite/Core/Connection.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -419,9 +419,13 @@ public final class Connection {
419419
}
420420

421421
let box: Trace = { callback(String(cString: $0)) }
422-
sqlite3_trace(handle, { callback, SQL in
423-
unsafeBitCast(callback, to: Trace.self)(SQL!)
424-
}, unsafeBitCast(box, to: UnsafeMutableRawPointer.self))
422+
sqlite3_trace(handle, {
423+
(callback: UnsafeMutableRawPointer?, SQL: UnsafePointer<Int8>?) in
424+
guard let callback = callback, let SQL = SQL else { return }
425+
unsafeBitCast(callback, to: Trace.self)(SQL)
426+
},
427+
unsafeBitCast(box, to: UnsafeMutableRawPointer.self)
428+
)
425429
trace = box
426430
}
427431
fileprivate typealias Trace = @convention(block) (UnsafePointer<Int8>) -> Void
@@ -584,14 +588,14 @@ public final class Connection {
584588
/// - block: A collation function that takes two strings and returns the
585589
/// comparison result.
586590
public func createCollation(_ collation: String, _ block: @escaping (_ lhs: String, _ rhs: String) -> ComparisonResult) throws {
587-
let box: Collation = { (lhs:UnsafeRawPointer, rhs:UnsafeRawPointer) in
591+
let box: Collation = { (lhs: UnsafeRawPointer, rhs: UnsafeRawPointer) in
588592
let lstr = String(cString: lhs.assumingMemoryBound(to: UInt8.self))
589593
let rstr = String(cString: rhs.assumingMemoryBound(to: UInt8.self))
590594
return Int32(block(lstr, rstr).rawValue)
591595
}
592596
try check(sqlite3_create_collation_v2(handle, collation, SQLITE_UTF8,
593597
unsafeBitCast(box, to: UnsafeMutableRawPointer.self),
594-
{ (callback:UnsafeMutableRawPointer?, _, lhs:UnsafeRawPointer?, _, rhs:UnsafeRawPointer?) in /* xCompare */
598+
{ (callback: UnsafeMutableRawPointer?, _, lhs: UnsafeRawPointer?, _, rhs: UnsafeRawPointer?) in /* xCompare */
595599
if let lhs = lhs, let rhs = rhs {
596600
return unsafeBitCast(callback, to: Collation.self)(lhs, rhs)
597601
} else {

0 commit comments

Comments
 (0)