[Freeswitch-svn] [commit] r6780 - freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk

Freeswitch SVN mikej at freeswitch.org
Thu Dec 13 19:52:28 EST 2007


Author: mikej
Date: Thu Dec 13 19:52:27 2007
New Revision: 6780

Modified:
   freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c

Log:
cleanup, null checks. etc.


Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
==============================================================================
--- freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c	(original)
+++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c	Thu Dec 13 19:52:27 2007
@@ -185,7 +185,7 @@
 				char *pattern = NULL;
 				char *pri = NULL;
 				char *app = NULL;
-				char *arg = NULL;
+				char *argument = NULL;
 				char *expression = NULL, expression_buf[1024] = "";
 				char substituted[2048] = "";
 				char *field_data = caller_profile->destination_number;
@@ -206,7 +206,7 @@
 				
 				if (!strcasecmp(var, "exten")) {
 					char *p;
-					if ((p = strchr(pattern, '/'))) {
+					if (pattern && (p = strchr(pattern, '/'))) {
 						*p++ = '\0';
 						cid = pattern;
 						pattern = p;
@@ -224,7 +224,7 @@
 					}
 				}
 				
-				if (*pattern == '_' || *pattern == '~') {
+				if (pattern && (*pattern == '_' || *pattern == '~')) {
 					if (*pattern == '_') {
 						pattern++;
 						if (switch_ast2regex(pattern, expression_buf, sizeof(expression_buf))) {
@@ -242,7 +242,7 @@
 						continue;
 					}
 				} else {
-					if (strcasecmp(pattern, field_data)) {
+					if (pattern && strcasecmp(pattern, field_data)) {
 						continue;
 					}
 				}
@@ -260,24 +260,24 @@
 				pri = argv[1];
 				app = argv[2];
 				
-				if ((arg = strchr(app, '('))) {
+				if ((argument = strchr(app, '('))) {
 					char *p;
-					*arg++ = '\0';
-					p = strrchr(arg, ')');
+					*argument++ = '\0';
+					p = strrchr(argument, ')');
 					if (p) {
 							*p = '\0';
 					}
-				} else if ((arg = strchr(app, ','))) {
-					*arg++ = '\0';
+				} else if ((argument = strchr(app, ','))) {
+					*argument++ = '\0';
 				}
 				
-				if (!arg) {
-					arg = "";
+				if (!argument) {
+					argument = "";
 				}
 
 				if (strchr(expression, '(')) {
-					switch_perform_substitution(re, proceed, arg, field_data, substituted, sizeof(substituted), ovector);
-					arg = substituted;
+					switch_perform_substitution(re, proceed, argument, field_data, substituted, sizeof(substituted), ovector);
+					argument = substituted;
 				}
 				switch_regex_safe_free(re);
 
@@ -288,7 +288,7 @@
 					}
 				}
 				
-				switch_caller_extension_add_application(session, extension, app, arg);
+				switch_caller_extension_add_application(session, extension, app, argument);
 			}
 			
 			switch_safe_free(field_expanded);



More information about the Freeswitch-svn mailing list