rendered paste body
svn_error_t *
foo (svn_stream_t* s, apr_pool_t *pool)
{
unsigned char digest[APR_MD5_DIGESTSIZE];
svn_stream_t *stream = svn_stream_checksummed (s, digest, NULL, pool);
}
svn_stream_t *
svn_stream_checksummed (svn_stream_t *stream,
unsigned char *read_digest,
unsigned char *write_digest,
apr_pool_t *pool)
{
svn_stream_t *s;
struct md5_stream_baton *baton;
if (! read_digest && ! write_digest)
return stream;
baton = apr_palloc (pool, sizeof (*baton));
apr_md5_init (&baton->read_ctx);
apr_md5_init (&baton->write_ctx);
baton->read_digest = read_digest;
baton->write_digest = write_digest;
baton->proxy = stream;
s = svn_stream_create (baton, pool);
svn_stream_set_read (s, read_handler_md5);
svn_stream_set_write (s, write_handler_md5);
svn_stream_set_close (s, close_handler_md5);
return s;
}