diff options
Diffstat (limited to 'src/RESearch.cxx')
| -rw-r--r-- | src/RESearch.cxx | 17 | 
1 files changed, 7 insertions, 10 deletions
| diff --git a/src/RESearch.cxx b/src/RESearch.cxx index 74db01355..138469f0a 100644 --- a/src/RESearch.cxx +++ b/src/RESearch.cxx @@ -203,6 +203,7 @@  #include <stdlib.h>  #include <string> +#include <algorithm>  #include "CharClassify.h"  #include "RESearch.h" @@ -251,22 +252,18 @@ const char bitarr[] = { 1, 2, 4, 8, 16, 32, 64, '\200' };  RESearch::RESearch(CharClassify *charClassTable) {  	failure = 0;  	charClass = charClassTable; -	Init(); +	sta = NOP;                  /* status of lastpat */ +	bol = 0; +	std::fill(bittab, bittab + BITBLK, 0); +	std::fill(tagstk, tagstk + MAXTAG, 0); +	std::fill(nfa, nfa + MAXNFA, 0); +	Clear();  }  RESearch::~RESearch() {  	Clear();  } -void RESearch::Init() { -	sta = NOP;                  /* status of lastpat */ -	bol = 0; -	for (int i = 0; i < MAXTAG; i++) -		pat[i].clear(); -	for (int j = 0; j < BITBLK; j++) -		bittab[j] = 0; -} -  void RESearch::Clear() {  	for (int i = 0; i < MAXTAG; i++) {  		pat[i].clear(); | 
