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