You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2014/02/19 06:08:13 UTC

svn commit: r1569630 - in /subversion/trunk/subversion: include/svn_io.h libsvn_subr/stream.c

Author: brane
Date: Wed Feb 19 05:08:13 2014
New Revision: 1569630

URL: http://svn.apache.org/r1569630
Log:
Add a query to the stream API to determine if a stream supports
partial reads.

* subversion/include/svn_io.h
  (svn_stream_supports_partial_read): New.
* subversion/libsvn_subr/stream.c
  (svn_stream_supports_partial_read): Implement.

Modified:
    subversion/trunk/subversion/include/svn_io.h
    subversion/trunk/subversion/libsvn_subr/stream.c

Modified: subversion/trunk/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_io.h?rev=1569630&r1=1569629&r2=1569630&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_io.h (original)
+++ subversion/trunk/subversion/include/svn_io.h Wed Feb 19 05:08:13 2014
@@ -1217,6 +1217,14 @@ svn_stream_read_full(svn_stream_t *strea
                      char *buffer,
                      apr_size_t *len);
 
+
+/** Returns @c TRUE if the generic @c stream supports svn_stream_read2().
+ *
+ * @since New in 1.9.
+ */
+svn_boolean_t
+svn_stream_supports_partial_read(svn_stream_t *stream);
+
 /** Read all currently available upto @a *len into @a buffer. Use
  * svn_stream_read_full() if you want to wait for the buffer to be filled
  * or EOF. If the stream doesn't support limited reads this function will

Modified: subversion/trunk/subversion/libsvn_subr/stream.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/stream.c?rev=1569630&r1=1569629&r2=1569630&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/stream.c (original)
+++ subversion/trunk/subversion/libsvn_subr/stream.c Wed Feb 19 05:08:13 2014
@@ -178,6 +178,12 @@ full_read_fallback(svn_stream_t *stream,
   return SVN_NO_ERROR;
 }
 
+svn_boolean_t
+svn_stream_supports_partial_read(svn_stream_t *stream)
+{
+  return stream->read_fn != NULL;
+}
+
 svn_error_t *
 svn_stream_read2(svn_stream_t *stream, char *buffer, apr_size_t *len)
 {