From: Nick Kew Date: Tue, 10 Oct 2006 13:15:07 +0000 (+0000) Subject: Fix rewritemap/dbd bug pointed out by Davi Arnaut, and improve error reporting. X-Git-Tag: 2.3.0~2083 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=587fa063c4d5279fb72f5563f512761e4010e1b7;p=thirdparty%2Fapache%2Fhttpd.git Fix rewritemap/dbd bug pointed out by Davi Arnaut, and improve error reporting. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@454732 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/mappers/mod_rewrite.c b/modules/mappers/mod_rewrite.c index 8775ad1a1df..0092fd41750 100644 --- a/modules/mappers/mod_rewrite.c +++ b/modules/mappers/mod_rewrite.c @@ -1330,6 +1330,7 @@ static char *lookup_map_dbd(request_rec *r, char *key, const char *label) { apr_status_t rv; apr_dbd_prepared_t *stmt; + const char *errmsg; apr_dbd_results_t *res = NULL; apr_dbd_row_t *row = NULL; const char *ret = NULL; @@ -1341,8 +1342,10 @@ static char *lookup_map_dbd(request_rec *r, char *key, const char *label) rv = apr_dbd_pvselect(db->driver, r->pool, db->handle, &res, stmt, 0, key, NULL); if (rv != 0) { + errmsg = apr_dbd_error(db->driver, db->handle, rv); ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, - "rewritemap: error querying for %s", key); + "rewritemap: error %s querying for %s", errmsg, key); + return NULL; } while (rv = apr_dbd_get_row(db->driver, r->pool, res, &row, -1), rv == 0) { ++n; @@ -1357,8 +1360,9 @@ static char *lookup_map_dbd(request_rec *r, char *key, const char *label) } } if (rv != -1) { + errmsg = apr_dbd_error(db->driver, db->handle, rv); ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, - "rewritemap: error looking up %s", key); + "rewritemap: error %s looking up %s", errmsg, key); } switch (n) { case 0: