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;

Reply via email to