On 02/21/2013 04:32 PM, stef...@apache.org wrote:
> Modified: subversion/trunk/subversion/include/private/svn_fs_util.h
> URL: 
> http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_fs_util.h?rev=1448810&r1=1448809&r2=1448810&view=diff
> ==============================================================================
> --- subversion/trunk/subversion/include/private/svn_fs_util.h (original)
> +++ subversion/trunk/subversion/include/private/svn_fs_util.h Thu Feb 21 
> 21:32:26 2013
> @@ -37,14 +37,16 @@
>  extern "C" {
>  #endif /* __cplusplus */
>  
> -/* Return a canonicalized version of a filesystem PATH, allocated in
> -   POOL.  While the filesystem API is pretty flexible about the
> -   incoming paths (they must be UTF-8 with '/' as separators, but they
> -   don't have to begin with '/', and multiple contiguous '/'s are
> -   ignored) we want any paths that are physically stored in the
> -   underlying database to look consistent.  Specifically, absolute
> -   filesystem paths should begin with '/', and all redundant and trailing '/'
> -   characters be removed.
> +/* If the filesystem PATH is not already in canonical form,  return a
> +   canonicalized version of it, allocated in POOL.  Otherwise, return
> +   PATH directly.
> +
> +   While the filesystem API is pretty flexible about the incoming paths
> +   (they must be UTF-8 with '/' as separators, but they don't have to
> +   begin with '/', and multiple contiguous '/'s are ignored) we want any
> +   paths that are physically stored in the underlying database to look
> +   consistent.  Specifically, absolute filesystem paths should begin with
> +   '/', and all redundant and trailing '/' characters be removed.

Hrm, in my experience this construct -- *maybe* allocating a returned value
in the provided pool, maybe not -- eventually leads to subtle problems
and/or redundant stringdup's (by callers who need to guarantee a particular
pool lifetime).  I much prefer the simpler promise that the returned path is
allocated from the provided pool.

-- 
C. Michael Pilato <cmpil...@collab.net>
CollabNet   <>   www.collab.net   <>   Enterprise Cloud Development

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to