On 28.05.2015 15:01, Philip Martin wrote: > Ivan Zhakov <i...@visualsvn.com> writes: > >> Also I don't understand what do you mean "messy file-based code"? Imho >> code using svn_stream_write() that require pointer to length is more >> messy. > "messy" is not my word but the reason I prefer the stream code is that > we have been moving towards it. Take this change: > > - SVN_ERR(svn_stream_printf(stream, pool, "%s\n", filename)); > + SVN_ERR(svn_io_file_write_full(file, filename, strlen(filename), > + NULL, pool)); > + SVN_ERR(svn_io_file_putc('\n', file, pool)); > > We have svn_stream_printf() and it makes the stream code neater. We > could fix that by introducing svn_io_file_printf(). Either we add all > the neat stream features to the file code or we attempt to move to the > stream code.
Yes, and the former fits my definition of "messy". Even if we add a number of svn_io functions to make file-based code as neat and readable as stream-based code, we'd still be taking a step back in terms of flexibility: you can stack and combine streams, but you can't do that with file handles (other than by inventing a new file abstraction, which is exactly what a stream is). -- Brane