[asterisk-dev] New wildcards for pattern matching - Implementation

Nick Lewis Nick.Lewis at atltelecom.com
Thu Feb 25 08:12:54 CST 2010


Implementing the ~ wildcard in the original extension_match_core
function looks relatively straightforward:

  while (*data && *pattern && *pattern != '/') {
   const char *end;
+ if (*pattern == '~') { /* use previous pattern */
+  pattern--
+  if (*pattern == ']' { /* it is a range */
+   while (*pattern != '[') {
+    pattern--
+   }
+  }
+ }

...

- } else if (*pattern == '!') {
+ } else if (*pattern == '!' || *pattern == '~') {
   return 2;
  }

It may be a bit more tricky with extenpatternmatchnew

--N_L

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Control Centre.
_____________________________________________________________________
Disclaimer of Liability
ATL Telecom Ltd shall not be held liable for any improper or incorrect use of the  information described and/or contained herein and assumes no responsibility for anyones use  of the information. In no event shall ATL Telecom Ltd be liable for any direct, indirect,  incidental, special, exemplary, or consequential damages (including, but not limited to,  procurement or substitute goods or services; loss of use, data, or profits; or business  interruption) however caused and on any theory of liability, whether in contract, strict  liability, or tort (including negligence or otherwise) arising in any way out of the use of  this system, even if advised of the possibility of such damage.

Registered Office: ATL Telecom Ltd, Fountain Lane, St. Mellons Cardiff, CF3 0FB
Registered in Wales Number 4335781

All goods and services supplied by ATL Telecom Ltd are supplied subject to ATL Telecom Ltd standard terms and conditions, available upon request.



More information about the asterisk-dev mailing list