Daniel Shahaf wrote on Thu, Jun 30, 2011 at 04:34:10 +0300:
> Jack Repenning wrote on Wed, Jun 29, 2011 at 17:49:21 -0700:
> > > subversion   编译后出现如下错误
> > > subversion/mod_authz_svn/mod_authz_svn.c: In function 
> > > ‘log_access_verdict’:
> > > subversion/mod_authz_svn/mod_authz_svn.c:450: 警告:传递参数 5 (属于 
> > > ‘ap_log_rerror_’)时将指针赋给整数,未作类型转换
> > > subversion/mod_authz_svn/mod_authz_svn.c:450: 警告:传递参数 6 (属于 
> > > ‘ap_log_rerror_’)时在不兼容的指针类型间转换
> 
> The problem is that the prototype of ap_log_rerror() in
> httpd-2.3.12-beta,
> 
> [[[
> AP_DECLARE(void) ap_log_rerror(const char *file, int line, int module_index,
>                                int level, apr_status_t status,
>                                const request_rec *r, const char *fmt, ...);
> ]]]
> 
> , has a `module_index' parameter that our code doesn't pass.
> 
> 
> dev@: I suspect we need to patch mod_dav_svn to allow it to run with the
> modified API.

The doc string of ap_log_rerror() --- both in 2.3.12-beta and in 2.2.15 --- 
instructs to pass APLOG_MARK for the first {'2.2.15': 'two',
'2.3.12-beta': 'three'} parameters.  We don't do that.

tldr We're violating ap_log_rerror()'s API.

2.2.15: #define APLOG_MARK      __FILE__,__LINE__
2.3.12β: #define APLOG_MARK     __FILE__,__LINE__,APLOG_MODULE_INDEX

Reply via email to