[Asterisk-cvs] asterisk ChangeLog,1.73,1.74 pbx.c,1.298,1.299

kpfleming kpfleming
Tue Nov 8 18:46:54 CST 2005


Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv25225

Modified Files:
	ChangeLog pbx.c 
Log Message:
issue #2720


Index: ChangeLog
===================================================================
RCS file: /usr/cvsroot/asterisk/ChangeLog,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- ChangeLog	8 Nov 2005 23:19:30 -0000	1.73
+++ ChangeLog	8 Nov 2005 23:37:53 -0000	1.74
@@ -1,5 +1,9 @@
 2005-11-08  Kevin P. Fleming  <kpfleming at digium.com>
-	
+
+	* pbx.c (pbx_builtin_pushvar_helper): add new API function for setting variables that can exist multiple times (issue #2720)
+	* apps/Makefile (APPS): add app_stack (issue #2720)
+	* apps/app_stack.c: new applications (issue #2720)
+
 	* apps/app_meetme.c: fix two audio delay problems related to using non-Zap channels in conferences (issues #3599 and #4252)
 	* configs/meetme.conf.sample: add documentation of new 'audiobuffers' setting to control buffering on incoming audio from non-Zap channels
 

Index: pbx.c
===================================================================
RCS file: /usr/cvsroot/asterisk/pbx.c,v
retrieving revision 1.298
retrieving revision 1.299
diff -u -d -r1.298 -r1.299
--- pbx.c	8 Nov 2005 04:13:18 -0000	1.298
+++ pbx.c	8 Nov 2005 23:37:53 -0000	1.299
@@ -5897,6 +5897,26 @@
 	return NULL;
 }
 
+void pbx_builtin_pushvar_helper(struct ast_channel *chan, const char *name, const char *value)
+{
+	struct ast_var_t *newvariable;
+	struct varshead *headp;
+
+	if (name[strlen(name)-1] == ')') {
+		ast_log(LOG_WARNING, "Cannot push a value onto a function\n");
+		return ast_func_write(chan, name, value);
+	}
+
+	headp = (chan) ? &chan->varshead : &globals;
+
+	if (value) {
+		if ((option_verbose > 1) && (headp == &globals))
+			ast_verbose(VERBOSE_PREFIX_2 "Setting global variable '%s' to '%s'\n", name, value);
+		newvariable = ast_var_assign(name, value);	
+		AST_LIST_INSERT_HEAD(headp, newvariable, entries);
+	}
+}
+
 void pbx_builtin_setvar_helper(struct ast_channel *chan, const char *name, const char *value)
 {
 	struct ast_var_t *newvariable;




More information about the svn-commits mailing list