[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-552-g04b4898

Michael Adam obnox at samba.org
Mon Mar 31 15:41:05 GMT 2008


The branch, v3-2-test has been updated
       via  04b48984bbf84c55bb41a74a11cbcc7358377fed (commit)
      from  960c069a2354e0803e2cbf22c26e1a9d0b657b79 (commit)

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


- Log -----------------------------------------------------------------
commit 04b48984bbf84c55bb41a74a11cbcc7358377fed
Author: Michael Adam <obnox at samba.org>
Date:   Mon Mar 31 17:20:07 2008 +0200

    registry: reg_deletevalue should return error, when the value does not exist.
    
    Michael

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

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


Changeset truncated at 500 lines:

diff --git a/source/registry/reg_api.c b/source/registry/reg_api.c
index e52aaac..1a0bf2b 100644
--- a/source/registry/reg_api.c
+++ b/source/registry/reg_api.c
@@ -653,6 +653,19 @@ WERROR reg_setvalue(struct registry_key *key, const char *name,
 	return WERR_OK;
 }
 
+static WERROR reg_value_exists(struct registry_key *key, const char *name)
+{
+	int i;
+
+	for (i=0; i<key->values->num_values; i++) {
+		if (strequal(key->values->values[i]->valuename, name)) {
+			return WERR_OK;
+		}
+	}
+
+	return WERR_BADFILE;
+}
+
 WERROR reg_deletevalue(struct registry_key *key, const char *name)
 {
 	WERROR err;
@@ -665,6 +678,11 @@ WERROR reg_deletevalue(struct registry_key *key, const char *name)
 		return err;
 	}
 
+	err = reg_value_exists(key, name);
+	if (!W_ERROR_IS_OK(err)) {
+		return err;
+	}
+
 	regval_ctr_delvalue(key->values, name);
 
 	if (!store_reg_values(key->key, key->values)) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list