Bug fix for binary search always searching both directions

This commit is contained in:
dexyfex
2017-12-29 00:47:42 +11:00
Unverified
parent f5ce1ab4ad
commit c5a3dc258b
3 changed files with 54 additions and 12 deletions
+8 -6
View File
@@ -493,19 +493,21 @@ namespace CodeWalker
byte b2 = searchbytes2[hitlen2];
if (b == b1) hitlen1++; else hitlen1 = 0;
if (b == b2) hitlen2++; else hitlen2 = 0;
if (hitlen1 == bytelen)
{
RpfSearchAddResult(new RpfSearchResult(fentry, (i - bytelen), bytelen));
resultcount++;
hitlen1 = 0;
}
if (hitlen2 == bytelen)
if (bothdirs)
{
RpfSearchAddResult(new RpfSearchResult(fentry, (i - bytelen), bytelen));
resultcount++;
hitlen2 = 0;
if (b == b2) hitlen2++; else hitlen2 = 0;
if (hitlen2 == bytelen)
{
RpfSearchAddResult(new RpfSearchResult(fentry, (i - bytelen), bytelen));
resultcount++;
hitlen2 = 0;
}
}
}
}