version 1.15, 2003/07/10 19:16:22 |
version 1.16, 2003/07/20 19:19:48 |
|
|
} |
} |
} else if (fg->reversedSearch) { |
} else if (fg->reversedSearch) { |
/* Quick Search algorithm. */ |
/* Quick Search algorithm. */ |
j = dataLen; |
for (j = dataLen; j >= fg->patternLen; |
do { |
j -= fg->qsBc[data[j - fg->patternLen - 1]]) { |
if (grep_cmp(fg->pattern, data + j - fg->patternLen, |
if (grep_cmp(fg->pattern, data + j - fg->patternLen, |
fg->patternLen) == -1) { |
fg->patternLen) == -1) { |
rtrnVal = 0; |
rtrnVal = 0; |
|
|
pmatch->rm_eo = j; |
pmatch->rm_eo = j; |
break; |
break; |
} |
} |
|
} |
/* Shift if within bounds, otherwise, we are done. */ |
|
if (j - fg->patternLen - 1 < 0) |
|
break; |
|
j -= fg->qsBc[data[j - fg->patternLen - 1]]; |
|
} while (j >= 0); |
|
} else { |
} else { |
/* Quick Search algorithm. */ |
/* Quick Search algorithm. */ |
j = 0; |
j = 0; |