[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