Johan Corveleyn <jcorvel_at_gmail.com> writes:
> Apparently I broke the builds on the builtbots yesterday evening,
> after integrating the diff-optimizations-bytes branch. Sorry for that.
>
> There were two problems:
> - Failing diff-diff3-test.exe (actually hanging). This was rectified
> in r1067839.
>
> - Failing (python) bindings. I could use some help with that (I don't
> understand how these are generated, and where/what I should change).
> This is the relevant excerpt from stdio from svn-x64-centos gcc:
On Linux one runs 'make swig-py' to build the Python SWIG bindings and
'make check-swig-py' to run the tests.
SWIG generates C code from the .i files in subversion/bindings/swig,
maybe using the subversion/include headers as well (I'm not an expert).
>
> [[[
> subversion/bindings/swig/python/svn_diff.c: In function
> 'svn_diff_fns2_invoke_datasources_open':
> subversion/bindings/swig/python/svn_diff.c:2838: warning: passing
> argument 3 of '_obj->datasources_open' makes pointer from integer
> without a cast
> subversion/bindings/swig/python/svn_diff.c:2838: error: too few
> arguments to function '_obj->datasources_open'
> subversion/bindings/swig/python/svn_diff.c:2839: warning: control
> reaches end of non-void function
> ]]]
>
> Can someone, more knowledgeable than me with the bindings, take a look
> at this and/or give me a pointer for what I should do?
Looking at the declaration in svn_diff.h:
/** A vtable for reading data from the three datasources. */
typedef struct svn_diff_fns2_t
{
/** Open the datasources of type @a datasources. */
svn_error_t *(*datasources_open)(void *diff_baton, apr_off_t *prefix_lines,
svn_diff_datasource_e datasource[],
apr_size_t datasource_len);
and the generated code:
static svn_error_t * svn_diff_fns2_invoke_datasources_open(
svn_diff_fns2_t * _obj, void *diff_baton, apr_off_t *prefix_lines, svn_diff_da
tasource_e datasource[], apr_size_t datasource_len) {
return (_obj->datasources_open)(diff_baton, prefix_lines, datasource_len);
}
I see that SWIG has simply dropped the datasource parameter. Perhaps
SWIG cannot cope with the [] syntax? Could you use * instead?
--
Philip
Received on 2011-02-07 13:11:40 CET