From 71ece564702a5d91d72f5d35fe34fe5cf9f18556 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 12 Dec 2014 22:04:43 +0100 Subject: sticker/Database: move code to BindFind() --- src/lib/sqlite/Util.hxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/lib/sqlite') 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 @@ -80,6 +80,19 @@ BindAll(Error &error, sqlite3_stmt *stmt, Args&&... args) return BindAll2(error, stmt, 1, std::forward(args)...); } +/** + * Wrapper for BindAll() that returns the specified sqlite3_stmt* on + * success and nullptr on error. + */ +template +static sqlite3_stmt * +BindAllOrNull(Error &error, sqlite3_stmt *stmt, Args&&... args) +{ + return BindAll(error, stmt, std::forward(args)...) + ? stmt + : nullptr; +} + /** * Call sqlite3_stmt() repepatedly until something other than * SQLITE_BUSY is returned. -- cgit v1.2.3