From 3a37332880a894b2a74d6f66537ca3224525e0ea Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Mon, 14 Jan 2008 15:07:30 +0000
Subject: [PATCH] Print out a warning when spaces are used in the variable name
 in Set and MSet. It is extremely hard to debug this issue so this should make
 it easier. (closes issue #11759) Reported by: caio1982 Patches:      
 setvar_space_warning1.diff uploaded by caio1982 (license 22)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/pbx.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/main/pbx.c b/main/pbx.c
index 0c0be0b93f..3820c4615d 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -7298,6 +7298,8 @@ int pbx_builtin_setvar(struct ast_channel *chan, void *data)
 	mydata = ast_strdupa(data);
 	name = strsep(&mydata, "=");
 	value = mydata;
+	if (strchr(name, ' '))
+		ast_log(LOG_WARNING, "Please avoid unnecessary spaces on variables as it may lead to unexpected results ('%s' set to '%s').\n", name, mydata);
 
 	pbx_builtin_setvar_helper(chan, name, value);
 	return(0);
@@ -7325,10 +7327,13 @@ static int pbx_builtin_setvar_multiple(struct ast_channel *chan, void *vdata)
 
 	for (x = 0; x < args.argc; x++) {
 		AST_NONSTANDARD_APP_ARGS(pair, args.pair[x], '=');
-		if (pair.argc == 2)
+		if (pair.argc == 2) {
 			pbx_builtin_setvar_helper(chan, pair.name, pair.value);
-		else
+			if (strchr(pair.name, ' '))
+				ast_log(LOG_WARNING, "Please avoid unnecessary spaces on variables as it may lead to unexpected results ('%s' set to '%s').\n", pair.name, pair.value);
+		} else {
 			ast_log(LOG_WARNING, "MSet: ignoring entry '%s' with no '=' (in %s@%s:%d\n", pair.name, chan->exten, chan->context, chan->priority);
+		}
 	}
 
 	return 0;
-- 
GitLab