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. -Hyrum