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 <[EMAIL PROTECTED]>
Date:   Tue Dec 25 02:42:33 2007 +0100

    Add error reporting to net_conf_delshare().
    
    Michael

commit 870d35c04889603843bae989fb9c01396b4c6ed1
Author: Michael Adam <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
Date:   Tue Dec 25 02:24:39 2007 +0100

    Rename reg_delkey_internal() to libnet_smbconf_delshare().
    
    Michael

commit c1b863fd0520ce64a1bad5e2fa3f69afcc2c78d5
Author: Michael Adam <[EMAIL PROTECTED]>
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

Reply via email to