You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2012/05/08 20:56:07 UTC

svn commit: r1335695 - in /subversion/trunk/subversion: include/svn_io.h libsvn_subr/stream.c libsvn_wc/adm_ops.c

Author: cmpilato
Date: Tue May  8 18:56:07 2012
New Revision: 1335695

URL: http://svn.apache.org/viewvc?rev=1335695&view=rev
Log:
Follow-up to r1335566:

* subversion/include/svn_io.h,
* subversion/libsvn_subr/stream.c
  (svn_stream_lazyopen_create): Tweak function signature and behavior
    to just return the stream directly (rather than an error).

* subversion/libsvn_wc/adm_ops.c
  (svn_wc__get_pristine_contents_by_checksum): Update call to
    svn_stream_lazyopen_create().

Suggested by: gstein

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

Modified: subversion/trunk/subversion/include/svn_io.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_io.h?rev=1335695&r1=1335694&r2=1335695&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_io.h (original)
+++ subversion/trunk/subversion/include/svn_io.h Tue May  8 18:56:07 2012
@@ -1341,9 +1341,9 @@ typedef svn_error_t *
                               apr_pool_t *scratch_pool);
 
 
-/** Set @a *stream to a generic stream which wraps another primary
- * stream, delaying the "opening" of that stream until the first time
- * the stream is accessed.
+/** Return a generic stream which wraps another primary stream,
+ * delaying the "opening" of that stream until the first time the
+ * stream is accessed.
  *
  * @a open_func and @a open_baton are a callback function/baton pair
  * invoked upon the first read of @a *stream which are used to open the
@@ -1351,9 +1351,8 @@ typedef svn_error_t *
  *
  * @since New in 1.8.
  */
-svn_error_t *
-svn_stream_lazyopen_create(svn_stream_t **stream,
-                           svn_stream_lazyopen_func_t open_func,
+svn_stream_t *
+svn_stream_lazyopen_create(svn_stream_lazyopen_func_t open_func,
                            void *open_baton,
                            apr_pool_t *result_pool);
 

Modified: subversion/trunk/subversion/libsvn_subr/stream.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/stream.c?rev=1335695&r1=1335694&r2=1335695&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/stream.c (original)
+++ subversion/trunk/subversion/libsvn_subr/stream.c Tue May  8 18:56:07 2012
@@ -1780,27 +1780,26 @@ seek_handler_lazyopen(void *baton,
   return SVN_NO_ERROR;
 }
 
-/* Implements svn_stream_stream_fn_t */
-svn_error_t *
-svn_stream_lazyopen_create(svn_stream_t **stream,
-                           svn_stream_lazyopen_func_t open_func,
+svn_stream_t *
+svn_stream_lazyopen_create(svn_stream_lazyopen_func_t open_func,
                            void *open_baton,
                            apr_pool_t *result_pool)
 {
   lazyopen_baton_t *lob = apr_pcalloc(result_pool, sizeof(*lob));
+  svn_stream_t *stream;
 
   lob->open_func = open_func;
   lob->open_baton = open_baton;
   lob->real_stream = NULL;
   lob->pool = result_pool;
 
-  *stream = svn_stream_create(lob, result_pool);
-  svn_stream_set_read(*stream, read_handler_lazyopen);
-  svn_stream_set_skip(*stream, skip_handler_lazyopen);
-  svn_stream_set_write(*stream, write_handler_lazyopen);
-  svn_stream_set_close(*stream, close_handler_lazyopen);
-  svn_stream_set_mark(*stream, mark_handler_lazyopen);
-  svn_stream_set_seek(*stream, seek_handler_lazyopen);
-
-  return SVN_NO_ERROR;
+  stream = svn_stream_create(lob, result_pool);
+  svn_stream_set_read(stream, read_handler_lazyopen);
+  svn_stream_set_skip(stream, skip_handler_lazyopen);
+  svn_stream_set_write(stream, write_handler_lazyopen);
+  svn_stream_set_close(stream, close_handler_lazyopen);
+  svn_stream_set_mark(stream, mark_handler_lazyopen);
+  svn_stream_set_seek(stream, seek_handler_lazyopen);
+  
+  return stream;
 }

Modified: subversion/trunk/subversion/libsvn_wc/adm_ops.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_ops.c?rev=1335695&r1=1335694&r2=1335695&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_ops.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Tue May  8 18:56:07 2012
@@ -2299,8 +2299,8 @@ svn_wc__get_pristine_contents_by_checksu
       gpl_baton->wri_abspath = wri_abspath;
       gpl_baton->sha1_checksum = sha1_checksum;
       
-      SVN_ERR(svn_stream_lazyopen_create(contents, get_pristine_lazyopen_func,
-                                         gpl_baton, result_pool));
+      *contents = svn_stream_lazyopen_create(get_pristine_lazyopen_func,
+                                             gpl_baton, result_pool);
     }
 
   return SVN_NO_ERROR;