From 91ce418523a5c01e8a5e245619a6ebb696feeb24 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sun, 1 Sep 2019 04:15:47 +0200 Subject: [PATCH] Support statements with parameters in va_list --- include/Database/statement.h | 3 +++ src/statement.c | 13 +++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/Database/statement.h b/include/Database/statement.h index 73345f4..970f4e8 100644 --- a/include/Database/statement.h +++ b/include/Database/statement.h @@ -18,6 +18,7 @@ #ifndef LIBDATABASE_DATABASE_STATEMENT_H # define LIBDATABASE_DATABASE_STATEMENT_H +# include # include "database.h" @@ -39,5 +40,7 @@ Database * databasestatement_get_database(DatabaseStatement * statement); /* useful */ int databasestatement_query(DatabaseStatement * statement, DatabaseCallback callback, void * data, ...); +int databasestatement_queryv(DatabaseStatement * statement, + DatabaseCallback callback, void * data, va_list args); #endif /* !LIBDATABASE_DATABASE_STATEMENT_H */ diff --git a/src/statement.c b/src/statement.c index 5c9d647..6f4e4be 100644 --- a/src/statement.c +++ b/src/statement.c @@ -68,6 +68,7 @@ Database * databasestatement_get_database(DatabaseStatement * statement) } +/* useful */ /* databasestatement_query */ int databasestatement_query(DatabaseStatement * statement, DatabaseCallback callback, void * data, ...) @@ -76,8 +77,16 @@ int databasestatement_query(DatabaseStatement * statement, va_list args; va_start(args, data); - ret = database_engine_statement_query(statement->database, - statement->statement, callback, data, args); + ret = databasestatement_queryv(statement, callback, data, args); va_end(args); return ret; } + + +/* databasestatement_queryv */ +int databasestatement_queryv(DatabaseStatement * statement, + DatabaseCallback callback, void * data, va_list args) +{ + return database_engine_statement_query(statement->database, + statement->statement, callback, data, args); +}