r24602: Add function lp_string_is_valid_boolean() to check if a string
authorMichael Adam <obnox@samba.org>
Tue, 21 Aug 2007 14:47:15 +0000 (14:47 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:30:09 +0000 (12:30 -0500)
contains a correct representation of a boolean value (in the
understanding of loadparm.c).

Make set_boolean() catch passing NULL for the boolean target.

Michael
(This used to be commit d13eaa60f504987445b7333ef6972491c9483e6a)

source3/param/loadparm.c

index e65a649584689a041ea5d1bca11dad24c279e552..6e05e5e5547080fac1784df01a2e9b2ef96834c5 100644 (file)
@@ -3087,25 +3087,41 @@ void show_parameter_list(void)
 static BOOL set_boolean(BOOL *pb, const char *pszParmValue)
 {
        BOOL bRetval;
+       BOOL value;
 
        bRetval = True;
        if (strwicmp(pszParmValue, "yes") == 0 ||
            strwicmp(pszParmValue, "true") == 0 ||
            strwicmp(pszParmValue, "1") == 0)
-               *pb = True;
+               value = True;
        else if (strwicmp(pszParmValue, "no") == 0 ||
                    strwicmp(pszParmValue, "False") == 0 ||
                    strwicmp(pszParmValue, "0") == 0)
-               *pb = False;
+               value = False;
        else {
                DEBUG(0,
                      ("ERROR: Badly formed boolean in configuration file: \"%s\".\n",
                       pszParmValue));
                bRetval = False;
        }
+
+       if (pb != NULL) {
+               *pb = value;
+       }
+
        return (bRetval);
 }
 
+
+/***************************************************************************
+ Check if a given string correctly represents a boolean value.
+***************************************************************************/
+
+BOOL lp_string_is_valid_boolean(const char *parm_value)
+{
+       return set_boolean(NULL, parm_value);
+}
+
 /***************************************************************************
  Get the standard string representation of a boolean value ("yes" or "no")
 ***************************************************************************/