Julian Foad wrote:
> Daniel Näslund wrote:
> > [[[
> > Creata a new callback for svn_stream_readline() that can replace, add or
> > delete characters from a line.
> >
> > * subversion/include/svn_io.h
> > (svn_stream_set_line_transformer_callback): Declare
> >
> > * subversion/libsvn_subr/stream.c
> > (svn_stream_set_line_transformer_callback): Sets the new callback
> >
> > * subversion/tests/libsvn_subr/stream-tests.c
> > (line_transformer): A callback of the new function. Removes leading
> > '!' characters. Does not allocate a new line.
> > (test_stream_line_transformer): tests the above callback.
> > ]]]
One more thing. You need to define and state whether the transform is
applied before or after the filter, and implement it accordingly. In
this v2 implementation, you have a mixture of both: you filter first,
but then go on to call line_transformer() on the resulting stringbuf
which may be empty as a result of the filter.
It's great that you already included a test for the transformer. It
would be really good if you could add a test for transforming and
filtering at the same time, as that seems to be an areas where there is
a lot of room for confusion and bugs.
Thanks.
- Julian
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2387899
Received on 2009-08-27 16:18:04 CEST