From: Mathieu Rene Date: Sun, 29 Mar 2009 17:12:40 +0000 (+0000) Subject: In switch_true/switch_false, check switch_is_number(expr) && atoi(expr) instead of... X-Git-Tag: v1.0.4~1343 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68417f4c25354f2db066deadc47db99403582ed0;p=thirdparty%2Ffreeswitch.git In switch_true/switch_false, check switch_is_number(expr) && atoi(expr) instead of just atoi(expr). Fixes a bug when continue_on_fail contains cause codes only (atoi evals the 1st number so it would always be true) git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12834 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/include/switch_utils.h b/src/include/switch_utils.h index cbb687936b..70303a25e1 100644 --- a/src/include/switch_utils.h +++ b/src/include/switch_utils.h @@ -121,7 +121,7 @@ SWITCH_DECLARE(switch_size_t) switch_fd_read_line(int fd, char *buf, switch_size !strcasecmp(expr, "enabled") ||\ !strcasecmp(expr, "active") ||\ !strcasecmp(expr, "allow") ||\ -atoi(expr))) ? SWITCH_TRUE : SWITCH_FALSE) +(switch_is_number(expr) && atoi(expr)))) ? SWITCH_TRUE : SWITCH_FALSE) #define switch_true_buf(expr)\ ((( !strcasecmp(expr, "yes") ||\ @@ -130,7 +130,7 @@ atoi(expr))) ? SWITCH_TRUE : SWITCH_FALSE) !strcasecmp(expr, "enabled") ||\ !strcasecmp(expr, "active") ||\ !strcasecmp(expr, "allow") ||\ -atoi(expr))) ? SWITCH_TRUE : SWITCH_FALSE) +(switch_is_number(expr) && atoi(expr)))) ? SWITCH_TRUE : SWITCH_FALSE) /*! \brief Evaluate the falsefullness of a string expression @@ -144,7 +144,7 @@ atoi(expr))) ? SWITCH_TRUE : SWITCH_FALSE) !strcasecmp(expr, "disabled") ||\ !strcasecmp(expr, "inactive") ||\ !strcasecmp(expr, "disallow") ||\ -!atoi(expr))) ? SWITCH_TRUE : SWITCH_FALSE) +!(switch_is_number(expr) && atoi(expr)))) ? SWITCH_TRUE : SWITCH_FALSE) /*!