[asterisk-bugs] [Asterisk 0012777]: Pattern matching treats 'x' differently than 'X'

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Jun 2 22:46:50 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12777 
====================================================================== 
Reported By:                jsmith
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12777
Category:                   PBX/pbx_config
Reproducibility:            always
Severity:                   minor
Priority:                   high
Status:                     new
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 117582 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-02-2008 21:50 CDT
Last Modified:              06-02-2008 22:46 CDT
====================================================================== 
Summary:                    Pattern matching treats 'x' differently than 'X'
Description: 
Steve Edwards reported
[http://lists.digium.com/pipermail/asterisk-users/2008-June/212956.html]
that the pattern _2xxx is evaluated before _2[1-4]00.  I went to reply that
it shouldn't be that way, but in my testing, I found he was right.

I think this is a pretty serious bug in the pattern matching code.

As I understand it, Asterisk should be evaluating the patterns one digit
at a time, from left to right.  Whenever more than one pattern could
possibly match, the *most constrained* digit should match first.  In other
words, given these two patterns, if I dialed 1234, the first one should
match before the second, as it's a more constrained match in the third
digit (it matches two possible values, while the other matches three).

_12[3-4]X
_12[3-5]X

The problem arises in that Asterisk seems to be treating the wildcard 'X'
differently than 'x', and I can't figure out why.  Both of them should mean
"any digit 0 through 9", but apparently they don't.  See below for more
details:
====================================================================== 

---------------------------------------------------------------------- 
 jsmith - 06-02-08 22:46  
---------------------------------------------------------------------- 
OK, seems to me to be an easy one-line patch for the 1.4 branch, trunk, and
the 1.6.0 branch.  Just because I'm crazy I'll post patches for all three
versions, and save some poor developer the ten seconds it would take to
port to the different branches. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-02-08 22:46  jsmith         Note Added: 0087693                          
======================================================================




More information about the asterisk-bugs mailing list