Author: julianfoad
Date: Wed Apr 4 12:15:58 2012
New Revision: 1309353
URL: http://svn.apache.org/viewvc?rev=1309353&view=rev
Log:
* subversion/libsvn_client/util.c
(svn_client__pathrev_create, svn_client__pathrev_create_with_relpath):
Assert valid inputs.
(svn_client__pathrev_create_with_session): Fix a pool bug. Assert valid
inputs. Fix indentation.
Modified:
subversion/trunk/subversion/libsvn_client/util.c
Modified: subversion/trunk/subversion/libsvn_client/util.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/util.c?rev=1309353&r1=1309352&r2=1309353&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/util.c (original)
+++ subversion/trunk/subversion/libsvn_client/util.c Wed Apr 4 12:15:58 2012
@@ -50,6 +50,9 @@ svn_client__pathrev_create(const char *r
{
svn_client__pathrev_t *loc = apr_palloc(result_pool, sizeof(*loc));
+ SVN_ERR_ASSERT_NO_RETURN(svn_path_is_url(repos_root_url));
+ SVN_ERR_ASSERT_NO_RETURN(svn_path_is_url(url));
+
loc->repos_root_url = apr_pstrdup(result_pool, repos_root_url);
loc->repos_uuid = apr_pstrdup(result_pool, repos_uuid);
loc->rev = rev;
@@ -64,6 +67,8 @@ svn_client__pathrev_create_with_relpath(
const char *relpath,
apr_pool_t *result_pool)
{
+ SVN_ERR_ASSERT_NO_RETURN(svn_relpath_is_canonical(relpath));
+
return svn_client__pathrev_create(
repos_root_url, repos_uuid, rev,
svn_path_url_add_component2(repos_root_url, relpath, result_pool),
@@ -72,18 +77,20 @@ svn_client__pathrev_create_with_relpath(
svn_error_t *
svn_client__pathrev_create_with_session(svn_client__pathrev_t **pathrev_p,
- svn_ra_session_t *ra_session,
- svn_revnum_t rev,
- const char *url,
- apr_pool_t *result_pool)
+ svn_ra_session_t *ra_session,
+ svn_revnum_t rev,
+ const char *url,
+ apr_pool_t *result_pool)
{
svn_client__pathrev_t *pathrev = apr_palloc(result_pool, sizeof(*pathrev));
+ SVN_ERR_ASSERT(svn_path_is_url(url));
+
SVN_ERR(svn_ra_get_repos_root2(ra_session, &pathrev->repos_root_url,
result_pool));
SVN_ERR(svn_ra_get_uuid2(ra_session, &pathrev->repos_uuid, result_pool));
pathrev->rev = rev;
- pathrev->url = url;
+ pathrev->url = apr_pstrdup(result_pool, url);
*pathrev_p = pathrev;
return SVN_NO_ERROR;
}