[[[
JavaHL: Fix return value from the java svn_stream_t read function to be
compatible with the txdelta_next_window function
[ in subversion/bindings/javahl/native ]
* InputStream.cpp
(read): Return 0 instead of -1 as expected by the txdelta_next_window
function
]]]
Index: subversion/bindings/javahl/native/InputStream.cpp
===================================================================
--- subversion/bindings/javahl/native/InputStream.cpp (revision 1328758)
+++ subversion/bindings/javahl/native/InputStream.cpp (working copy)
@@ -99,6 +99,14 @@ svn_error_t *InputStream::read(void *baton, char *
if (JNIUtil::isJavaExceptionThrown())
return SVN_NO_ERROR;
+ /*
+ * Convert -1 from InputStream.read that means EOF, 0 which is subversion
equivalent
+ */
+ if(jread == -1)
+ {
+ jread = 0;
+ }
+
// Put the Java byte array into a helper object to retrieve the
// data bytes.
JNIByteArray outdata(data, true);
@@ -107,7 +115,7 @@ svn_error_t *InputStream::read(void *baton, char *
// Catch when the Java method tells us it read too much data.
if (jread > (jint) *len)
- jread = -1;
+ jread = 0;
// In the case of success copy the data back to the Subversion
// buffer.