revert my pass through the tree to remove checks of the result of ast_strdupa
[asterisk/asterisk.git] / funcs / func_logic.c
old mode 100755 (executable)
new mode 100644 (file)
index 13cd6b1..d1d96ab
@@ -1,13 +1,25 @@
 /*
- * Asterisk -- A telephony toolkit for Linux.
+ * Asterisk -- An open source telephony toolkit.
  *
- * Conditional logic dialplan functions
- * 
- * Copyright (C) 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2005, Digium, Inc.
  * Portions Copyright (C) 2005, Anthony Minessale II
  *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
  * This program is free software, distributed under the terms of
- * the GNU General Public License
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
+/*! \file
+ * 
+ * \brief Conditional logic dialplan functions
+ * 
+ * \author Anthony Minessale II
  */
 
 #include <stdlib.h>
@@ -53,7 +65,7 @@ static char *builtin_function_iftime(struct ast_channel *chan, char *cmd, char *
        iftrue = strsep(&data, ":");
        iffalse = data;
 
-       if (!expr || ast_strlen_zero(expr) || !(iftrue || iffalse)) {
+       if (ast_strlen_zero(expr) || !(iftrue || iffalse)) {
                ast_log(LOG_WARNING, "Syntax IFTIME(<timespec>?[<true>][:<false>])\n");
                return NULL;
        }
@@ -93,11 +105,12 @@ static char *builtin_function_if(struct ast_channel *chan, char *cmd, char *data
        iftrue = strsep(&data, ":");
        iffalse = data;
 
-       if (!expr || ast_strlen_zero(expr) || !(iftrue || iffalse)) {
+       if (ast_strlen_zero(expr) || !(iftrue || iffalse)) {
                ast_log(LOG_WARNING, "Syntax IF(<expr>?[<true>][:<false>])\n");
                return NULL;
        }
 
+       expr = ast_strip(expr);
        if (iftrue)
                iftrue = ast_strip_quoted(iftrue, "\"", "\"");
        if (iffalse)
@@ -124,7 +137,7 @@ static char *builtin_function_set(struct ast_channel *chan, char *cmd, char *dat
        varname = strsep(&data, "=");
        val = data;
 
-       if (!varname || ast_strlen_zero(varname) || !val) {
+       if (ast_strlen_zero(varname) || !val) {
                ast_log(LOG_WARNING, "Syntax SET(<varname>=[<value>])\n");
                return NULL;
        }