diff options
author | Andreas Schneider <asn@samba.org> | 2011-04-08 10:40:02 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2011-05-10 19:13:20 +0200 |
commit | 720ba8e7e7463669bb4fc9d5a91387bafc9aec0f (patch) | |
tree | 1dc38c8eac90a803b0618d78cd11d84c3eb54270 | |
parent | 9082c7cee8805281d18bd9f2f0afed4260ee95a8 (diff) | |
download | samba-720ba8e7e7463669bb4fc9d5a91387bafc9aec0f.tar.gz samba-720ba8e7e7463669bb4fc9d5a91387bafc9aec0f.tar.bz2 samba-720ba8e7e7463669bb4fc9d5a91387bafc9aec0f.zip |
libsmbconf: Convert smbconf_drop() to sbcErr.
Signed-off-by: Michael Adam <obnox@samba.org>
-rw-r--r-- | lib/smbconf/smbconf.c | 2 | ||||
-rw-r--r-- | lib/smbconf/smbconf.h | 2 | ||||
-rw-r--r-- | lib/smbconf/smbconf_private.h | 2 | ||||
-rw-r--r-- | lib/smbconf/smbconf_txt.c | 4 | ||||
-rw-r--r-- | source3/lib/smbconf/smbconf_reg.c | 18 | ||||
-rw-r--r-- | source3/utils/net_conf.c | 11 |
6 files changed, 22 insertions, 17 deletions
diff --git a/lib/smbconf/smbconf.c b/lib/smbconf/smbconf.c index 5fbf52da05..366b78dd6e 100644 --- a/lib/smbconf/smbconf.c +++ b/lib/smbconf/smbconf.c @@ -126,7 +126,7 @@ bool smbconf_changed(struct smbconf_ctx *ctx, struct smbconf_csn *csn, /** * Drop the whole configuration (restarting empty). */ -WERROR smbconf_drop(struct smbconf_ctx *ctx) +sbcErr smbconf_drop(struct smbconf_ctx *ctx) { return ctx->ops->drop(ctx); } diff --git a/lib/smbconf/smbconf.h b/lib/smbconf/smbconf.h index 11e971b5ba..535582565a 100644 --- a/lib/smbconf/smbconf.h +++ b/lib/smbconf/smbconf.h @@ -74,7 +74,7 @@ bool smbconf_is_writeable(struct smbconf_ctx *ctx); void smbconf_shutdown(struct smbconf_ctx *ctx); bool smbconf_changed(struct smbconf_ctx *ctx, struct smbconf_csn *csn, const char *service, const char *param); -WERROR smbconf_drop(struct smbconf_ctx *ctx); +sbcErr smbconf_drop(struct smbconf_ctx *ctx); WERROR smbconf_get_config(struct smbconf_ctx *ctx, TALLOC_CTX *mem_ctx, uint32_t *num_shares, diff --git a/lib/smbconf/smbconf_private.h b/lib/smbconf/smbconf_private.h index 26573274ee..3d68a05c34 100644 --- a/lib/smbconf/smbconf_private.h +++ b/lib/smbconf/smbconf_private.h @@ -35,7 +35,7 @@ struct smbconf_ops { int (*close_conf)(struct smbconf_ctx *ctx); void (*get_csn)(struct smbconf_ctx *ctx, struct smbconf_csn *csn, const char *service, const char *param); - WERROR (*drop)(struct smbconf_ctx *ctx); + sbcErr (*drop)(struct smbconf_ctx *ctx); WERROR (*get_share_names)(struct smbconf_ctx *ctx, TALLOC_CTX *mem_ctx, uint32_t *num_shares, diff --git a/lib/smbconf/smbconf_txt.c b/lib/smbconf/smbconf_txt.c index 1ee855c641..4b16cc23aa 100644 --- a/lib/smbconf/smbconf_txt.c +++ b/lib/smbconf/smbconf_txt.c @@ -285,9 +285,9 @@ static void smbconf_txt_get_csn(struct smbconf_ctx *ctx, /** * Drop the whole configuration (restarting empty) */ -static WERROR smbconf_txt_drop(struct smbconf_ctx *ctx) +static sbcErr smbconf_txt_drop(struct smbconf_ctx *ctx) { - return WERR_NOT_SUPPORTED; + return SBC_ERR_NOT_SUPPORTED; } /** diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index 71b60c86bc..844a9b6b48 100644 --- a/source3/lib/smbconf/smbconf_reg.c +++ b/source3/lib/smbconf/smbconf_reg.c @@ -698,10 +698,11 @@ static void smbconf_reg_get_csn(struct smbconf_ctx *ctx, /** * Drop the whole configuration (restarting empty) - registry version */ -static WERROR smbconf_reg_drop(struct smbconf_ctx *ctx) +static sbcErr smbconf_reg_drop(struct smbconf_ctx *ctx) { char *path, *p; WERROR werr = WERR_OK; + sbcErr err = SBC_ERR_OK; struct registry_key *parent_key = NULL; struct registry_key *new_key = NULL; TALLOC_CTX* mem_ctx = talloc_stackframe(); @@ -711,39 +712,44 @@ static WERROR smbconf_reg_drop(struct smbconf_ctx *ctx) werr = ntstatus_to_werror(registry_create_admin_token(ctx, &token)); if (!W_ERROR_IS_OK(werr)) { DEBUG(1, ("Error creating admin token\n")); + err = SBC_ERR_UNKNOWN_FAILURE; goto done; } path = talloc_strdup(mem_ctx, ctx->path); if (path == NULL) { - werr = WERR_NOMEM; + err = SBC_ERR_NOMEM; goto done; } p = strrchr(path, '\\'); if (p == NULL) { - werr = WERR_INVALID_PARAM; + err = SBC_ERR_INVALID_PARAM; goto done; } *p = '\0'; werr = reg_open_path(mem_ctx, path, REG_KEY_WRITE, token, &parent_key); - if (!W_ERROR_IS_OK(werr)) { + err = SBC_ERR_IO_FAILURE; goto done; } werr = reg_deletekey_recursive(parent_key, p+1); - if (!W_ERROR_IS_OK(werr)) { + err = SBC_ERR_IO_FAILURE; goto done; } werr = reg_createkey(mem_ctx, parent_key, p+1, REG_KEY_WRITE, &new_key, &action); + if (!W_ERROR_IS_OK(werr)) { + err = SBC_ERR_IO_FAILURE; + goto done; + } done: talloc_free(mem_ctx); - return werr; + return err; } /** diff --git a/source3/utils/net_conf.c b/source3/utils/net_conf.c index 9ed19f1fdb..c0f6e08ec2 100644 --- a/source3/utils/net_conf.c +++ b/source3/utils/net_conf.c @@ -393,8 +393,7 @@ static int net_conf_import(struct net_context *c, struct smbconf_ctx *conf_ctx, goto cancel; } if (!c->opt_testmode) { - werr = smbconf_drop(conf_ctx); - if (!W_ERROR_IS_OK(werr)) { + if (!SBC_ERROR_IS_OK(smbconf_drop(conf_ctx))) { goto cancel; } } @@ -502,17 +501,17 @@ static int net_conf_drop(struct net_context *c, struct smbconf_ctx *conf_ctx, int argc, const char **argv) { int ret = -1; - WERROR werr; + sbcErr err; if (argc != 0 || c->display_usage) { net_conf_drop_usage(c, argc, argv); goto done; } - werr = smbconf_drop(conf_ctx); - if (!W_ERROR_IS_OK(werr)) { + err = smbconf_drop(conf_ctx); + if (!SBC_ERROR_IS_OK(err)) { d_fprintf(stderr, _("Error deleting configuration: %s\n"), - win_errstr(werr)); + sbcErrorString(err)); goto done; } |