[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1036078 - in /subversion/trunk/subversion: include/svn_fs.h libsvn_fs/fs-loader.c libsvn_fs/fs-loader.h libsvn_fs_base/fs.c libsvn_fs_base/tree.c libsvn_fs_base/tree.h libsvn_fs_fs/fs.c libsvn_fs_fs/tree.c libsvn_fs_fs/tree.h

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Thu, 18 Nov 2010 04:18:28 +0200

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

This is an archived mail posted to the Subversion Dev mailing list.