[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-unstable-881-g8d02a2d

Michael Adam obnox at samba.org
Tue Dec 25 01:43:28 GMT 2007


The branch, v3-2-test has been updated
       via  8d02a2de61eb6b62fef1fbe57194c9d286423ba0 (commit)
       via  870d35c04889603843bae989fb9c01396b4c6ed1 (commit)
       via  7d501f0d78ec57509d0bc5ef0dc16fcd24ee27e7 (commit)
       via  c1b863fd0520ce64a1bad5e2fa3f69afcc2c78d5 (commit)
      from  2d08959685b495caf1884babbece27775d8bcb4f (commit)

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


- Log -----------------------------------------------------------------
commit 8d02a2de61eb6b62fef1fbe57194c9d286423ba0
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 25 02:42:33 2007 +0100

    Add error reporting to net_conf_delshare().
    
    Michael

commit 870d35c04889603843bae989fb9c01396b4c6ed1
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 25 02:31:41 2007 +0100

    Simplify libnet_smbconf_delshare().
    
    Remove talloc context parameter.
    Remove d_printf error message.
    
    Michael

commit 7d501f0d78ec57509d0bc5ef0dc16fcd24ee27e7
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 25 02:24:39 2007 +0100

    Rename reg_delkey_internal() to libnet_smbconf_delshare().
    
    Michael

commit c1b863fd0520ce64a1bad5e2fa3f69afcc2c78d5
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 25 02:21:30 2007 +0100

    Move reg_delkey_internal() to libnet/libnet_conf.c
    
    Michael

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

Summary of changes:
 source/libnet/libnet_conf.c |   21 +++++++++++++++++++++
 source/utils/net_conf.c     |   36 +++++++++---------------------------
 2 files changed, 30 insertions(+), 27 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libnet/libnet_conf.c b/source/libnet/libnet_conf.c
index a371915..4c5a082 100644
--- a/source/libnet/libnet_conf.c
+++ b/source/libnet/libnet_conf.c
@@ -243,6 +243,27 @@ done:
  *
  **********************************************************************/
 
+/**
+ * delete a service from configuration
+ */
+WERROR libnet_smbconf_delshare(const char *servicename)
+{
+	WERROR werr = WERR_OK;
+	struct registry_key *key = NULL;
+	TALLOC_CTX *ctx = talloc_stackframe();
+
+	werr = libnet_smbconf_open_basepath(ctx, REG_KEY_WRITE, &key);
+	if (!W_ERROR_IS_OK(werr)) {
+		goto done;
+	}
+
+	werr = reg_deletekey_recursive(key, key, servicename);
+
+done:
+	TALLOC_FREE(ctx);
+	return werr;
+}
+
 WERROR libnet_smbconf_setparm(TALLOC_CTX *mem_ctx,
 			      const char *service,
 			      const char *param,
diff --git a/source/utils/net_conf.c b/source/utils/net_conf.c
index d09079c..54875c4 100644
--- a/source/utils/net_conf.c
+++ b/source/utils/net_conf.c
@@ -143,30 +143,6 @@ static char *format_value(TALLOC_CTX *mem_ctx, struct registry_value *value)
 	return result;
 }
 
-/*
- * delete a subkey of KEY_SMBCONF
- */
-static WERROR reg_delkey_internal(TALLOC_CTX *ctx, const char *keyname)
-{
-	WERROR werr = WERR_OK;
-	struct registry_key *key = NULL;
-
-	werr = libnet_smbconf_open_basepath(ctx, REG_KEY_WRITE, &key);
-	if (!W_ERROR_IS_OK(werr)) {
-		goto done;
-	}
-
-	werr = reg_deletekey_recursive(key, key, keyname);
-	if (!W_ERROR_IS_OK(werr)) {
-		d_fprintf(stderr, "Error deleting registry key %s\\%s: %s\n",
-			  KEY_SMBCONF, keyname, dos_errstr(werr));
-	}
-
-done:
-	TALLOC_FREE(key);
-	return werr;
-}
-
 static WERROR list_values(TALLOC_CTX *ctx, struct registry_key *key)
 {
 	WERROR werr = WERR_OK;
@@ -341,7 +317,7 @@ static int import_process_service(TALLOC_CTX *ctx,
 		d_printf("[%s]\n", servicename);
 	} else {
 		if (libnet_smbconf_key_exists(servicename)) {
-			werr = reg_delkey_internal(tmp_ctx, servicename);
+			werr = libnet_smbconf_delshare(servicename);
 			if (!W_ERROR_IS_OK(werr)) {
 				goto done;
 			}
@@ -816,6 +792,7 @@ int net_conf_delshare(int argc, const char **argv)
 {
 	int ret = -1;
 	const char *sharename = NULL;
+	WERROR werr = WERR_OK;
 
 	if (argc != 1) {
 		net_conf_delshare_usage(argc, argv);
@@ -823,9 +800,14 @@ int net_conf_delshare(int argc, const char **argv)
 	}
 	sharename = argv[0];
 
-	if (W_ERROR_IS_OK(reg_delkey_internal(NULL, sharename))) {
-		ret = 0;
+	werr = libnet_smbconf_delshare(sharename);
+	if (!W_ERROR_IS_OK(werr)) {
+		d_fprintf(stderr, "Error deleting share %s: %s\n",
+			  sharename, dos_errstr(werr));
+		goto done;
 	}
+
+	ret = 0;
 done:
 	return ret;
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list