127 #ifndef SVN_DIRENT_URI_H
128 #define SVN_DIRENT_URI_H
131 #include <apr_pools.h>
132 #include <apr_tables.h>
188 const char *component,
219 const char *component,
279 const char **base_name,
303 const char **base_name,
357 const char **base_name,
536 const char *relpath2,
562 const char *relative,
571 const char *child_uri,
585 const char *child_dirent,
594 const char *child_relpath,
607 const char *child_dirent);
614 const char *child_relpath);
621 const char *child_uri);
636 const char *child_dirent);
647 const char *child_relpath);
658 const char *child_uri,
659 apr_pool_t *result_pool);
696 apr_array_header_t **pcondensed_targets,
697 const apr_array_header_t *targets,
699 apr_pool_t *result_pool,
700 apr_pool_t *scratch_pool);
737 apr_array_header_t **pcondensed_targets,
738 const apr_array_header_t *targets,
740 apr_pool_t *result_pool,
741 apr_pool_t *scratch_pool);
760 const char **result_path,
761 const char *base_path,
763 apr_pool_t *result_pool);
svn_boolean_t svn_dirent_is_absolute(const char *dirent)
Return TRUE if dirent is considered absolute on the platform at hand.
const char * svn_dirent_skip_ancestor(const char *parent_dirent, const char *child_dirent)
Return the relative path part of child_dirent that is below parent_dirent, or just "" if parent_diren...
char * svn_relpath_join(const char *base, const char *component, apr_pool_t *pool)
Join a base relpath (base) with a component (component), allocating the result in pool...
const char * svn_relpath_canonicalize(const char *relpath, apr_pool_t *pool)
Return a new relpath like relpath, but transformed such that some types of relpath specification redu...
svn_boolean_t svn_relpath_is_canonical(const char *relpath)
Return TRUE iff relpath is canonical.
const char * svn_dirent_canonicalize(const char *dirent, apr_pool_t *pool)
Return a new dirent like dirent, but transformed such that some types of dirent specification redunda...
svn_boolean_t svn_uri_is_root(const char *uri, apr_size_t len)
Return TRUE if uri is a root URL (e.g., "http://server").
char * svn_uri_dirname(const char *uri, apr_pool_t *pool)
Get the dirname of the specified canonicalized uri, defined as the uri with its basename removed...
const char * svn_uri__is_child(const char *parent_uri, const char *child_uri, apr_pool_t *pool)
Similar to svn_uri_skip_ancestor(), except that if child_uri is the same as parent_uri, it is not considered a child, so the result is NULL; an empty string is never returned.
svn_boolean_t svn_dirent_is_canonical(const char *dirent, apr_pool_t *pool)
Return TRUE iff dirent is canonical.
char * svn_dirent_dirname(const char *dirent, apr_pool_t *pool)
Get the dirname of the specified canonicalized dirent, defined as the dirent with its basename remove...
const char * svn_dirent_local_style(const char *dirent, apr_pool_t *pool)
Convert dirent from the internal style to the local style.
svn_boolean_t svn_uri__is_ancestor(const char *parent_uri, const char *child_uri)
Return TRUE if parent_uri is an ancestor of child_uri or the uris are equal, and FALSE otherwise...
svn_error_t * svn_dirent_get_absolute(const char **pabsolute, const char *relative, apr_pool_t *pool)
Convert relative canonicalized dirent to an absolute dirent and return the results in *pabsolute...
const char * svn_relpath_basename(const char *relpath, apr_pool_t *pool)
Get the basename of the specified canonicalized relpath.
const char * svn_dirent_is_child(const char *parent_dirent, const char *child_dirent, apr_pool_t *pool)
Similar to svn_dirent_skip_ancestor(), except that if child_dirent is the same as parent_dirent...
svn_error_t * svn_uri_get_dirent_from_file_url(const char **dirent, const char *url, apr_pool_t *pool)
Set *dirent to the path corresponding to the file:// URL url, using the platform-specific file:// rul...
void svn_uri_split(const char **dirpath, const char **base_name, const char *uri, apr_pool_t *pool)
Divide the canonicalized uri into a uri *dirpath and a (URI-decoded) relpath *base_name, allocated in pool.
const char * svn_dirent_basename(const char *dirent, apr_pool_t *pool)
Gets the name of the specified canonicalized dirent as it is known within its parent directory...
const char * svn_relpath__internal_style(const char *relpath, apr_pool_t *pool)
Convert relpath from the local style to the canonical internal style.
void svn_dirent_split(const char **dirpath, const char **base_name, const char *dirent, apr_pool_t *pool)
Divide the canonicalized dirent into *dirpath and *base_name, allocated in pool.
char * svn_relpath_get_longest_ancestor(const char *relpath1, const char *relpath2, apr_pool_t *pool)
Return the longest common path shared by two relative paths, relpath1 and relpath2.
char * svn_dirent_join_many(apr_pool_t *pool, const char *base,...)
Join multiple components onto a base dirent, allocated in pool.
svn_error_t * svn_uri_condense_targets(const char **pcommon, apr_array_header_t **pcondensed_targets, const apr_array_header_t *targets, svn_boolean_t remove_redundancies, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Find the common prefix of the canonicalized uris in targets (an array of const char *'s)...
svn_boolean_t svn_dirent_is_root(const char *dirent, apr_size_t len)
Return TRUE if dirent is considered a root directory on the platform at hand.
char * svn_dirent_get_longest_ancestor(const char *dirent1, const char *dirent2, apr_pool_t *pool)
Return the longest common dirent shared by two canonicalized dirents, dirent1 and dirent2...
Subversion's data types.
char * svn_uri_get_longest_ancestor(const char *uri1, const char *uri2, apr_pool_t *pool)
Return the longest common path shared by two canonicalized uris, uri1 and uri2.
svn_boolean_t svn_relpath__is_ancestor(const char *parent_relpath, const char *child_relpath)
Return TRUE if parent_relpath is an ancestor of child_relpath or the relpaths are equal...
svn_error_t * svn_dirent_condense_targets(const char **pcommon, apr_array_header_t **pcondensed_targets, const apr_array_header_t *targets, svn_boolean_t remove_redundancies, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Find the common prefix of the canonicalized dirents in targets (an array of const char *'s)...
char * svn_dirent_join(const char *base, const char *component, apr_pool_t *pool)
Join a base dirent (base) with a component (component), allocated in pool.
const char * svn_relpath_skip_ancestor(const char *parent_relpath, const char *child_relpath)
Return the relative path part of child_relpath that is below parent_relpath, or just "" if parent_rel...
void svn_relpath_split(const char **dirpath, const char **base_name, const char *relpath, apr_pool_t *pool)
Divide the canonicalized relpath into *dirpath and *base_name, allocated in pool. ...
svn_error_t * svn_uri_get_file_url_from_dirent(const char **url, const char *dirent, apr_pool_t *pool)
Set *url to a file:// URL, corresponding to dirent using the platform specific dirent and file:// rul...
int svn_boolean_t
YABT: Yet Another Boolean Type.
const char * svn_uri_skip_ancestor(const char *parent_uri, const char *child_uri, apr_pool_t *result_pool)
Return the URI-decoded relative path of child_uri that is below parent_uri, or just "" if parent_uri ...
char * svn_relpath_dirname(const char *relpath, apr_pool_t *pool)
Get the dirname of the specified canonicalized relpath, defined as the relpath with its basename remo...
const char * svn_uri_basename(const char *uri, apr_pool_t *pool)
Get the (URI-decoded) basename of the specified canonicalized uri.
svn_error_t * svn_dirent_is_under_root(svn_boolean_t *under_root, const char **result_path, const char *base_path, const char *path, apr_pool_t *result_pool)
Join path onto base_path, checking that path does not attempt to traverse above base_path.
const char * svn_dirent_internal_style(const char *dirent, apr_pool_t *pool)
Convert dirent from the local style to the canonical internal style.
svn_boolean_t svn_dirent_is_ancestor(const char *parent_dirent, const char *child_dirent)
Return TRUE if parent_dirent is an ancestor of child_dirent or the dirents are equal, and FALSE otherwise.
svn_boolean_t svn_uri_is_canonical(const char *uri, apr_pool_t *pool)
Return TRUE iff uri is canonical.
const char * svn_uri_canonicalize(const char *uri, apr_pool_t *pool)
Return a new uri like uri, but transformed such that some types of uri specification redundancies are...
const char * svn_relpath__is_child(const char *parent_relpath, const char *child_relpath, apr_pool_t *pool)
Similar to svn_relpath_skip_ancestor(), except that if child_relpath is the same as parent_relpath...