Make libnet_smbconf_set_global_param() call libnet_smbconf_setparm().
authorMichael Adam <obnox@samba.org>
Sun, 23 Dec 2007 02:52:00 +0000 (03:52 +0100)
committerMichael Adam <obnox@samba.org>
Sun, 23 Dec 2007 03:10:32 +0000 (04:10 +0100)
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

source/libnet/libnet_conf.c

index f364e4fb64776441b7e0e6da40295549d0d8a28c..9d06f8287b702b7d63c14bbc9e851510378d4501 100644 (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);
+}
+