You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2011/12/05 17:57:52 UTC
svn commit: r1210528 - in /subversion/trunk/subversion:
include/svn_dirent_uri.h libsvn_subr/dirent_uri.c
Author: julianfoad
Date: Mon Dec 5 16:57:51 2011
New Revision: 1210528
URL: http://svn.apache.org/viewvc?rev=1210528&view=rev
Log:
Fix a doc string error and some inefficiency in svn_uri_basename(),
following r1064436.
* subversion/include/svn_dirent_uri.h,
subversion/libsvn_subr/dirent_uri.c
(svn_uri_basename): Fix a doc string error. Simplify the implementation,
by knowing that a pool must be provided and by eliminating a redundant
memory allocation.
Modified:
subversion/trunk/subversion/include/svn_dirent_uri.h
subversion/trunk/subversion/libsvn_subr/dirent_uri.c
Modified: subversion/trunk/subversion/include/svn_dirent_uri.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_dirent_uri.h?rev=1210528&r1=1210527&r2=1210528&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_dirent_uri.h (original)
+++ subversion/trunk/subversion/include/svn_dirent_uri.h Mon Dec 5 16:57:51 2011
@@ -379,8 +379,8 @@ svn_uri_split(const char **dirpath,
/** Get the (URI-decoded) basename of the specified canonicalized @a
* uri. The basename is defined as the last component of the uri. If
- * the @a uri is root then that is returned. Otherwise, the returned
- * value will have no slashes in it.
+ * the @a uri is root, return "". The returned value will have no
+ * slashes in it.
*
* Example: svn_uri_basename("http://server/foo/bar") -> "bar"
*
Modified: subversion/trunk/subversion/libsvn_subr/dirent_uri.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/dirent_uri.c?rev=1210528&r1=1210527&r2=1210528&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/dirent_uri.c (original)
+++ subversion/trunk/subversion/libsvn_subr/dirent_uri.c Mon Dec 5 16:57:51 2011
@@ -1295,25 +1295,17 @@ svn_uri_basename(const char *uri, apr_po
{
apr_size_t len = strlen(uri);
apr_size_t start;
- const char *base_name;
assert(svn_uri_is_canonical(uri, NULL));
if (svn_uri_is_root(uri, len))
return "";
- else
- {
- start = len;
- while (start > 0 && uri[start - 1] != '/')
- --start;
- }
- if (pool)
- base_name = apr_pstrmemdup(pool, uri + start, len - start);
- else
- base_name = uri + start;
+ start = len;
+ while (start > 0 && uri[start - 1] != '/')
+ --start;
- return svn_path_uri_decode(base_name, pool);
+ return svn_path_uri_decode(uri + start, pool);
}
void