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