Author: rhuijben
Date: Thu Aug  5 08:05:53 2010
New Revision: 982495

URL: http://svn.apache.org/viewvc?rev=982495&view=rev
Log:
Allow many more code paths in serf to return proper error codes by making
the request_body and request_header delegates return an svn_error_t *.

Except for this callback change this patch should not introduce functional
changes.

* subversion/libsvn_ra_serf/blame.c
  (create_file_revs_body): Update arguments and return value.

* subversion/libsvn_ra_serf/commit.c
  (create_checkout_body
   setup_proppatch_headers,
   create_proppatch_body,
   create_put_body,
   create_empty_put_body,
   setup_copy_file_headers,
   setup_delete_headers,
   create_delete_body): Update return type and/or arguments.

* subversion/libsvn_ra_serf/getdate.c
  (create_getdate_body): Update arguments and return type.

* subversion/libsvn_ra_serf/getlocations.c
  (get_locations_body): Update callback prototype.

* subversion/libsvn_ra_serf/getlocationsegments.c
  (create_gls_body): Update callback prototype.

* subversion/libsvn_ra_serf/getlocks.c
  (create_getlocks_body): Update callback prototype.

* subversion/libsvn_ra_serf/get_deleted_rev.c
  (create_getdrev_body): Update callback prototype.

* subversion/libsvn_ra_serf/locks.c
  (set_lock_headers,
   create_getlock_body
   setup_getlock_headers
   create_lock_body,
   set_unlock_headers): Update callback prototype.

* subversion/libsvn_ra_serf/log.c
  (create_log_body):

* subversion/libsvn_ra_serf/merge.c
  (setup_merge_headers,
   create_merge_body): Update callback prototype.

* subversion/libsvn_ra_serf/mergeinfo.c
  (create_mergeinfo_body): Update callback prototype.

* subversion/libsvn_ra_serf/options.c
  (create_options_body):

* subversion/libsvn_ra_serf/property.c
  (setup_propfind_headers,
   create_propfind_body): Update callback prototype.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__request_body_delegate_t,
   svn_ra_serf__request_header_delegate_t): Return an svn_error_t *.

* subversion/libsvn_ra_serf/replay.c
  (create_replay_body): Update callback prototype.

* subversion/libsvn_ra_serf/update.c
  (headers_fetch,
   create_update_report_body): Update callback prototype.

* subversion/libsvn_ra_serf/util.c
  (setup_request_cb): Handle errors from the delegates

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/blame.c
    subversion/trunk/subversion/libsvn_ra_serf/commit.c
    subversion/trunk/subversion/libsvn_ra_serf/get_deleted_rev.c
    subversion/trunk/subversion/libsvn_ra_serf/getdate.c
    subversion/trunk/subversion/libsvn_ra_serf/getlocations.c
    subversion/trunk/subversion/libsvn_ra_serf/getlocationsegments.c
    subversion/trunk/subversion/libsvn_ra_serf/getlocks.c
    subversion/trunk/subversion/libsvn_ra_serf/locks.c
    subversion/trunk/subversion/libsvn_ra_serf/log.c
    subversion/trunk/subversion/libsvn_ra_serf/merge.c
    subversion/trunk/subversion/libsvn_ra_serf/mergeinfo.c
    subversion/trunk/subversion/libsvn_ra_serf/options.c
    subversion/trunk/subversion/libsvn_ra_serf/property.c
    subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
    subversion/trunk/subversion/libsvn_ra_serf/replay.c
    subversion/trunk/subversion/libsvn_ra_serf/update.c
    subversion/trunk/subversion/libsvn_ra_serf/util.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/blame.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/blame.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/blame.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/blame.c Thu Aug  5 08:05:53 2010
