From: Michael Adam Date: Tue, 21 Aug 2007 14:47:15 +0000 (+0000) Subject: r24602: Add function lp_string_is_valid_boolean() to check if a string X-Git-Tag: build_3.2.7_ctdb.53~3870 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=d13eaa60f504987445b7333ef6972491c9483e6a;p=obnox%2Fsamba%2Fsamba-obnox.git r24602: Add function lp_string_is_valid_boolean() to check if a string 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 --- diff --git a/source/param/loadparm.c b/source/param/loadparm.c index e65a6495846..6e05e5e5547 100644 --- a/source/param/loadparm.c +++ b/source/param/loadparm.c @@ -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") ***************************************************************************/