diff --git a/config.c b/config.c index c217ac624..e25b24235 100755 --- a/config.c +++ b/config.c @@ -128,6 +128,20 @@ int ast_true(char *s) return 0; } +int ast_false(char *s) +{ + if (!s) + return 0; + /* Determine if this is a false value */ + if (!strcasecmp(s, "no") || + !strcasecmp(s, "false") || + !strcasecmp(s, "n") || + !strcasecmp(s, "f") || + !strcasecmp(s, "0")) + return -1; + return 0; +} + struct ast_variable *ast_variable_browse(struct ast_config *config, char *category) { struct ast_category *cat; diff --git a/include/asterisk/config.h b/include/asterisk/config.h index ff8366042..e98df700f 100755 --- a/include/asterisk/config.h +++ b/include/asterisk/config.h @@ -87,6 +87,14 @@ char *ast_variable_retrieve(struct ast_config *config, char *category, char *val */ int ast_true(char *val); +//! Make sure something is false +/*! + * Determine falseness of a boolean value. + * This function checks to see whether a string passed to it is an indication of a negatirve value. It checks to see if the string is "no", "false", "n", "f", and "0". + * Returns 0 if the value of s is a NULL pointer, 0 on "truth", and -1 on falsehood. + */ +int ast_false(char *val); + //! Check for category duplicates /*! * \param config which config to use