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/19 21:25:46 UTC

svn commit: r1060965 - in /subversion/branches/uris-as-urls/subversion: include/svn_dirent_uri.h libsvn_subr/dirent_uri.c

Author: cmpilato
Date: Wed Jan 19 20:25:45 2011
New Revision: 1060965

URL: http://svn.apache.org/viewvc?rev=1060965&view=rev
Log:
On the 'uris-as-urls' branch, add another useful API.

* subversion/include/svn_dirent_uri.h,
* subversion/libsvn_subr/dirent_uri.c
  (svn_fspath__canonicalize): New function.

Modified:
    subversion/branches/uris-as-urls/subversion/include/svn_dirent_uri.h
    subversion/branches/uris-as-urls/subversion/libsvn_subr/dirent_uri.c

Modified: subversion/branches/uris-as-urls/subversion/include/svn_dirent_uri.h
URL: http://svn.apache.org/viewvc/subversion/branches/uris-as-urls/subversion/include/svn_dirent_uri.h?rev=1060965&r1=1060964&r2=1060965&view=diff
==============================================================================
--- subversion/branches/uris-as-urls/subversion/include/svn_dirent_uri.h (original)
+++ subversion/branches/uris-as-urls/subversion/include/svn_dirent_uri.h Wed Jan 19 20:25:45 2011
@@ -811,6 +811,19 @@ svn_boolean_t
 svn_fspath__is_canonical(const char *fspath);
 
 
+/** This function is similar to svn_relpath_canonicalize(), except
+ * that it returns an fspath (which is essentially just a relpath
+ * tacked onto a leading forward slash).
+ *
+ * The returned fspath may be statically allocated or allocated from
+ * @a pool.
+ *
+ * @since New in 1.7.
+ */
+const char *
+svn_fspath__canonicalize(const char *fspath,
+                         apr_pool_t *pool);
+
 /** Return the dirname of @a fspath, defined as the path with its basename
  * removed.  If @a fspath is "/", return "/".
  *

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=1060965&r1=1060964&r2=1060965&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 Wed Jan 19 20:25:45 2011
@@ -2418,6 +2418,17 @@ svn_fspath__is_canonical(const char *fsp
 }
 
 
+const char *
+svn_fspath__canonicalize(const char *fspath,
+                         apr_pool_t *pool)
+{
+  if ((fspath[0] == '/') && (fspath[1] == '\0'))
+    return "/";
+
+  return apr_pstrcat(pool, "/", svn_relpath_canonicalize(fspath, pool), NULL);
+}
+
+
 svn_boolean_t
 svn_fspath__is_root(const char *fspath, apr_size_t len)
 {