diff options
author | Michael Adam <obnox@samba.org> | 2008-04-09 22:21:15 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2008-04-10 01:29:01 +0200 |
commit | 87ca44723181900799985d7c3c1d02863fb8da71 (patch) | |
tree | 1f00c23167114a04277b2ad192e177c408bb40a4 /source3/lib/smbconf/smbconf_reg.c | |
parent | 1321dda51bf3fd208d77cebafc14fec2800cc10d (diff) | |
download | samba-87ca44723181900799985d7c3c1d02863fb8da71.tar.gz samba-87ca44723181900799985d7c3c1d02863fb8da71.tar.bz2 samba-87ca44723181900799985d7c3c1d02863fb8da71.zip |
libsmbconf: add delete_includes mehtod to the api (and backend implementations)
Michael
(This used to be commit daef50e54d58a6684b6a890ebf523ca6245f0290)
Diffstat (limited to 'source3/lib/smbconf/smbconf_reg.c')
-rw-r--r-- | source3/lib/smbconf/smbconf_reg.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index d43c6a15f1..b262959afc 100644 --- a/source3/lib/smbconf/smbconf_reg.c +++ b/source3/lib/smbconf/smbconf_reg.c @@ -999,6 +999,30 @@ done: return werr; } +static WERROR smbconf_reg_delete_includes(struct smbconf_ctx *ctx, + const char *service) +{ + WERROR werr = WERR_OK; + struct registry_key *key = NULL; + TALLOC_CTX *tmp_ctx = talloc_stackframe(); + + werr = smbconf_reg_open_service_key(tmp_ctx, ctx, service, + REG_KEY_ALL, &key); + if (!W_ERROR_IS_OK(werr)) { + goto done; + } + + if (!smbconf_value_exists(key, INCLUDES_VALNAME)) { + goto done; + } + + werr = reg_deletevalue(key, INCLUDES_VALNAME); + + +done: + TALLOC_FREE(tmp_ctx); + return werr; +} struct smbconf_ops smbconf_ops_reg = { .init = smbconf_reg_init, @@ -1017,6 +1041,7 @@ struct smbconf_ops smbconf_ops_reg = { .delete_parameter = smbconf_reg_delete_parameter, .get_includes = smbconf_reg_get_includes, .set_includes = smbconf_reg_set_includes, + .delete_includes = smbconf_reg_delete_includes, }; |