[Asterisk-cvs] asterisk-addons app_addon_sql_mysql.c,1.4,1.5

kpfleming at lists.digium.com kpfleming at lists.digium.com
Tue Jun 7 13:34:07 CDT 2005


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

Modified Files:
	app_addon_sql_mysql.c 
Log Message:
allow dialplan to continue executing after a MYSQL() failure, and return result in MYSQL_STATUS channel variable (bug #4421)


Index: app_addon_sql_mysql.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/app_addon_sql_mysql.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- app_addon_sql_mysql.c	31 Mar 2005 19:05:13 -0000	1.4
+++ app_addon_sql_mysql.c	7 Jun 2005 17:36:28 -0000	1.5
@@ -1,7 +1,7 @@
 /*
  * Asterisk -- A telephony toolkit for Linux.
  *
- * Connect to PostgreSQL
+ * Connect to MySQL
  * 
  * Copyright (C) 2004, Constantine Filin and Christos Ricudis
  *
@@ -12,14 +12,6 @@
  * the GNU General Public License
  */
 
-#include <asterisk/file.h>
-#include <asterisk/logger.h>
-#include <asterisk/channel.h>
-#include <asterisk/pbx.h>
-#include <asterisk/module.h>
-#include <asterisk/linkedlists.h>
-#include <asterisk/chanvars.h>
-#include <asterisk/lock.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
@@ -30,6 +22,15 @@
 
 #include <mysql.h>
 
+#include <asterisk/file.h>
+#include <asterisk/logger.h>
+#include <asterisk/channel.h>
+#include <asterisk/pbx.h>
+#include <asterisk/module.h>
+#include <asterisk/linkedlists.h>
+#include <asterisk/chanvars.h>
+#include <asterisk/lock.h>
+
 #define EXTRA_LOG 0
 
 static char *tdesc = "Simple Mysql Interface";
@@ -56,7 +57,8 @@
 "  MYSQL(Clear ${resultid})\n"
 "    Frees memory and datastructures associated with result set.\n" 
 "  MYSQL(Disconnect ${connid})\n"
-"    Disconnects from named connection to MySQL.\n" ;
+"    Disconnects from named connection to MySQL.\n"
+"  On exit, always returns 0. Sets MYSQL_STATUS to 0 on success and -1 on error.\n";
 
 /*	
 EXAMPLES OF USE : 
@@ -373,6 +375,7 @@
 {
 	struct localuser *u;
 	int result;
+	char sresult[10];
 
 #if EXTRA_LOG
 	fprintf(stderr,"MYSQL_exec: data=%s\n",(char*)data);
@@ -406,8 +409,9 @@
 	ast_mutex_unlock(&_mysql_mutex);
 
 	LOCAL_USER_REMOVE(u);                                                                                
-	return result;
-
+	snprintf(sresult, sizeof(sresult), "%d", result);
+	pbx_builtin_setvar_helper(chan, "MYSQL_STATUS", sresult);
+	return 0;
 }
 
 int unload_module(void)




More information about the svn-commits mailing list