ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/Bender/Matcher.cpp
(Generate patch)

Comparing Bender/Matcher.cpp (file contents):
Revision 115 by Douglas Thrift, 2004-03-16T22:53:38-08:00 vs.
Revision 119 by Douglas Thrift, 2004-03-17T21:15:24-08:00

# Line 15 | Line 15 | Matcher::Matcher(const string& expressio
15  
16   Matcher::~Matcher()
17   {
18 <        if (this->expression != NULL)
18 >        if (expression != NULL)
19          {
20 <                pcre_free(this->expression);
20 >                pcre_free(expression);
21          }
22   }
23  
24   bool Matcher::match(const string& stuff)
25   {
26          substrings.clear();
27 <        
28 <        if (this->expression != NULL)
27 >
28 >        if (expression != NULL)
29          {
30                  int length;
31  
# Line 34 | Line 34 | bool Matcher::match(const string& stuff)
34                  int* substrings = new int[(++length *= 3)];
35                  int count = pcre_exec(expression, NULL, stuff.c_str(), stuff.length(),
36                          0, 0, substrings, length);
37 <                
37 >
38                  if (count > 0)
39                  {
40                          char* substring = new char[stuff.length() + 1];
# Line 61 | Line 61 | bool Matcher::match(const string& stuff)
61   Matcher& Matcher::operator()(const string& expression)
62   {
63          substrings.clear();
64 <        
64 >
65          if (this->expression != NULL)
66          {
67                  pcre_free(this->expression);
68          }
69  
70 <        this->expression = pcre_compile(expression.c_str(), PCRE_MULTILINE, NULL,
71 <                NULL, NULL);
70 >        const char* error;
71 >        int offset;
72 >
73 >        this->expression = pcre_compile(expression.c_str(), PCRE_MULTILINE, &error,
74 >                &offset, NULL);
75  
76          return *this;
77   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines