[asterisk-commits] murf: trunk r112357 - /trunk/main/pbx.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Apr 1 17:45:10 CDT 2008


Author: murf
Date: Tue Apr  1 17:45:10 2008
New Revision: 112357

URL: http://svn.digium.com/view/asterisk?view=rev&rev=112357
Log:
Bumped across another test set for the new exten pattern matcher, which revealed a problem with the CANMATCH/MATCHMORE modes. Direct matches were getting in the way. Fixed.

Modified:
    trunk/main/pbx.c

Modified: trunk/main/pbx.c
URL: http://svn.digium.com/view/asterisk/trunk/main/pbx.c?view=diff&rev=112357&r1=112356&r2=112357
==============================================================================
--- trunk/main/pbx.c (original)
+++ trunk/main/pbx.c Tue Apr  1 17:45:10 2008
@@ -1015,9 +1015,11 @@
 			if (p->x[1] == 0 && *str >= '2' && *str <= '9' ) {
 #define NEW_MATCHER_CHK_MATCH	       \
 				if (p->exten && !(*(str+1))) { /* if a shorter pattern matches along the way, might as well report it */ \
-					update_scoreboard(score, length+1, spec+p->specificity, p->exten,0,callerid, p->deleted, p);         \
-					if (!p->deleted)                                                                                     \
-						return; /* the first match, by definition, will be the best, because of the sorted tree */       \
+					if (action == E_MATCH) { /* if in CANMATCH/MATCHMORE, don't let matches get in the way */            \
+						update_scoreboard(score, length+1, spec+p->specificity, p->exten,0,callerid, p->deleted, p);     \
+						if (!p->deleted)								                                                 \
+							return; /* the first match, by definition, will be the best, because of the sorted tree */   \
+					}                                                                                                    \
 				}
 				
 #define NEW_MATCHER_RECURSE	           \




More information about the asterisk-commits mailing list