1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

Make libnet_smbconf_set_global_param() call libnet_smbconf_setparm().

This not only removes duplicate logic, but also the use of
libnet_smbconf_reg_setvalue_internal() instead of do_modify_val_config()
which is removed, does add important tests and canonicalizations.

Michael
This commit is contained in:
Michael Adam 2007-12-23 03:52:00 +01:00
parent b9f22adfd3
commit fa84486649

View File

@ -243,21 +243,6 @@ done:
return werr;
}
static WERROR do_modify_val_config(struct registry_key *key,
const char *val_name,
const char *val_data)
{
struct registry_value val;
ZERO_STRUCT(val);
val.type = REG_SZ;
val.v.sz.str = CONST_DISCARD(char *, val_data);
val.v.sz.len = strlen(val_data) + 1;
return reg_setvalue(key, val_name, &val);
}
/**********************************************************************
*
* The actual net conf api functions, that are exported.
@ -285,37 +270,6 @@ WERROR libnet_smbconf_setparm(TALLOC_CTX *mem_ctx,
return werr;
}
WERROR libnet_smbconf_set_global_param(TALLOC_CTX *mem_ctx,
const char *param,
const char *val)
{
WERROR werr;
struct registry_key *key = NULL;
if (!lp_include_registry_globals()) {
return WERR_NOT_SUPPORTED;
}
if (!registry_init_regdb()) {
return WERR_REG_IO_FAILURE;
}
if (!libnet_smbconf_key_exists(mem_ctx, GLOBAL_NAME)) {
werr = libnet_reg_createkey_internal(mem_ctx,
GLOBAL_NAME, &key);
} else {
werr = libnet_smbconf_open_path(mem_ctx,
GLOBAL_NAME,
REG_KEY_WRITE, &key);
}
if (!W_ERROR_IS_OK(werr)) {
return werr;
}
return do_modify_val_config(key, param, val);
}
WERROR libnet_smbconf_delparm(TALLOC_CTX *mem_ctx,
const char *service,
const char *param)
@ -339,3 +293,18 @@ WERROR libnet_smbconf_delparm(TALLOC_CTX *mem_ctx,
return WERR_OK;
}
/**********************************************************************
*
* Convenience functions, that are also exportet.
*
**********************************************************************/
WERROR libnet_smbconf_set_global_param(TALLOC_CTX *mem_ctx,
const char *param,
const char *val)
{
return libnet_smbconf_setparm(mem_ctx, GLOBAL_NAME, param, val);
}