In the ctypes-python bindings, when I try to use the Stream class
(either via the RemoteRepository.cat() method, or just on its own), I
find that the program crashes at the moment the C code in
svn_stream_write() calls the callback function which is provided by
> class Stream(object):
> def __init__(self, buffer, disown=False):
> svn_stream_set_read(self.stream, svn_read_fn_t(self._read))
> def _write(self, baton, data, l):
So, using the attached patch (with or without the experimental edits it
contains in _read() and _write()), I find the tests suite bombs out
without reporting any results. My usage of GDB and the Python debugger
pdb indicates that _write() is never reached.
If I write a test using a ctypes callback type with the C standard
library's qsort(), as shown in the Python ctypes module documentation
works fine for me.
I wonder if something is wrong with my building and linking of ctypesgen
or the ctypes-python bindings, but on the other hand the obvious bug in
Stream._read() where 'string' is referenced instead of 's' (see my
patch) makes me wonder if this class has ever worked.
Another data point: the log message receiver callback seems to work fine
for me, as tested in
Received on 2011-08-17 14:55:43 CEST