[Asterisk-cvs] asterisk/apps app_disa.c,1.16,1.17

markster at lists.digium.com markster at lists.digium.com
Wed Sep 15 18:05:04 CDT 2004


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

Modified Files:
	app_disa.c 
Log Message:
Fix app_disa to not ignore ignorepat :) (bug #2451)


Index: app_disa.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_disa.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- app_disa.c	28 Aug 2004 19:41:18 -0000	1.16
+++ app_disa.c	15 Sep 2004 22:06:30 -0000	1.17
@@ -104,7 +104,7 @@
 
 static int disa_exec(struct ast_channel *chan, void *data)
 {
-	int i,j,k,x;
+	int i,j,k,x,did_ignore;
 	struct localuser *u;
 	char tmp[256],arg2[256]="",exten[AST_MAX_EXTENSION],acctcode[20]="";
 	char *ourcontext,*ourcallerid;
@@ -152,6 +152,7 @@
 		ast_answer(chan);
 	}
 	i = k = x = 0; /* k is 0 for pswd entry, 1 for ext entry */
+	did_ignore = 0;
 	exten[0] = 0;
 	acctcode[0] = 0;
 	/* can we access DISA without password? */ 
@@ -276,11 +277,21 @@
 					continue;
 				}
 			}
+
 			exten[i++] = j;  /* save digit */
 			exten[i] = 0;
 			if (!k) continue; /* if getting password, continue doing it */
 			  /* if this exists */
 
+			if (ast_ignore_pattern(ourcontext, exten)) {
+				play_dialtone(chan);
+				did_ignore = 1;
+			} else
+				if (did_ignore) {
+					ast_playtones_stop(chan);
+					did_ignore = 0;
+				}
+
 			  /* if can do some more, do it */
 			if (!ast_matchmore_extension(chan,ourcontext,exten,1, chan->callerid)) {
 				break;




More information about the svn-commits mailing list