s3-libsmb: Remove use of cli_errstr()
[kai/samba.git] / source4 / param / loadparm.c
index a3c132ba57806ab7eb5628275c0cf88c2252c4f8..eafe8333eac844b0084eb44329410dcb95d4eb3a 100644 (file)
@@ -85,8 +85,8 @@ static bool defaults_saved = false;
        char *tls_dhpfile;                                              \
        char *loglevel;                                                 \
        char *panic_action;                                             \
-       int bPreferredMaster;                                           \
-       char *szAnnounceVersion;        /* This is initialised in init_globals */
+       int bPreferredMaster;
+
 #define LOADPARM_EXTRA_LOCALS                          \
        struct parmlist_entry *param_opt;               \
        char *szService;                                \
@@ -756,14 +756,6 @@ static struct parm_struct parm_table[] = {
                .enum_list      = NULL
        },
 
-       {
-               .label          = "announce version",
-               .type           = P_STRING,
-               .p_class        = P_GLOBAL,
-               .offset         = GLOBAL_VAR(szAnnounceVersion),
-               .special        = NULL,
-               .enum_list      = NULL
-       },
        {
                .label          = "max mux",
                .type           = P_INTEGER,
@@ -1515,7 +1507,7 @@ FN_GLOBAL_LIST(interfaces, szInterfaces)
 FN_GLOBAL_STRING(socket_address, szSocketAddress)
 FN_GLOBAL_LIST(netbios_aliases, szNetbiosAliases)
 FN_GLOBAL_BOOL(disable_netbios, bDisableNetbios)
-FN_GLOBAL_BOOL(wins_support, bWINSsupport)
+FN_GLOBAL_BOOL(we_are_a_wins_server, bWINSsupport)
 FN_GLOBAL_BOOL(wins_dns_proxy, bWINSdnsProxy)
 FN_GLOBAL_STRING(wins_hook, szWINSHook)
 FN_GLOBAL_BOOL(local_master, bLocalMaster)
@@ -2499,6 +2491,16 @@ static bool set_variable(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr,
                        }
                        break;
 
+               case P_BOOLREV: {
+                       bool b;
+                       if (!set_boolean(pszParmValue, &b)) {
+                               DEBUG(0,("lp_do_parameter(%s): value is not boolean!\n", pszParmValue));
+                               return false;
+                       }
+                       *(int *)parm_ptr = !b;
+                       }
+                       break;
+
                case P_INTEGER:
                        *(int *)parm_ptr = atoi(pszParmValue);
                        break;
@@ -2809,6 +2811,10 @@ static void print_parameter(struct parm_struct *p, void *ptr, FILE * f)
                        fprintf(f, "%s", BOOLSTR((bool)*(int *)ptr));
                        break;
 
+               case P_BOOLREV:
+                       fprintf(f, "%s", BOOLSTR(!(bool)*(int *)ptr));
+                       break;
+
                case P_INTEGER:
                case P_BYTES:
                        fprintf(f, "%d", *(int *)ptr);
@@ -2852,6 +2858,7 @@ static bool equal_parameter(parm_type type, void *ptr1, void *ptr2)
 {
        switch (type) {
                case P_BOOL:
+               case P_BOOLREV:
                        return (*((int *)ptr1) == *((int *)ptr2));
 
                case P_INTEGER:
@@ -2947,6 +2954,7 @@ static bool is_default(struct loadparm_service *sDefault, int i)
                        return strequal(parm_table[i].def.svalue,
                                        *(char **)def_ptr);
                case P_BOOL:
+               case P_BOOLREV:
                        return parm_table[i].def.bvalue ==
                                *(int *)def_ptr;
                case P_INTEGER: