static int dbd_sqlite3_pvselect(apr_pool_t *pool, apr_dbd_t *sql, apr_dbd_results_t **results, apr_dbd_prepared_t *statement, int seek, va_list args) { const char **values; int i; if (sql->trans && sql->trans->errnum) { return sql->trans->errnum; } values = apr_palloc(pool, sizeof(*values) * statement->nvals); for (i = 0; i < statement->nvals; i++) { values[i] = va_arg(args, const char*); } return dbd_sqlite3_pselect(pool, sql, results, statement, seek, values); }
static int dbd_sqlite3_pvselect(apr_pool_t *pool, apr_dbd_t *sql, apr_dbd_results_t **results, apr_dbd_prepared_t *statement, int seek, va_list args) { const char **values; int i, nargs; if (sql->trans && sql->trans->errnum) { return sql->trans->errnum; } nargs = sqlite3_bind_parameter_count(statement->stmt); values = apr_palloc(pool, sizeof(*values) * nargs); for (i = 0; i < nargs; i++) { values[i] = apr_pstrdup(pool, va_arg(args, const char*)); } return dbd_sqlite3_pselect(pool, sql, results, statement, seek, nargs, values); }