[asterisk-commits] tilghman: branch 1.4 r145839 - /branches/1.4/funcs/func_odbc.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Oct 2 11:39:57 CDT 2008


Author: tilghman
Date: Thu Oct  2 11:39:56 2008
New Revision: 145839

URL: http://svn.digium.com/view/asterisk?view=rev&rev=145839
Log:
Backport support for some of the keyword modifications used in 1.6 (while warning that
some options aren't really supported) and add some warning messages.  Some credit to
oej, who was complaining in #asterisk-dev.

Modified:
    branches/1.4/funcs/func_odbc.c

Modified: branches/1.4/funcs/func_odbc.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/funcs/func_odbc.c?view=diff&rev=145839&r1=145838&r2=145839
==============================================================================
--- branches/1.4/funcs/func_odbc.c (original)
+++ branches/1.4/funcs/func_odbc.c Thu Oct  2 11:39:56 2008
@@ -416,17 +416,21 @@
 
 	if ((tmp = ast_variable_retrieve(cfg, catg, "dsn"))) {
 		ast_copy_string((*query)->dsn, tmp, sizeof((*query)->dsn));
+	} else if ((tmp = ast_variable_retrieve(cfg, catg, "writehandle")) || (tmp = ast_variable_retrieve(cfg, catg, "readhandle"))) {
+		ast_log(LOG_WARNING, "Separate read and write handles are not supported in this version of func_odbc.so\n");
+		ast_copy_string((*query)->dsn, tmp, sizeof((*query)->dsn));
 	} else {
 		free(*query);
 		*query = NULL;
-		return -1;
-	}
-
-	if ((tmp = ast_variable_retrieve(cfg, catg, "read"))) {
+		ast_log(LOG_ERROR, "No database handle was specified for func_odbc class '%s'\n", catg);
+		return -1;
+	}
+
+	if ((tmp = ast_variable_retrieve(cfg, catg, "read")) || (tmp = ast_variable_retrieve(cfg, catg, "readsql"))) {
 		ast_copy_string((*query)->sql_read, tmp, sizeof((*query)->sql_read));
 	}
 
-	if ((tmp = ast_variable_retrieve(cfg, catg, "write"))) {
+	if ((tmp = ast_variable_retrieve(cfg, catg, "write")) || (tmp = ast_variable_retrieve(cfg, catg, "writesql"))) {
 		ast_copy_string((*query)->sql_write, tmp, sizeof((*query)->sql_write));
 	}
 
@@ -491,6 +495,8 @@
 					"${VALUE} or parsed as ${VAL1}, ${VAL2}, ... ${VALn}.\n"
 					"This function may only be set.\nSQL:\n%s\n",
 					(*query)->sql_write);
+	} else {
+		ast_log(LOG_ERROR, "No SQL was found for func_odbc class '%s'\n", catg);
 	}
 
 	/* Could be out of memory, or could be we have neither sql_read nor sql_write */




More information about the asterisk-commits mailing list