@@ -382,8 +382,10 @@ cdata_blame(svn_ra_serf__xml_parser_t *p
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_file_revs_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_file_revs_body(serf_bucket_t **body_bkt,
+                      void *baton,
                       serf_bucket_alloc_t *alloc,
                       apr_pool_t *pool)
 {
@@ -419,7 +421,7 @@ create_file_revs_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(buckets, alloc,
                                      "S:file-revs-report");
 
-  return buckets;
+  *body_bkt = buckets;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/commit.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/commit.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/commit.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/commit.c Thu Aug  5 08:05:53 2010
@@ -238,8 +238,10 @@ return_response_err(svn_ra_serf__handler
                                   err);
 }
 
-static serf_bucket_t *
-create_checkout_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_checkout_body(serf_bucket_t **bkt,
+                     void *baton,
                      serf_bucket_alloc_t *alloc,
                      apr_pool_t *pool)
 {
@@ -263,7 +265,8 @@ create_checkout_body(void *baton,
   svn_ra_serf__add_tag_buckets(body_bkt, "D:apply-to-version", NULL, alloc);
   svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:checkout");
 
-  return body_bkt;
+  *bkt = body_bkt;
+  return SVN_NO_ERROR;
 }
 
 /* Implements svn_ra_serf__response_handler_t */
@@ -707,7 +710,7 @@ proppatch_walker(void *baton,
   return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_proppatch_headers(serf_bucket_t *headers,
                         void *baton,
                         apr_pool_t *pool)
@@ -738,11 +741,13 @@ setup_proppatch_headers(serf_bucket_t *h
         }
     }
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_proppatch_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_proppatch_body(serf_bucket_t **bkt,
+                      void *baton,
                       serf_bucket_alloc_t *alloc,
                       apr_pool_t *pool)
 {
@@ -790,7 +795,8 @@ create_proppatch_body(void *baton,
 
   svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:propertyupdate");
 
-  return body_bkt;
+  *bkt = body_bkt;
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t*
@@ -832,8 +838,10 @@ proppatch_resource(proppatch_context_t *
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_put_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_put_body(serf_bucket_t **body_bkt,
+                void *baton,
                 serf_bucket_alloc_t *alloc,
                 apr_pool_t *pool)
 {
@@ -856,18 +864,22 @@ create_put_body(void *baton,
   offset = 0;
   apr_file_seek(ctx->svndiff, APR_SET, &offset);
 
-  return serf_bucket_file_create(ctx->svndiff, alloc);
+  *body_bkt = serf_bucket_file_create(ctx->svndiff, alloc);
+  return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_empty_put_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_empty_put_body(serf_bucket_t **body_bkt,
+                      void *baton,
                       serf_bucket_alloc_t *alloc,
                       apr_pool_t *pool)
 {
-  return SERF_BUCKET_SIMPLE_STRING("", alloc);
+  *body_bkt = SERF_BUCKET_SIMPLE_STRING("", alloc);
+  return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_put_headers(serf_bucket_t *headers,
                   void *baton,
                   apr_pool_t *pool)
@@ -912,7 +924,7 @@ setup_put_headers(serf_bucket_t *headers
   return APR_SUCCESS;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_copy_file_headers(serf_bucket_t *headers,
                         void *baton,
                         apr_pool_t *pool)
@@ -931,10 +943,10 @@ setup_copy_file_headers(serf_bucket_t *h
   serf_bucket_headers_set(headers, "Depth", "0");
   serf_bucket_headers_set(headers, "Overwrite", "T");
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_copy_dir_headers(serf_bucket_t *headers,
                        void *baton,
                        apr_pool_t *pool)
@@ -975,10 +987,10 @@ setup_copy_dir_headers(serf_bucket_t *he
                apr_pstrdup(dir->commit->pool, dir->name), APR_HASH_KEY_STRING,
                (void*)1);
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_delete_headers(serf_bucket_t *headers,
                      void *baton,
                      apr_pool_t *pool)
@@ -1008,11 +1020,13 @@ setup_delete_headers(serf_bucket_t *head
         }
     }
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_delete_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_delete_body(serf_bucket_t **body_bkt,
+                   void *baton,
                    serf_bucket_alloc_t *alloc,
                    apr_pool_t *pool)
 {
@@ -1026,7 +1040,8 @@ create_delete_body(void *baton,
   svn_ra_serf__merge_lock_token_list(ctx->lock_token_hash, ctx->path,
                                      body, alloc, pool);
 
-  return body;
+  *body_bkt = body;
+  return SVN_NO_ERROR;
 }
 
 /* Helper function to write the svndiff stream to temporary file. */

Modified: subversion/trunk/subversion/libsvn_ra_serf/get_deleted_rev.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/get_deleted_rev.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/get_deleted_rev.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/get_deleted_rev.c Thu Aug  5 
08:05:53 2010
@@ -136,8 +136,10 @@ cdata_getdrev(svn_ra_serf__xml_parser_t 
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_getdrev_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_getdrev_body(serf_bucket_t **body_bkt,
+                    void *baton,
                     serf_bucket_alloc_t *alloc,
                     apr_pool_t *pool)
 {
@@ -169,7 +171,8 @@ create_getdrev_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(buckets, alloc,
                                      "S:get-deleted-rev-report");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/getdate.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/getdate.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/getdate.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/getdate.c Thu Aug  5 08:05:53 
2010
@@ -164,8 +164,10 @@ cdata_getdate(svn_ra_serf__xml_parser_t 
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_getdate_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_getdate_body(serf_bucket_t **body_bkt,
+                    void *baton,
                     serf_bucket_alloc_t *alloc,
                     apr_pool_t *pool)
 {
@@ -186,7 +188,8 @@ create_getdate_body(void *baton,
 
   svn_ra_serf__add_close_tag_buckets(buckets, alloc, "S:dated-rev-report");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/getlocations.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/getlocations.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/getlocations.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/getlocations.c Thu Aug  5 
08:05:53 2010
@@ -180,8 +180,10 @@ end_getloc(svn_ra_serf__xml_parser_t *pa
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_get_locations_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_get_locations_body(serf_bucket_t **body_bkt,
+                          void *baton,
                           serf_bucket_alloc_t *alloc,
                           apr_pool_t *pool)
 {
@@ -216,7 +218,8 @@ create_get_locations_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(buckets, alloc,
                                      "S:get-locations");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/getlocationsegments.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/getlocationsegments.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/getlocationsegments.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/getlocationsegments.c Thu Aug  5 
08:05:53 2010
@@ -126,8 +126,10 @@ end_gls(svn_ra_serf__xml_parser_t *parse
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_gls_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_gls_body(serf_bucket_t **body_bkt,
+                void *baton,
                 serf_bucket_alloc_t *alloc,
                 apr_pool_t *pool)
 {
@@ -163,7 +165,8 @@ create_gls_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(buckets, alloc,
                                      "S:get-location-segments");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/getlocks.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/getlocks.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/getlocks.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/getlocks.c Thu Aug  5 08:05:53 
2010
@@ -295,8 +295,10 @@ cdata_getlocks(svn_ra_serf__xml_parser_t
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_getlocks_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_getlocks_body(serf_bucket_t **body_bkt,
+                     void *baton,
                      serf_bucket_alloc_t *alloc,
                      apr_pool_t *pool)
 {
@@ -310,7 +312,8 @@ create_getlocks_body(void *baton,
     "depth", svn_depth_to_word(lock_ctx->requested_depth), NULL);
   svn_ra_serf__add_close_tag_buckets(buckets, alloc, "S:get-locks-report");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/locks.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/locks.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/locks.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/locks.c Thu Aug  5 08:05:53 2010
@@ -321,7 +321,7 @@ static const svn_ra_serf__dav_props_t lo
   { NULL }
 };
 
-static apr_status_t
+static svn_error_t *
 set_lock_headers(serf_bucket_t *headers,
                  void *baton,
                  apr_pool_t *pool)
@@ -430,8 +430,10 @@ handle_lock(serf_request_t *request,
                                         handler_baton, pool);
 }
 
-static serf_bucket_t*
-create_getlock_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_getlock_body(serf_bucket_t **body_bkt,
+                    void *baton,
                     serf_bucket_alloc_t *alloc,
                     apr_pool_t *pool)
 {
@@ -448,21 +450,24 @@ create_getlock_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(buckets, alloc, "prop");
   svn_ra_serf__add_close_tag_buckets(buckets, alloc, "propfind");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t*
 setup_getlock_headers(serf_bucket_t *headers,
                       void *baton,
                       apr_pool_t *pool)
 {
   serf_bucket_headers_set(headers, "Depth", "0");
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_lock_body(void *baton,
+/* Implements svn_ra_serf__request_body_delegate_t */
+static svn_error_t *
+create_lock_body(serf_bucket_t **body_bkt,
+                 void *baton,
                  serf_bucket_alloc_t *alloc,
                  apr_pool_t *pool)
 {
@@ -492,7 +497,8 @@ create_lock_body(void *baton,
 
   svn_ra_serf__add_close_tag_buckets(buckets, alloc, "lockinfo");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *
@@ -651,7 +657,7 @@ struct unlock_context_t {
   svn_boolean_t force;
 };
 
-static apr_status_t
+static svn_error_t *
 set_unlock_headers(serf_bucket_t *headers,
                    void *baton,
                    apr_pool_t *pool)
@@ -665,7 +671,7 @@ set_unlock_headers(serf_bucket_t *header
                               SVN_DAV_OPTION_LOCK_BREAK);
     }
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/log.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/log.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/log.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/log.c Thu Aug  5 08:05:53 2010
@@ -459,8 +459,9 @@ cdata_log(svn_ra_serf__xml_parser_t *par
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_log_body(void *baton,
+static svn_error_t *
+create_log_body(serf_bucket_t **body_bkt,
+                void *baton,
                 serf_bucket_alloc_t *alloc,
                 apr_pool_t *pool)
 {
@@ -550,7 +551,8 @@ create_log_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(buckets, alloc,
                                      "S:log-report");
 
-  return buckets;
+  *body_bkt = buckets;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/merge.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/merge.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/merge.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/merge.c Thu Aug  5 08:05:53 2010
@@ -405,7 +405,7 @@ cdata_merge(svn_ra_serf__xml_parser_t *p
   return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_merge_headers(serf_bucket_t *headers,
                     void *baton,
                     apr_pool_t *pool)
@@ -418,7 +418,7 @@ setup_merge_headers(serf_bucket_t *heade
                               SVN_DAV_OPTION_RELEASE_LOCKS);
     }
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
 void
@@ -469,8 +469,9 @@ svn_ra_serf__merge_lock_token_list(apr_h
   svn_ra_serf__add_close_tag_buckets(body, alloc, "S:lock-token-list");
 }
 
-static serf_bucket_t*
-create_merge_body(void *baton,
+static svn_error_t*
+create_merge_body(serf_bucket_t **bkt,
+                  void *baton,
                   serf_bucket_alloc_t *alloc,
                   apr_pool_t *pool)
 {
@@ -508,7 +509,9 @@ create_merge_body(void *baton,
 
   svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "D:merge");
 
-  return body_bkt;
+  *bkt = body_bkt;
+
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/mergeinfo.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/mergeinfo.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/mergeinfo.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/mergeinfo.c Thu Aug  5 08:05:53 
2010
@@ -176,8 +176,9 @@ cdata_handler(svn_ra_serf__xml_parser_t 
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_mergeinfo_body(void *baton,
+static svn_error_t *
+create_mergeinfo_body(serf_bucket_t **bkt,
+                      void *baton,
                       serf_bucket_alloc_t *alloc,
                       apr_pool_t *pool)
 {
@@ -221,7 +222,8 @@ create_mergeinfo_body(void *baton,
   svn_ra_serf__add_close_tag_buckets(body_bkt, alloc,
                                      "S:" SVN_DAV__MERGEINFO_REPORT);
 
-  return body_bkt;
+  *bkt = body_bkt;
+  return SVN_NO_ERROR;
 }
 
 /* Request a mergeinfo-report from the URL attached to SESSION,

Modified: subversion/trunk/subversion/libsvn_ra_serf/options.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/options.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/options.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/options.c Thu Aug  5 08:05:53 
2010
@@ -210,8 +210,9 @@ cdata_options(svn_ra_serf__xml_parser_t 
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t*
-create_options_body(void *baton,
+static svn_error_t *
+create_options_body(serf_bucket_t **body_bkt,
+                    void *baton,
                     serf_bucket_alloc_t *alloc,
                     apr_pool_t *pool)
 {
@@ -224,7 +225,8 @@ create_options_body(void *baton,
   svn_ra_serf__add_tag_buckets(body, "D:activity-collection-set", NULL, alloc);
   svn_ra_serf__add_close_tag_buckets(body, alloc, "D:options");
 
-  return body;
+  *body_bkt = body;
+  return SVN_NO_ERROR;
 }
 
 svn_boolean_t*

Modified: subversion/trunk/subversion/libsvn_ra_serf/property.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/property.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/property.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/property.c Thu Aug  5 08:05:53 
2010
@@ -420,7 +420,7 @@ cdata_propfind(svn_ra_serf__xml_parser_t
   return SVN_NO_ERROR;
 }
 
-static apr_status_t
+static svn_error_t *
 setup_propfind_headers(serf_bucket_t *headers,
                         void *setup_baton,
                         apr_pool_t *pool)
@@ -437,14 +437,15 @@ setup_propfind_headers(serf_bucket_t *he
       serf_bucket_headers_setn(headers, "Label", ctx->label);
     }
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
 #define PROPFIND_HEADER "<?xml version=\"1.0\" encoding=\"utf-8\"?><propfind 
xmlns=\"DAV:\">"
 #define PROPFIND_TRAILER "</propfind>"
 
-static serf_bucket_t*
-create_propfind_body(void *setup_baton,
+static svn_error_t *
+create_propfind_body(serf_bucket_t **bkt,
+                     void *setup_baton,
                      serf_bucket_alloc_t *alloc,
                      apr_pool_t *pool)
 {
@@ -515,7 +516,8 @@ create_propfind_body(void *setup_baton,
                                       alloc);
   serf_bucket_aggregate_append(body_bkt, tmp);
 
-  return body_bkt;
+  *bkt = body_bkt;
+  return SVN_NO_ERROR;
 }
 
 static svn_boolean_t

Modified: subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h Thu Aug  5 08:05:53 
2010
@@ -444,13 +444,14 @@ typedef svn_error_t *
                                 apr_pool_t *pool);
 
 /* Callback for when a request body is needed. */
-typedef serf_bucket_t*
-(*svn_ra_serf__request_body_delegate_t)(void *baton,
+typedef svn_error_t *
+(*svn_ra_serf__request_body_delegate_t)(serf_bucket_t **body_bkt,
+                                        void *baton,
                                         serf_bucket_alloc_t *alloc,
                                         apr_pool_t *pool);
 
 /* Callback for when request headers are needed. */
-typedef apr_status_t
+typedef svn_error_t *
 (*svn_ra_serf__request_header_delegate_t)(serf_bucket_t *headers,
                                           void *baton,
                                           apr_pool_t *pool);

Modified: subversion/trunk/subversion/libsvn_ra_serf/replay.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/replay.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/replay.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/replay.c Thu Aug  5 08:05:53 2010
@@ -564,8 +564,9 @@ cdata_replay(svn_ra_serf__xml_parser_t *
   return SVN_NO_ERROR;
 }
 
-static serf_bucket_t *
-create_replay_body(void *baton,
+static svn_error_t *
+create_replay_body(serf_bucket_t **bkt,
+                   void *baton,
                    serf_bucket_alloc_t *alloc,
                    apr_pool_t *pool)
 {
@@ -595,7 +596,8 @@ create_replay_body(void *baton,
 
   svn_ra_serf__add_close_tag_buckets(body_bkt, alloc, "S:replay-report");
 
-  return body_bkt;
+  *bkt = body_bkt;
+  return SVN_NO_ERROR;
 }
 
 svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/update.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/update.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/update.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/update.c Thu Aug  5 08:05:53 2010
@@ -668,7 +668,7 @@ check_lock(report_info_t *info)
     }
 }
 
-static apr_status_t
+static svn_error_t *
 headers_fetch(serf_bucket_t *headers,
               void *baton,
               apr_pool_t *pool)
@@ -689,7 +689,7 @@ headers_fetch(serf_bucket_t *headers,
       serf_bucket_headers_setn(headers, "Accept-Encoding", "gzip");
     }
 
-  return APR_SUCCESS;
+  return SVN_NO_ERROR;
 }
 
 static apr_status_t
@@ -2213,8 +2213,9 @@ open_connection_if_needed(svn_ra_serf__s
 }
 
 /* Serf callback to create update request body bucket. */
-static serf_bucket_t *
-create_update_report_body(void *baton,
+static svn_error_t *
+create_update_report_body(serf_bucket_t **body_bkt,
+                          void *baton,
                           serf_bucket_alloc_t *alloc,
                           apr_pool_t *pool)
 {
@@ -2224,7 +2225,9 @@ create_update_report_body(void *baton,
   offset = 0;
   apr_file_seek(report->body_file, APR_SET, &offset);
 
-  return serf_bucket_file_create(report->body_file, alloc);
+  *body_bkt = serf_bucket_file_create(report->body_file, alloc);
+
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *

Modified: subversion/trunk/subversion/libsvn_ra_serf/util.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/util.c?rev=982495&r1=982494&r2=982495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/util.c Thu Aug  5 08:05:53 2010
@@ -1507,8 +1507,8 @@ setup_request_cb(serf_request_t *request
 
       if (ctx->body_delegate)
         {
-          body_bkt =
-              ctx->body_delegate(ctx->body_delegate_baton, bkt_alloc, pool);
+          SVN_ERR(ctx->body_delegate(&body_bkt, ctx->body_delegate_baton,
+                                     bkt_alloc, pool));
         }
       else
         {
@@ -1521,7 +1521,8 @@ setup_request_cb(serf_request_t *request
 
       if (ctx->header_delegate)
         {
-          ctx->header_delegate(headers_bkt, ctx->header_delegate_baton, pool);
+          SVN_ERR(ctx->header_delegate(headers_bkt, ctx->header_delegate_baton,
+                                       pool));
         }
     }
 


Reply via email to