[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