summaryrefslogtreecommitdiff
path: root/subversion/bindings/javahl/native/InputStream.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-08-05 16:22:51 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-08-05 16:22:51 +0000
commitcf46733632c7279a9fd0fe6ce26f9185a4ae82a9 (patch)
treeda27775a2161723ef342e91af41a8b51fedef405 /subversion/bindings/javahl/native/InputStream.cpp
parentbb0ef45f7c46b0ae221b26265ef98a768c33f820 (diff)
downloadsubversion-tarball-master.tar.gz
Diffstat (limited to 'subversion/bindings/javahl/native/InputStream.cpp')
-rw-r--r--subversion/bindings/javahl/native/InputStream.cpp6
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);