On Mon, Feb 7, 2011 at 4:12 PM, Hyrum K Wright <hy...@hyrumwright.org> wrote: > On Mon, Feb 7, 2011 at 3:07 PM, Hyrum K Wright <hy...@hyrumwright.org> wrote: >> On Mon, Feb 7, 2011 at 12:10 PM, Philip Martin >> <philip.mar...@wandisco.com> wrote: >>> Johan Corveleyn <jcor...@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? >> >> Local testing reveals this to work. I may not be able to work up a >> commit for a couple of hours; if somebody wants to do it sooner, feel >> free. > > Time flies when you're having fun: r1067960.
Thanks for fixing this, Hyrum :-) Cheers, -- Johan