diff options
Diffstat (limited to 'src/lib/sqlite')
-rw-r--r-- | src/lib/sqlite/Util.hxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/sqlite/Util.hxx b/src/lib/sqlite/Util.hxx index abc35835b..da74d1c3c 100644 --- a/src/lib/sqlite/Util.hxx +++ b/src/lib/sqlite/Util.hxx @@ -81,6 +81,19 @@ BindAll(Error &error, sqlite3_stmt *stmt, Args&&... args) } /** + * Wrapper for BindAll() that returns the specified sqlite3_stmt* on + * success and nullptr on error. + */ +template<typename... Args> +static sqlite3_stmt * +BindAllOrNull(Error &error, sqlite3_stmt *stmt, Args&&... args) +{ + return BindAll(error, stmt, std::forward<Args>(args)...) + ? stmt + : nullptr; +} + +/** * Call sqlite3_stmt() repepatedly until something other than * SQLITE_BUSY is returned. */ |