[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-cvs
Subject:    svn commit: r25904 - trunk/subversion/libsvn_subr
From:       malcolm () tigris ! org
Date:       2007-07-31 20:29:53
Message-ID: 200707312029.l6VKTrjK028364 () svn2 ! sjc ! collab ! net
[Download RAW message or body]

Author: malcolm
Date: Tue Jul 31 13:29:52 2007
New Revision: 25904

Log:
* subversion/libsvn_subr/path.c
  (svn_path_get_absolute): Don't canonicalise incoming paths, since this
    function already requires canonical paths.  Also stop roundtripping URL
    paths from UTF-8 to APR encoding and back.


Modified:
   trunk/subversion/libsvn_subr/path.c

Modified: trunk/subversion/libsvn_subr/path.c
URL: http://svn.collab.net/viewvc/svn/trunk/subversion/libsvn_subr/path.c?pathrev=25904&r1=25903&r2=25904
==============================================================================
--- trunk/subversion/libsvn_subr/path.c	(original)
+++ trunk/subversion/libsvn_subr/path.c	Tue Jul 31 13:29:52 2007
@@ -1089,27 +1089,24 @@
   apr_status_t apr_err;
   const char *path_apr;
 
-  SVN_ERR(svn_path_cstring_from_utf8
-          (&path_apr, svn_path_canonicalize(relative, pool), pool));
-
-  if (svn_path_is_url(path_apr))
-    {
-      buffer = apr_pstrdup(pool, path_apr);
-    }
-  else
+  if (svn_path_is_url(relative))
     {
-      apr_err = apr_filepath_merge(&buffer, NULL,
-                                   path_apr,
-                                   (APR_FILEPATH_NOTRELATIVE
-                                    | APR_FILEPATH_TRUENAME),
-                                   pool);
-
-      if (apr_err)
-        return svn_error_createf(SVN_ERR_BAD_FILENAME, NULL,
-                                 _("Couldn't determine absolute path of '%s'"), 
-                                 svn_path_local_style(relative, pool));
+      *pabsolute = apr_pstrdup(pool, relative);
+      return SVN_NO_ERROR;
     }
 
+  SVN_ERR(svn_path_cstring_from_utf8(&path_apr, relative, pool));
+
+  apr_err = apr_filepath_merge(&buffer, NULL,
+                               path_apr,
+                               APR_FILEPATH_NOTRELATIVE
+                               | APR_FILEPATH_TRUENAME,
+                               pool);
+  if (apr_err)
+    return svn_error_createf(SVN_ERR_BAD_FILENAME, NULL,
+                             _("Couldn't determine absolute path of '%s'"),
+                             svn_path_local_style(relative, pool));
+
   SVN_ERR(svn_path_cstring_to_utf8(pabsolute, buffer, pool));
   *pabsolute = svn_path_canonicalize(*pabsolute, pool);
   return SVN_NO_ERROR;

---------------------------------------------------------------------
To unsubscribe, e-mail: svn-unsubscribe@subversion.tigris.org
For additional commands, e-mail: svn-help@subversion.tigris.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic