diff options
Diffstat (limited to 'subversion/bindings/javahl/native/InputStream.cpp')
-rw-r--r-- | subversion/bindings/javahl/native/InputStream.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/subversion/bindings/javahl/native/InputStream.cpp b/subversion/bindings/javahl/native/InputStream.cpp index 1c73ba2..ac10f9e 100644 --- a/subversion/bindings/javahl/native/InputStream.cpp +++ b/subversion/bindings/javahl/native/InputStream.cpp @@ -54,7 +54,8 @@ svn_stream_t *InputStream::getStream(const SVN::Pool &pool) // Create a stream with this as the baton and set the read and // close functions. svn_stream_t *ret = svn_stream_create(this, pool.getPool()); - svn_stream_set_read(ret, InputStream::read); + svn_stream_set_read2(ret, InputStream::read, + NULL /* only partial read support */); svn_stream_set_close(ret, InputStream::close); return ret; } @@ -68,6 +69,9 @@ svn_stream_t *InputStream::getStream(const SVN::Pool &pool) */ svn_error_t *InputStream::read(void *baton, char *buffer, apr_size_t *len) { + if (0 == *len) + return SVN_NO_ERROR; + JNIEnv *env = JNIUtil::getEnv(); // An object of our class is passed in as the baton. InputStream *that = static_cast<InputStream *>(baton); |