Convert esl_true and esl_false to functions

Prior to this commit, an expression such as:

  esl_true("true") ? 42 : 0

...would return 1 rather than 42.
This commit is contained in:
Travis Cross 2014-06-04 11:53:34 +00:00
parent 70b03acf71
commit a0e9ddf589
1 changed files with 18 additions and 16 deletions

View File

@ -81,28 +81,30 @@ extern "C" {
\param expr a string expression
\return true or false
*/
#define esl_true(expr)\
(expr && ( !strcasecmp(expr, "yes") ||\
!strcasecmp(expr, "on") ||\
!strcasecmp(expr, "true") ||\
!strcasecmp(expr, "enabled") ||\
!strcasecmp(expr, "active") ||\
!strcasecmp(expr, "allow") ||\
atoi(expr))) ? 1 : 0
static inline int esl_true(const char *expr) {
return (expr && (!strcasecmp(expr, "yes")
|| !strcasecmp(expr, "on")
|| !strcasecmp(expr, "true")
|| !strcasecmp(expr, "enabled")
|| !strcasecmp(expr, "active")
|| !strcasecmp(expr, "allow")
|| atoi(expr)));
}
/*!
\brief Evaluate the falsefullness of a string expression
\param expr a string expression
\return true or false
*/
#define esl_false(expr)\
(expr && ( !strcasecmp(expr, "no") ||\
!strcasecmp(expr, "off") ||\
!strcasecmp(expr, "false") ||\
!strcasecmp(expr, "disabled") ||\
!strcasecmp(expr, "inactive") ||\
!strcasecmp(expr, "disallow") ||\
!atoi(expr))) ? 1 : 0
static inline int esl_false(const char *expr) {
return (expr && (!strcasecmp(expr, "no")
|| !strcasecmp(expr, "off")
|| !strcasecmp(expr, "false")
|| !strcasecmp(expr, "disabled")
|| !strcasecmp(expr, "inactive")
|| !strcasecmp(expr, "disallow")
|| !atoi(expr)));
}
typedef struct esl_config esl_config_t;