The branch, v3-2-test has been updated
       via  f1e401ef5c89ecf12921b7adb228da438521a693 (commit)
      from  b5a2a1e3f82a0d319fc9a1d76f5166150680f4d4 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit f1e401ef5c89ecf12921b7adb228da438521a693
Author: Jeremy Allison <[EMAIL PROTECTED]>
Date:   Tue Nov 27 19:12:42 2007 -0800

    Save one extra strdup per lp_string. Use talloc_sub_basic()
    directly.
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source/param/loadparm.c |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index 80eac74..16c6c59 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -1729,7 +1729,8 @@ static void init_globals(bool first_time_only)
 
 static char *lp_string(const char *s)
 {
-       char *ret, *tmpstr;
+       char *ret;
+       TALLOC_CTX *ctx = talloc_tos();
 
        /* The follow debug is useful for tracking down memory problems
           especially if you have an inner loop that is calling a lp_*()
@@ -1740,19 +1741,20 @@ static char *lp_string(const char *s)
        DEBUG(10, ("lp_string(%s)\n", s));
 #endif
 
-       tmpstr = alloc_sub_basic(get_current_username(),
-                                current_user_info.domain, s);
-       if (trim_char(tmpstr, '\"', '\"')) {
-               if (strchr(tmpstr,'\"') != NULL) {
-                       SAFE_FREE(tmpstr);
-                       tmpstr = alloc_sub_basic(get_current_username(),
-                                                current_user_info.domain, s);
+       ret = talloc_sub_basic(ctx,
+                       get_current_username(),
+                       current_user_info.domain,
+                       s);
+       if (trim_char(ret, '\"', '\"')) {
+               if (strchr(ret,'\"') != NULL) {
+                       TALLOC_FREE(ret);
+                       ret = talloc_sub_basic(ctx,
+                                       get_current_username(),
+                                       current_user_info.domain,
+                                       s);
                }
        }
-       ret = talloc_strdup(talloc_tos(), tmpstr);
-       SAFE_FREE(tmpstr);
-                       
-       return (ret);
+       return ret;
 }
 
 /*


-- 
Samba Shared Repository

Reply via email to