summaryrefslogtreecommitdiff
path: root/src/piraha/Or.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/piraha/Or.cc')
-rw-r--r--src/piraha/Or.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/piraha/Or.cc b/src/piraha/Or.cc
index d9633e3e..6195958a 100644
--- a/src/piraha/Or.cc
+++ b/src/piraha/Or.cc
@@ -22,11 +22,10 @@ Or::Or(Pattern *p,...) : patterns() {
bool Or::match(Matcher *m) {
typedef vector<smart_ptr<Pattern> >::iterator pattern_iter;
int save = m->pos;
- vector<smart_ptr<Group> > chSave;
- chSave = m->children;
+ int chSave = m->children->size();
for(pattern_iter p = patterns.begin();p != patterns.end();++p) {
m->pos = save;
- m->children = chSave;
+ m->children->resize(chSave);
if((*p)->match(m))
return true;
}