From 3cd327eb154495c873c1d9e550ddcb640e0c8e58 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 7 Jan 2024 04:03:25 +0800 Subject: [PATCH] vChewingLM // Fix [String].runAsSQLPreparedSteps(). --- .../Sources/LangModelAssembly/vChewingLM.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift index 801e3104..8770011d 100644 --- a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift +++ b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/vChewingLM.swift @@ -51,10 +51,11 @@ extension Array where Element == String { assert(looseEnds) } - var ptrStmt: OpaquePointer? - defer { sqlite3_finalize(ptrStmt) } for strStmt in self { - guard sqlite3_prepare_v2(ptrDB, strStmt, -1, &ptrStmt, nil) == SQLITE_OK, sqlite3_step(ptrStmt) == SQLITE_DONE else { + let thisResult = performStatement { ptrStmt in + sqlite3_prepare_v2(ptrDB, strStmt, -1, &ptrStmt, nil) == SQLITE_OK && sqlite3_step(ptrStmt) == SQLITE_DONE + } + guard thisResult else { vCLog("SQL Query Error. Statement: \(strStmt)") return false }