From d13eaa60f504987445b7333ef6972491c9483e6a Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 21 Aug 2007 14:47:15 +0000 Subject: [PATCH] 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 --- source/param/loadparm.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) 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") ***************************************************************************/ -- 2.34.1