Mercurial > hg > Applications > Grep
diff regexParser/threadedSearch.cc @ 275:8879eb8c64a8
remove segmentation fault
author | Masataka Kohagura <kohagura@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 30 Jan 2016 19:06:41 +0900 |
parents | 5aa9d01926f1 |
children | 7b4bcc7b5ae6 |
line wrap: on
line diff
--- a/regexParser/threadedSearch.cc Fri Jan 29 20:41:34 2016 +0900 +++ b/regexParser/threadedSearch.cc Sat Jan 30 19:06:41 2016 +0900 @@ -39,6 +39,13 @@ ccvSize++; } tState->ccvSize = ccvSize; + if (state->accept) { + tState->stateSkip = tg->stateMatch; + tState->stateContinue = tg->stateNothing; + } else { + tState->stateSkip = tg->stateSkip; + tState->stateContinue = tg->stateNothing; + } if (ccvSize == 0) return tState; else tState->ccv = (ccv*)malloc(sizeof(ccv)*ccvSize); ccw = createCharClassWalker(state->cc); @@ -55,13 +62,6 @@ ccv->w = cc->cond.w; } free(ccw); - if (state->accept) { - tState->stateSkip = tg->stateMatch; - tState->stateContinue = tg->stateNothing; - } else { - tState->stateSkip = tg->stateSkip; - tState->stateContinue = tg->stateNothing; - } return tState; }