On Fri, Jan 13, 2012 at 10:57 AM, Daniel Shahaf <danielsh_at_elego.de> wrote:
> [[[
> Follow-up to r1033547: track mod_dav API change.
>
> In r882274, the mod_dav API changed in two ways: the signatures of
> dav_new_error() and dav_new_error_tag() changed, and 'struct dav_error'
> changed its errno number member into an apr_status_t. r1033547 tracked
> the former change but not the latter.
dav_svn__log_err() is a very recent addition (a couple of years after
my original mod_dav_svn 2.3 compatibility patch, some variant of which
got committed back then).
Your patch looks reasonable, but I'll stay out of the way ;) (no
subversion commit bits here, and for good reason)
> * subversion/mod_dav_svn/util.c
> (dav_svn__log_err): Track the change to 'struct dav_error'.
> ]]]
>
> [[[
> Index: subversion/mod_dav_svn/util.c
> ===================================================================
> --- subversion/mod_dav_svn/util.c (revision 1231107)
> +++ subversion/mod_dav_svn/util.c (working copy)
> @@ -629,19 +629,20 @@ void dav_svn__log_err(request_rec *r,
> /* Log the errors */
> /* ### should have a directive to log the first or all */
> for (errscan = err; errscan != NULL; errscan = errscan->prev) {
> + apr_status_t status;
> +
> if (errscan->desc == NULL)
> continue;
>
> - if (errscan->save_errno != 0) {
> - errno = errscan->save_errno;
> - ap_log_rerror(APLOG_MARK, level, errno, r, "%s [%d, #%d]",
> - errscan->desc, errscan->status, errscan->error_id);
> - }
> - else {
> - ap_log_rerror(APLOG_MARK, level, 0, r,
> - "%s [%d, #%d]",
> - errscan->desc, errscan->status, errscan->error_id);
> - }
> +#if AP_MODULE_MAGIC_AT_LEAST(20091119,0)
> + status = errscan->aprerr;
> +#else
> + status = errscan->save_errno;
> +#endif
> +
> + ap_log_rerror(APLOG_MARK, level, status, r,
> + "%s [%d, #%d]",
> + errscan->desc, errscan->status, errscan->error_id);
> }
> }
>
> ]]]
--
Born in Roswell... married an alien...
Received on 2012-01-15 14:16:31 CET