From e370d2309c2a4df920d4618fdb30811dda00d15b Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Wed, 6 Jun 2012 08:47:21 +0200 Subject: [PATCH 13/28] Fixed logleve --- xs/Apache2/Log/Apache2__Log.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/xs/Apache2/Log/Apache2__Log.h b/xs/Apache2/Log/Apache2__Log.h index 1866315..4a3bb4d 100644 --- a/xs/Apache2/Log/Apache2__Log.h +++ b/xs/Apache2/Log/Apache2__Log.h @@ -36,6 +36,7 @@ static void mpxs_ap_log_error(pTHX_ int level, SV *sv, SV *msg) int lmask = level & APLOG_LEVELMASK; server_rec *s; request_rec *r = NULL; + int loglevel = 0; if (SvROK(sv) && sv_isa(sv, "Apache2::Log::Request")) { r = INT2PTR(request_rec *, SvObjIV(sv)); @@ -48,13 +49,19 @@ static void mpxs_ap_log_error(pTHX_ int level, SV *sv, SV *msg) s = modperl_global_get_server_rec(); } - if ((lmask == APLOG_DEBUG) && (s->loglevel >= APLOG_DEBUG)) { +#if AP_SERVER_MAJORVERSION_NUMBER >= 2 && AP_SERVER_MINORVERSION_NUMBER >= 4 + loglevel = s->log.level; +#else + loglevel = s->loglevel; +#endif + + if ((lmask == APLOG_DEBUG) && (loglevel >= APLOG_DEBUG)) { COP *cop = PL_curcop; file = CopFILE(cop); /* (caller)[1] */ line = CopLINE(cop); /* (caller)[2] */ } - if ((s->loglevel >= lmask) && + if ((loglevel >= lmask) && SvROK(msg) && (SvTYPE(SvRV(msg)) == SVt_PVCV)) { dSP; ENTER;SAVETMPS; -- 1.7.11.4