Mike, this generates a compiler warning (see at the end):
cmpilato_at_apache.org wrote on Wed, Nov 17, 2010 at 15:26:33 -0000:
> Author: cmpilato
> Date: Wed Nov 17 15:26:33 2010
> New Revision: 1036078
>
> URL: http://svn.apache.org/viewvc?rev=1036078&view=rev
> Log:
> Fix a library dependency issue which was causing build failures. (As a
> general rule, code inside the FS providers shouldn't call back into
> the public FS API.) Sadly, the constraints of our system (namely the
> BDB side of things) necessitate code duplication rather than sharing.
> svn_error_t *
> svn_fs_validate_mergeinfo(svn_mergeinfo_t *validated_mergeinfo,
> - svn_mergeinfo_t mergeinfo,
> svn_fs_t *fs,
> + svn_mergeinfo_t mergeinfo,
> apr_pool_t *result_pool,
> apr_pool_t *scratch_pool);
> @@ -197,6 +197,10 @@ typedef struct fs_vtable_t
> svn_error_t *(*bdb_set_errcall)(svn_fs_t *fs,
> void (*handler)(const char *errpfx,
> char *msg));
> + svn_error_t *(*validate_mergeinfo)(svn_mergeinfo_t *validated_mergeinfo,
> + svn_mergeinfo_t mergeinfo,
> + apr_pool_t *result_pool,
> + apr_pool_t *scratch_pool);
> } fs_vtable_t;
This function doesn't have an svn_fs_t * parameter...
> +/* Implements svn_fs_validate_mergeinfo. */
> +svn_error_t *
> +svn_fs_base__validate_mergeinfo(svn_mergeinfo_t *validated_mergeinfo,
> + svn_fs_t *fs,
> + svn_mergeinfo_t mergeinfo,
> + apr_pool_t *result_pool,
> + apr_pool_t *scratch_pool);
> +
> +/* Implements svn_fs_validate_mergeinfo. */
> +svn_error_t *
> +svn_fs_fs__validate_mergeinfo(svn_mergeinfo_t *validated_mergeinfo,
> + svn_fs_t *fs,
> + svn_mergeinfo_t mergeinfo,
> + apr_pool_t *result_pool,
> + apr_pool_t *scratch_pool);
but these two do...
> @@ -497,6 +497,7 @@ static fs_vtable_t fs_vtable = {
> svn_fs_base__get_lock,
> svn_fs_base__get_locks,
> base_bdb_set_errcall,
> + svn_fs_base__validate_mergeinfo,
> };
> @@ -159,7 +159,8 @@ static fs_vtable_t fs_vtable = {
> svn_fs_fs__unlock,
> svn_fs_fs__get_lock,
> svn_fs_fs__get_locks,
> - fs_set_errcall
> + fs_set_errcall,
> + svn_fs_fs__validate_mergeinfo,
> };
And therefore:
subversion/libsvn_fs_fs/fs.c:163: warning: initialization from incompatible pointer type
subversion/libsvn_fs_base/fs.c:500: warning: initialization from incompatible pointer type
Received on 2010-11-18 03:21:44 CET