Support statements with parameters in va_list

This commit is contained in:
Pierre Pronchery 2019-09-01 04:15:47 +02:00
parent bda85e8833
commit 91ce418523
2 changed files with 14 additions and 2 deletions

View File

@ -18,6 +18,7 @@
#ifndef LIBDATABASE_DATABASE_STATEMENT_H
# define LIBDATABASE_DATABASE_STATEMENT_H
# include <stdarg.h>
# 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 */

View File

@ -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);
}