Skip to content

Commit 9db78dc

Browse files
committedJul 8, 2016
Fix -Wterminate warnings in rollback.cpp as well
Fix #4137 for rollback.cpp as well.
1 parent 483cca7 commit 9db78dc

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed
 

‎src/rollback.cpp

+19-11
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
4242
}
4343
#define SQLOK(f) SQLRES(f, SQLITE_OK)
4444

45+
#define SQLOK_ERRSTREAM(s, m) \
46+
if ((s) != SQLITE_OK) { \
47+
errorstream << "RollbackManager: " << (m) << ": " \
48+
<< sqlite3_errmsg(db) << std::endl; \
49+
}
50+
51+
#define FINALIZE_STATEMENT(statement) \
52+
SQLOK_ERRSTREAM(sqlite3_finalize(statement), "Failed to finalize " #statement)
4553

4654
class ItemStackRow : public ItemStack {
4755
public:
@@ -109,17 +117,17 @@ RollbackManager::~RollbackManager()
109117
{
110118
flush();
111119

112-
SQLOK(sqlite3_finalize(stmt_insert));
113-
SQLOK(sqlite3_finalize(stmt_replace));
114-
SQLOK(sqlite3_finalize(stmt_select));
115-
SQLOK(sqlite3_finalize(stmt_select_range));
116-
SQLOK(sqlite3_finalize(stmt_select_withActor));
117-
SQLOK(sqlite3_finalize(stmt_knownActor_select));
118-
SQLOK(sqlite3_finalize(stmt_knownActor_insert));
119-
SQLOK(sqlite3_finalize(stmt_knownNode_select));
120-
SQLOK(sqlite3_finalize(stmt_knownNode_insert));
121-
122-
SQLOK(sqlite3_close(db));
120+
FINALIZE_STATEMENT(stmt_insert);
121+
FINALIZE_STATEMENT(stmt_replace);
122+
FINALIZE_STATEMENT(stmt_select);
123+
FINALIZE_STATEMENT(stmt_select_range);
124+
FINALIZE_STATEMENT(stmt_select_withActor);
125+
FINALIZE_STATEMENT(stmt_knownActor_select);
126+
FINALIZE_STATEMENT(stmt_knownActor_insert);
127+
FINALIZE_STATEMENT(stmt_knownNode_select);
128+
FINALIZE_STATEMENT(stmt_knownNode_insert);
129+
130+
SQLOK_ERRSTREAM(sqlite3_close(db), "Could not close db");
123131
}
124132

125133

0 commit comments

Comments
 (0)