bool WordList_hasWord (WordList me, const wchar *word) { long p, d; int cf; if (wcslen (word) > 3333) return false; Longchar_genericizeW (word, buffer); if (! my length) my length = wcslen (my string); p = my length / 2, d = p / 2; while (d > 20) { p = gotoStart (me, p); cf = compare (buffer, my string + p); if (cf == 0) return true; if (cf < 0) p -= d; else p += d; d /= 2; } p = gotoStart (me, p); cf = compare (buffer, my string + p); if (cf == 0) return true; if (cf > 0) { for (;;) { p = gotoNext (me, p); if (p >= my length) return false; cf = compare (buffer, my string + p); if (cf == 0) return true; if (cf < 0) return false; } } else { for (;;) { p = gotoPrevious (me, p); if (p < 0) return false; cf = compare (buffer, my string + p); if (cf == 0) return true; if (cf > 0) return false; } } return false; // should not occur }
void MemoryEditor::prevData() { gotoPrevious(QHexEdit::UsageRead | QHexEdit::UsageWrite); }
void MemoryEditor::prevUnknown() { gotoPrevious(0); }
void MemoryEditor::prevCode() { gotoPrevious(QHexEdit::UsageExec); }