[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Tue Feb 15 11:12:02 MST 2011


The branch, master has been updated
       via  4b354e6 s3-amend: Don't overwrite existing values
      from  20197c6 s4:torture/rpc/samr.c - fix up the "test_GroupList" suite regarding QueryDisplayInfo

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4b354e67fc7adce5152c73697bbf02a1aac69b20
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Feb 15 18:16:43 2011 +0100

    s3-amend: Don't overwrite existing values
    
    This saves a ton of tdb transactions on smbd startup
    
    Andreas, Günther, please check!
    
    Autobuild-User: Volker Lendecke <vlendec at samba.org>
    Autobuild-Date: Tue Feb 15 19:11:25 CET 2011 on sn-devel-104

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

Summary of changes:
 source3/registry/reg_api.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c
index acce7ab..7c2e01d 100644
--- a/source3/registry/reg_api.c
+++ b/source3/registry/reg_api.c
@@ -659,6 +659,7 @@ done:
 WERROR reg_setvalue(struct registry_key *key, const char *name,
 		    const struct registry_value *val)
 {
+	struct regval_blob *existing;
 	WERROR err;
 	int res;
 
@@ -670,6 +671,15 @@ WERROR reg_setvalue(struct registry_key *key, const char *name,
 		return err;
 	}
 
+	existing = regval_ctr_getvalue(key->values, name);
+
+	if ((existing != NULL) &&
+	    (regval_size(existing) == val->data.length) &&
+	    (memcmp(regval_data_p(existing), val->data.data,
+		    val->data.length) == 0)) {
+		return WERR_OK;
+	}
+
 	res = regval_ctr_addvalue(key->values, name, val->type,
 				  val->data.data, val->data.length);
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list