[asterisk-commits] mjordan: branch 12 r400196 - /branches/12/funcs/func_cdr.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Sep 30 14:57:38 CDT 2013


Author: mjordan
Date: Mon Sep 30 14:57:36 2013
New Revision: 400196

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=400196
Log:
Parse arguments passed to the CDR_PROP function correctly

I can only blame this on a bad merge, because this in no way worked properly
the way it was written. Mea culpa. The function should now parse its arguments
correctly and function properly. (Note that the API used by the CDR_PROP
function has working unit tests... this was merely bad coding of the actual
registered function)

(closes issue ASTERISK-22613)
Reported by: Private Name


Modified:
    branches/12/funcs/func_cdr.c

Modified: branches/12/funcs/func_cdr.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/funcs/func_cdr.c?view=diff&rev=400196&r1=400195&r2=400196
==============================================================================
--- branches/12/funcs/func_cdr.c (original)
+++ branches/12/funcs/func_cdr.c Mon Sep 30 14:57:36 2013
@@ -349,12 +349,23 @@
 {
 	enum ast_cdr_options option;
 
-	if (!strcasecmp("party_a", cmd)) {
+	AST_DECLARE_APP_ARGS(args,
+		AST_APP_ARG(variable);
+		AST_APP_ARG(options);
+	);
+
+	if (ast_strlen_zero(parse) || !value || !chan) {
+		return -1;
+	}
+
+	AST_STANDARD_APP_ARGS(args, parse);
+
+	if (!strcasecmp("party_a", args.variable)) {
 		option = AST_CDR_FLAG_PARTY_A;
-	} else if (!strcasecmp("disable", cmd)) {
+	} else if (!strcasecmp("disable", args.variable)) {
 		option = AST_CDR_FLAG_DISABLE_ALL;
 	} else {
-		ast_log(AST_LOG_WARNING, "Unknown option %s used with CDR_PROP\n", cmd);
+		ast_log(AST_LOG_WARNING, "Unknown option %s used with CDR_PROP\n", args.variable);
 		return 0;
 	}
 




More information about the asterisk-commits mailing list