From 483cca78a1312aa3b9c01049b5ebf6842929ec7a Mon Sep 17 00:00:00 2001
From: est31 <MTest31@outlook.com>
Date: Fri, 8 Jul 2016 06:24:22 +0200
Subject: Fix -Wterminate warning on GCC 6

Fixes #4137
---
 src/database-sqlite3.cpp | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/database-sqlite3.cpp b/src/database-sqlite3.cpp
index 07df976d4..095d485c0 100644
--- a/src/database-sqlite3.cpp
+++ b/src/database-sqlite3.cpp
@@ -56,8 +56,14 @@ SQLite format specification:
 	SQLOK(sqlite3_prepare_v2(m_database, query, -1, &m_stmt_##name, NULL),\
 		"Failed to prepare query '" query "'")
 
-#define FINALIZE_STATEMENT(statement) \
-	SQLOK(sqlite3_finalize(statement), "Failed to finalize " #statement)
+#define SQLOK_ERRSTREAM(s, m)                           \
+	if ((s) != SQLITE_OK) {                             \
+		errorstream << (m) << ": "                      \
+			<< sqlite3_errmsg(m_database) << std::endl; \
+	}
+
+#define FINALIZE_STATEMENT(statement) SQLOK_ERRSTREAM(sqlite3_finalize(statement), \
+	"Failed to finalize " #statement)
 
 int Database_SQLite3::busyHandler(void *data, int count)
 {
@@ -289,6 +295,6 @@ Database_SQLite3::~Database_SQLite3()
 	FINALIZE_STATEMENT(m_stmt_end)
 	FINALIZE_STATEMENT(m_stmt_delete)
 
-	SQLOK(sqlite3_close(m_database), "Failed to close database");
+	SQLOK_ERRSTREAM(sqlite3_close(m_database), "Failed to close database");
 }
 
-- 
cgit v1.2.3