Hi,
From svn_relpath_basename documentation, if pool is NULL, it simply
returns a pointer to the string without allocating additional memory.
Pass NULL pointer to svn_relpath_basename wherever the returned basename
need not be persistent. It could save few bytes of memory.
[[[
Log:
Pass NULL pointer to svn_relpath_basename wherever the returned
basename need not be allocated in pool.
* subversion/mod_dav_svn/reports/update.c
(absent_helper, upd_delete_entry)
* subversion/libsvn_wc/update_editor.c
(delete_entry)
* subversion/svnlook/main.c
(print_tree)
* subversion/libsvn_client/repos_diff.c
(absent_directory)
* subversion/libsvn_ra_neon/commit.c
(commit_delete_entry)
* subversion/libsvn_ra_serf/commit.c
(checkout_dir)
* subversion/libsvn_repos/node_tree.c
(add_open_helper)
Pass NULL pointer to svn_relpath_basename wherever the returned
basename need not be persistent.
Patch by: Vijayaguru G <vijay_at_collab.net>
Suggested by: Kameshj
]]]
Thanks & Regards,
Vijayaguru
Index: subversion/mod_dav_svn/reports/update.c
===================================================================
--- subversion/mod_dav_svn/reports/update.c (revision 1002949)
+++ subversion/mod_dav_svn/reports/update.c (working copy)
@@ -250,7 +250,7 @@
"<S:absent-%s name=\"%s\"/>" DEBUG_CR,
DIR_OR_FILE(is_dir),
apr_xml_quote_string(pool,
- svn_relpath_basename(path, pool),
+ svn_relpath_basename(path, NULL),
1)));
}
@@ -589,7 +589,7 @@
{
item_baton_t *parent = parent_baton;
const char *qname = apr_xml_quote_string(pool,
- svn_relpath_basename(path, pool),
+ svn_relpath_basename(path, NULL),
1);
return dav_svn__brigade_printf(parent->uc->bb, parent->uc->output,
"<S:delete-entry name=\"%s\"/>" DEBUG_CR,
Index: subversion/libsvn_wc/update_editor.c
===================================================================
--- subversion/libsvn_wc/update_editor.c (revision 1002949)
+++ subversion/libsvn_wc/update_editor.c (working copy)
@@ -2116,7 +2116,7 @@
apr_pool_t *pool)
{
struct dir_baton *pb = parent_baton;
- const char *base = svn_relpath_basename(path, pool);
+ const char *base = svn_relpath_basename(path, NULL);
const char *local_abspath;
const char *their_relpath;
Index: subversion/svnlook/main.c
===================================================================
--- subversion/svnlook/main.c (revision 1002949)
+++ subversion/svnlook/main.c (working copy)
@@ -1204,7 +1204,7 @@
else if (*path == '/')
name = svn_uri_basename(path, pool);
else
- name = svn_relpath_basename(path, pool);
+ name = svn_relpath_basename(path, NULL);
if (svn_path_is_empty(name))
name = "/"; /* basename of '/' is "" */
Index: subversion/libsvn_client/repos_diff.c
===================================================================
--- subversion/libsvn_client/repos_diff.c (revision 1002949)
+++ subversion/libsvn_client/repos_diff.c (working copy)
@@ -1244,7 +1244,7 @@
svn_wc_notify_t *notify
= svn_wc_create_notify(svn_dirent_join(pb->wcpath,
svn_relpath_basename(path,
- pool),
+ NULL),
pool),
svn_wc_notify_skip, pool);
notify->kind = svn_node_dir;
Index: subversion/libsvn_ra_neon/commit.c
===================================================================
--- subversion/libsvn_ra_neon/commit.c (revision 1002949)
+++ subversion/libsvn_ra_neon/commit.c (working copy)
@@ -701,7 +701,7 @@
apr_pool_t *pool)
{
resource_baton_t *parent = parent_baton;
- const char *name = svn_relpath_basename(path, pool);
+ const char *name = svn_relpath_basename(path, NULL);
apr_hash_t *extra_headers = NULL;
const char *child;
int code;
Index: subversion/libsvn_ra_serf/commit.c
===================================================================
--- subversion/libsvn_ra_serf/commit.c (revision 1002949)
+++ subversion/libsvn_ra_serf/commit.c (working copy)
@@ -380,7 +380,7 @@
dir->checkout->activity_url_len = dir->commit->activity_url_len;
dir->checkout->resource_url =
svn_path_url_add_component2(dir->parent_dir->checkout->resource_url,
- svn_relpath_basename(dir->name, dir->pool),
+ svn_relpath_basename(dir->name, NULL),
dir->pool);
apr_hash_set(dir->commit->copied_entries,
Index: subversion/libsvn_repos/node_tree.c
===================================================================
--- subversion/libsvn_repos/node_tree.c (revision 1002949)
+++ subversion/libsvn_repos/node_tree.c (working copy)
@@ -268,7 +268,7 @@
nb->parent_baton = pb;
/* Create and populate the node. */
- nb->node = create_child_node(pb->node, svn_relpath_basename(path, pool),
+ nb->node = create_child_node(pb->node, svn_relpath_basename(path, NULL),
eb->node_pool);
nb->node->kind = kind;
nb->node->action = action;
Received on 2010-10-04 14:24:00 CEST