From 596a3724e4364d77641154d4f69c7696e99c6054 Mon Sep 17 00:00:00 2001 From: Bojan Smojver Date: Wed, 7 Jun 2006 12:11:03 +0000 Subject: [PATCH] Don't cast cleanup functions, provide wrappers instead (PgSQL, SQLite3). git-svn-id: https://svn.eu.apache.org/repos/asf/apr/apr-util/trunk@412384 13f79535-47bb-0310-9956-ffa450edef68 --- dbd/apr_dbd_pgsql.c | 10 ++++++++-- dbd/apr_dbd_sqlite3.c | 8 +++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/dbd/apr_dbd_pgsql.c b/dbd/apr_dbd_pgsql.c index 2150893..49261fb 100644 --- a/dbd/apr_dbd_pgsql.c +++ b/dbd/apr_dbd_pgsql.c @@ -69,6 +69,12 @@ struct apr_dbd_prepared_t { || ((x) == PGRES_COMMAND_OK) \ || ((x) == PGRES_TUPLES_OK)) +static apr_status_t clear_result(void *data) +{ + PQclear(data); + return APR_SUCCESS; +} + static int dbd_pgsql_select(apr_pool_t *pool, apr_dbd_t *sql, apr_dbd_results_t **results, const char *query, int seek) @@ -103,7 +109,7 @@ static int dbd_pgsql_select(apr_pool_t *pool, apr_dbd_t *sql, (*results)->ntuples = PQntuples(res); (*results)->sz = PQnfields(res); (*results)->random = seek; - apr_pool_cleanup_register(pool, res, (void*)PQclear, + apr_pool_cleanup_register(pool, res, clear_result, apr_pool_cleanup_null); } else { @@ -464,7 +470,7 @@ static int dbd_pgsql_pselect(apr_pool_t *pool, apr_dbd_t *sql, (*results)->ntuples = PQntuples(res); (*results)->sz = PQnfields(res); (*results)->random = seek; - apr_pool_cleanup_register(pool, res, (void*)PQclear, + apr_pool_cleanup_register(pool, res, clear_result, apr_pool_cleanup_null); } else { diff --git a/dbd/apr_dbd_sqlite3.c b/dbd/apr_dbd_sqlite3.c index fb8f427..b08a8d7 100644 --- a/dbd/apr_dbd_sqlite3.c +++ b/dbd/apr_dbd_sqlite3.c @@ -287,11 +287,17 @@ static int dbd_sqlite3_query(apr_dbd_t *sql, int *nrows, const char *query) return ret; } +static apr_status_t free_mem(void *data) +{ + sqlite3_free(data); + return APR_SUCCESS; +} + static const char *dbd_sqlite3_escape(apr_pool_t *pool, const char *arg, apr_dbd_t *sql) { char *ret = sqlite3_mprintf("%q", arg); - apr_pool_cleanup_register(pool, ret, (void *) sqlite3_free, + apr_pool_cleanup_register(pool, ret, free_mem, apr_pool_cleanup_null); return ret; } -- 2.11.4.GIT