summaryrefslogtreecommitdiffstats
path: root/database/sqlite/sqlite.c
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-09-10 18:40:51 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-09-10 18:40:51 +0200
commit9e60d4ef8e8cc24948561f902b7786b51b6fe233 (patch)
tree77f2275f14318f54499f0f3e44244e27db75a77c /database/sqlite/sqlite.c
parent97839e94bfb8421fabb8b58d51a42152989fe118 (diff)
downloadeurephia-9e60d4ef8e8cc24948561f902b7786b51b6fe233.tar.gz
eurephia-9e60d4ef8e8cc24948561f902b7786b51b6fe233.tar.xz
eurephia-9e60d4ef8e8cc24948561f902b7786b51b6fe233.zip
Changed to using sqlite3_vmprintf() function instead of vsnprintf()
Diffstat (limited to 'database/sqlite/sqlite.c')
-rw-r--r--database/sqlite/sqlite.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/database/sqlite/sqlite.c b/database/sqlite/sqlite.c
index 9be9758..c58aa01 100644
--- a/database/sqlite/sqlite.c
+++ b/database/sqlite/sqlite.c
@@ -197,7 +197,7 @@ static int _cb_parse_result(void *NotUsed, int argc, char **argv, char **colName
dbresult *sqlite_query(eurephiaCTX *ctx, char *fmt, ... ) {
int rc;
va_list ap;
- char *errMsg = NULL, sql[65538];
+ char *errMsg = NULL, *sql = NULL;
eDBconn *dbc = ctx->dbc;
if( ctx->dbc == NULL ) {
@@ -214,20 +214,21 @@ dbresult *sqlite_query(eurephiaCTX *ctx, char *fmt, ... ) {
glob_results->num_tuples = 0;
// prepare SQL query
- memset(&sql, 0, 65538);
va_start(ap, fmt);
- vsnprintf(sql, 65535, fmt, ap);
+ sql = sqlite3_vmprintf(fmt, ap);
va_end(ap);
eurephia_log(ctx, LOG_DEBUG, 11, "Doing SQL Query: %s", sql);
rc = sqlite3_exec( (sqlite3 *) dbc->dbhandle, sql, _cb_parse_result, 0, &errMsg );
if( rc != SQLITE_OK ) {
eurephia_log(ctx, LOG_ERROR, 0, "SQL Error: %s", errMsg);
+ sqlite3_free(sql); sql = NULL;
return NULL;
}
glob_results->srch_tuples = glob_results->tuples;
glob_results->srch_headerrec = glob_results->headerrec;
+ sqlite3_free(sql); sql = NULL;
return glob_results;
}