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
Received on 2011-06-30 03:42:53 CEST