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;
}