summaryrefslogtreecommitdiff
path: root/source3/utils
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2007-12-29 03:38:13 +0100
committerMichael Adam <obnox@samba.org>2007-12-29 12:32:16 +0100
commitf8c39cbb7b3e4df3c07735575bc5f31717b22f66 (patch)
treed97d1405def821cc67689f7132a875cb3726bfc1 /source3/utils
parent40bf6730aaca0409d17619c49e9eea59d68a6f10 (diff)
downloadsamba-f8c39cbb7b3e4df3c07735575bc5f31717b22f66.tar.gz
samba-f8c39cbb7b3e4df3c07735575bc5f31717b22f66.tar.bz2
samba-f8c39cbb7b3e4df3c07735575bc5f31717b22f66.zip
Move functionality of net_conf_showshare() to libnet_conf.c
The functionality is moved to a new function libnet_smbconf_getshare(). This returns the parameters of the given share as two lists: the list of parameter names and the list of matching (formatted) parameter values. The retrieval and formatting is done in a new internal helper function libnet_smbconf_reg_get_values() that is to become the replacement for list_values() from net_conf.c once functionality of net_conf_list() has been moved to libnet_conf, too. Michael (This used to be commit 198232bd525cfac933b4885e6b330ebf4ac2c8ae)
Diffstat (limited to 'source3/utils')
-rw-r--r--source3/utils/net_conf.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/source3/utils/net_conf.c b/source3/utils/net_conf.c
index 8140941da2..9a7c8c9097 100644
--- a/source3/utils/net_conf.c
+++ b/source3/utils/net_conf.c
@@ -525,7 +525,12 @@ static int net_conf_showshare(int argc, const char **argv)
int ret = -1;
WERROR werr = WERR_OK;
struct registry_key *key = NULL;
+ char *sharename = NULL;
TALLOC_CTX *ctx;
+ uint32_t num_params;
+ uint32_t count;
+ char **param_names;
+ char **param_values;
ctx = talloc_init("showshare");
@@ -534,15 +539,21 @@ static int net_conf_showshare(int argc, const char **argv)
goto done;
}
- werr = libnet_smbconf_reg_open_path(ctx, argv[0], REG_KEY_READ, &key);
+ sharename = argv[0];
+
+ werr = libnet_smbconf_getshare(ctx, sharename, &num_params,
+ &param_names, &param_values);
if (!W_ERROR_IS_OK(werr)) {
+ d_printf("error getting share parameters: %s\n",
+ dos_errstr(werr));
goto done;
}
- d_printf("[%s]\n", argv[0]);
+ d_printf("[%s]\n", sharename);
- if (!W_ERROR_IS_OK(list_values(ctx, key))) {
- goto done;
+ for (count = 0; count <= num_params; count++) {
+ d_printf("\t%s = %s\n", param_names[count],
+ param_values[count]);
}
ret = 0;