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 2011/01/24 23:02:27 UTC
svn commit: r1063011 - in /subversion/branches/uris-as-urls/subversion:
libsvn_ra_neon/options.c libsvn_ra_neon/props.c libsvn_ra_neon/util.c
libsvn_subr/dirent_uri.c
Author: cmpilato
Date: Mon Jan 24 22:02:27 2011
New Revision: 1063011
URL: http://svn.apache.org/viewvc?rev=1063011&view=rev
Log:
On the 'uris-as-urls' branch: Start using the svn_urlpath__*
functions in libsvn_ra_neon.
* subversion/libsvn_ra_neon/util.c
(svn_ra_neon__request_get_location): Now use svn_urlpath__canonicalize().
(svn_ra_neon__uri_canonicalize): Remove.
* subversion/libsvn_subr/dirent_uri.c
(svn_urlpath__canonicalize): Add a note about why we decode/re-encode.
* subversion/libsvn_ra_neon/options.c
(end_element): Now use svn_urlpath__canonicalize().
* subversion/libsvn_ra_neon/props.c
(end_element): Now use svn_urlpath__canonicalize().
Modified:
subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/options.c
subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/props.c
subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/util.c
subversion/branches/uris-as-urls/subversion/libsvn_subr/dirent_uri.c
Modified: subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/options.c
URL: http://svn.apache.org/viewvc/subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/options.c?rev=1063011&r1=1063010&r2=1063011&view=diff
==============================================================================
--- subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/options.c (original)
+++ subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/options.c Mon Jan 24 22:02:27 2011
@@ -29,6 +29,8 @@
#include "svn_private_config.h"
#include "../libsvn_ra/ra_loader.h"
+#include "private/svn_fspath.h"
+
#include "ra_neon.h"
@@ -109,9 +111,7 @@ end_element(void *baton, int state,
if (state == ELEM_href)
oc->activity_coll =
- svn_string_create(svn_ra_neon__uri_canonicalize(oc->cdata->data,
- oc->pool,
- oc->pool),
+ svn_string_create(svn_urlpath__canonicalize(oc->cdata->data, oc->pool),
oc->pool);
return SVN_NO_ERROR;
Modified: subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/props.c
URL: http://svn.apache.org/viewvc/subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/props.c?rev=1063011&r1=1063010&r2=1063011&view=diff
==============================================================================
--- subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/props.c (original)
+++ subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/props.c Mon Jan 24 22:02:27 2011
@@ -41,6 +41,7 @@
#include "../libsvn_ra/ra_loader.h"
#include "private/svn_dav_protocol.h"
+#include "private/svn_fspath.h"
#include "svn_private_config.h"
#include "ra_neon.h"
@@ -414,9 +415,7 @@ static svn_error_t * end_element(void *b
/* Special handling for <href> that belongs to the <response> tag. */
if (rsrc->href_parent == ELEM_response)
return assign_rsrc_url(pc->rsrc,
- svn_ra_neon__uri_canonicalize(cdata,
- pc->pool,
- pc->pool),
+ svn_urlpath__canonicalize(cdata, pc->pool),
pc->pool);
/* Use the parent element's name, not the href. */
@@ -428,9 +427,7 @@ static svn_error_t * end_element(void *b
/* All other href's we'll treat as property values. */
name = parent_defn->name;
- value = svn_string_create(svn_ra_neon__uri_canonicalize(cdata,
- pc->pool,
- pc->pool),
+ value = svn_string_create(svn_urlpath__canonicalize(cdata, pc->pool),
pc->pool);
break;
Modified: subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/util.c?rev=1063011&r1=1063010&r2=1063011&view=diff
==============================================================================
--- subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/util.c (original)
+++ subversion/branches/uris-as-urls/subversion/libsvn_ra_neon/util.c Mon Jan 24 22:02:27 2011
@@ -39,6 +39,7 @@
#include "svn_xml.h"
#include "svn_props.h"
+#include "private/svn_fspath.h"
#include "svn_private_config.h"
#include "ra_neon.h"
@@ -1570,24 +1571,5 @@ svn_ra_neon__request_get_location(svn_ra
apr_pool_t *pool)
{
const char *val = ne_get_response_header(request->ne_req, "Location");
- return val ? svn_ra_neon__uri_canonicalize(val, pool, pool) : NULL;
+ return val ? svn_urlpath__canonicalize(val, pool) : NULL;
}
-
-
-const char *
-svn_ra_neon__uri_canonicalize(const char *uri,
- apr_pool_t *scratch_pool,
- apr_pool_t *result_pool)
-{
- if (svn_path_is_url(uri))
- return svn_url_canonicalize(uri, result_pool);
-
- return apr_pstrcat(result_pool, "/",
- svn_path_uri_encode(
- svn_relpath_canonicalize(
- svn_path_uri_decode(uri, scratch_pool),
- scratch_pool),
- result_pool),
- NULL);
-}
-
Modified: subversion/branches/uris-as-urls/subversion/libsvn_subr/dirent_uri.c
URL: http://svn.apache.org/viewvc/subversion/branches/uris-as-urls/subversion/libsvn_subr/dirent_uri.c?rev=1063011&r1=1063010&r2=1063011&view=diff
==============================================================================
--- subversion/branches/uris-as-urls/subversion/libsvn_subr/dirent_uri.c (original)
+++ subversion/branches/uris-as-urls/subversion/libsvn_subr/dirent_uri.c Mon Jan 24 22:02:27 2011
@@ -2594,6 +2594,7 @@ svn_urlpath__canonicalize(const char *ur
else
{
uri = svn_fspath__canonicalize(uri, pool);
+ /* Do a little dance to normalize hex encoding. */
uri = svn_path_uri_decode(uri, pool);
uri = svn_path_uri_encode(uri, pool);
}