param: Use a bool to hold boolean parameters
authorAndrew Bartlett <abartlet@samba.org>
Thu, 6 Oct 2011 05:35:39 +0000 (16:35 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 7 Oct 2011 06:45:20 +0000 (17:45 +1100)
All three-state parameters invoking Auto (2) are already declared as integers, not
booleans.

Andrew Bartlett

script/mkparamdefs.pl
source4/param/loadparm.c

index eacdebd12a6e59c23cdc79c4c9da1b4ed1bfba6b..b489cc9277a40d1c7901563bb91ae55e3ee58a2a 100644 (file)
@@ -130,7 +130,7 @@ sub handle_loadparm($$$)
                return;
        }
        my %tmap = (
-           "BOOL" => "int ",
+           "BOOL" => "bool ",
            "CONST_STRING" => "char *",
            "STRING" => "char *",
            "INTEGER" => "int ",
index 524fd26df3405d865398e2776151a738f6552f89..a9fa00293186772eab6796cc3795b09815695bd9 100644 (file)
@@ -2132,7 +2132,7 @@ static void copy_service(struct loadparm_service *pserviceDest,
 
                        switch (parm_table[i].type) {
                                case P_BOOL:
-                                       *(int *)dest_ptr = *(int *)src_ptr;
+                                       *(bool *)dest_ptr = *(bool *)src_ptr;
                                        break;
 
                                case P_INTEGER:
@@ -2506,7 +2506,7 @@ static bool set_variable(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr,
                                DEBUG(0,("lp_do_parameter(%s): value is not boolean!\n", pszParmValue));
                                return false;
                        }
-                       *(int *)parm_ptr = b;
+                       *(bool *)parm_ptr = b;
                        }
                        break;
 
@@ -2516,7 +2516,7 @@ static bool set_variable(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr,
                                DEBUG(0,("lp_do_parameter(%s): value is not boolean!\n", pszParmValue));
                                return false;
                        }
-                       *(int *)parm_ptr = !b;
+                       *(bool *)parm_ptr = !b;
                        }
                        break;
 
@@ -2837,11 +2837,11 @@ static void print_parameter(struct parm_struct *p, void *ptr, FILE * f)
                        break;
 
                case P_BOOL:
-                       fprintf(f, "%s", BOOLSTR((bool)*(int *)ptr));
+                       fprintf(f, "%s", BOOLSTR(*(bool *)ptr));
                        break;
 
                case P_BOOLREV:
-                       fprintf(f, "%s", BOOLSTR(!(bool)*(int *)ptr));
+                       fprintf(f, "%s", BOOLSTR(!*(bool *)ptr));
                        break;
 
                case P_INTEGER:
@@ -2892,7 +2892,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));
+                       return (*((bool *)ptr1) == *((bool *)ptr2));
 
                case P_INTEGER:
                case P_OCTAL:
@@ -2992,7 +2992,7 @@ static bool is_default(struct loadparm_service *sDefault, int i)
                case P_BOOL:
                case P_BOOLREV:
                        return parm_table[i].def.bvalue ==
-                               *(int *)def_ptr;
+                               *(bool *)def_ptr;
                case P_INTEGER:
                case P_CHAR:
                case P_OCTAL: