Author: ivan
Date: Sat Feb 19 20:02:07 2011
New Revision: 1072429

URL: http://svn.apache.org/viewvc?rev=1072429&view=rev
Log:
ra_serf: Fix uninitialized return value.

* subversion/libsvn_ra_serf/property.c
  (svn_ra_serf__get_file): Handle situation when caller requested fetched 
   revision.
* subversion/libsvn_ra_serf/update.c
  (svn_ra_serf__get_baseline_info): Handle situation when caller requested 
   fetched revision when dealing with HTTPv2 server.

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/property.c
    subversion/trunk/subversion/libsvn_ra_serf/update.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/property.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/property.c?rev=1072429&r1=1072428&r2=1072429&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/property.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/property.c Sat Feb 19 20:02:07 
2011
@@ -970,19 +970,26 @@ svn_ra_serf__get_baseline_info(const cha
 
       if (latest_revnum)
         {
-          svn_ra_serf__options_context_t *opt_ctx;
+          if (SVN_IS_VALID_REVNUM(revision))
+            {
+              *latest_revnum = revision;
+            }
+          else
+           {
+              svn_ra_serf__options_context_t *opt_ctx;
 
-          SVN_ERR(svn_ra_serf__create_options_req(&opt_ctx, session, conn,
+              SVN_ERR(svn_ra_serf__create_options_req(&opt_ctx, session, conn,
                                                   session->repos_url.path,
                                                   pool));
-          SVN_ERR(svn_ra_serf__context_run_wait(
-            svn_ra_serf__get_options_done_ptr(opt_ctx), session, pool));
+              SVN_ERR(svn_ra_serf__context_run_wait(
+                svn_ra_serf__get_options_done_ptr(opt_ctx), session, pool));
 
-          *latest_revnum = svn_ra_serf__options_get_youngest_rev(opt_ctx);
-          if (! SVN_IS_VALID_REVNUM(*latest_revnum))
-            return svn_error_create(SVN_ERR_RA_DAV_OPTIONS_REQ_FAILED, NULL,
-                                    _("The OPTIONS response did not include "
-                                      "the youngest revision"));
+             *latest_revnum = svn_ra_serf__options_get_youngest_rev(opt_ctx);
+             if (! SVN_IS_VALID_REVNUM(*latest_revnum))
+               return svn_error_create(SVN_ERR_RA_DAV_OPTIONS_REQ_FAILED, NULL,
+                                       _("The OPTIONS response did not include 
"
+                                         "the youngest revision"));
+          }
         }
     }
 

Modified: subversion/trunk/subversion/libsvn_ra_serf/update.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/update.c?rev=1072429&r1=1072428&r2=1072429&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/update.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/update.c Sat Feb 19 20:02:07 2011
@@ -2715,13 +2715,13 @@ svn_ra_serf__get_file(svn_ra_session_t *
    * Otherwise, we need to get the baseline version for this particular
    * revision and then fetch that file.
    */
-  if (SVN_IS_VALID_REVNUM(revision))
+  if (SVN_IS_VALID_REVNUM(revision) || fetched_rev)
     {
       const char *baseline_url, *rel_path;
 
       SVN_ERR(svn_ra_serf__get_baseline_info(&baseline_url, &rel_path,
                                              session, conn, fetch_url,
-                                             revision, NULL, pool));
+                                             revision, fetched_rev, pool));
       fetch_url = svn_path_url_add_component2(baseline_url, rel_path, pool);
       revision = SVN_INVALID_REVNUM;
     }


Reply via email to