# HG changeset patch # User Masataka Kohagura # Date 1453360330 -32400 # Node ID 6aebc4d7dd7500a97f2064bb3cb8f3c914b5fa8b # Parent 87ad91af8a15d6c9f80c4a8ba46ff3af89ec824b fix condition generateSequentialSearch diff -r 87ad91af8a15 -r 6aebc4d7dd75 regexParser/generateSequentialSearch.cc --- a/regexParser/generateSequentialSearch.cc Wed Jan 20 20:28:40 2016 +0900 +++ b/regexParser/generateSequentialSearch.cc Thu Jan 21 16:12:10 2016 +0900 @@ -39,7 +39,11 @@ if (begin == end) { fprintf(fp,"if (c=='%c') state%lx(buff);\n",(unsigned char)begin, bi.bitContainer); } else { - fprintf(fp,"if (c<'%c') stateSkip(buff);\n",(unsigned char)begin); + if (state->bitState.bitContainer & 2) { + fprintf(fp,"if (c<'%c') stateMatch(buff);\n",(unsigned char)begin); + } else { + fprintf(fp,"if (c<'%c') stateSkip(buff);\n",(unsigned char)begin); + } fprintf(fp," else if (c<='%c') state%lx(buff);\n",(unsigned char)end, bi.bitContainer); } } diff -r 87ad91af8a15 -r 6aebc4d7dd75 regexParser/grepWalk.cc --- a/regexParser/grepWalk.cc Wed Jan 20 20:28:40 2016 +0900 +++ b/regexParser/grepWalk.cc Thu Jan 21 16:12:10 2016 +0900 @@ -38,7 +38,7 @@ if (found == false) { grepSkip(tg,buff); - } else if (found == true && (cc->nextState.bitContainer == 2)) { // Accept + } else if (found == true && (cc->nextState.bitContainer | 2)) { // Accept grepMatch(tg,buff); } else { grep(tg,buff,cc->nextState.bitContainer);