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)
{