Evaluate the "sleuth" search operator. Turn the (pointer, byte length) input parameters into (pointer, end_pointer) for use in aux function
| 653 | // Turn the (pointer, byte length) input parameters into |
| 654 | // (pointer, end_pointer) for use in aux function |
| 655 | static bool check(MemoryPool& pool, TextType* ttype, USHORT flags, |
| 656 | const UCHAR* search, SLONG search_len, const UCHAR* match, SLONG match_len) |
| 657 | { |
| 658 | StrConverter cvt1(pool, ttype, search, search_len);//, cvt2(pool, ttype, match, match_len); |
| 659 | |
| 660 | fb_assert((match_len % sizeof(CharType)) == 0); |
| 661 | fb_assert((search_len % sizeof(CharType)) == 0); |
| 662 | fb_assert(ttype->getCanonicalWidth() == sizeof(CharType)); |
| 663 | |
| 664 | const CharType* const end_match = |
| 665 | reinterpret_cast<const CharType*>(match) + (match_len / sizeof(CharType)); |
| 666 | const CharType* const end_search = |
| 667 | reinterpret_cast<const CharType*>(search) + (search_len / sizeof(CharType)); |
| 668 | |
| 669 | return aux(ttype, flags, reinterpret_cast<const CharType*>(search), |
| 670 | end_search, reinterpret_cast<const CharType*>(match), end_match); |
| 671 | } |
| 672 | |
| 673 | static ULONG merge(MemoryPool& pool, TextType* ttype, |
| 674 | const UCHAR* match, SLONG match_bytes, |
nothing calls this directly
no test coverage detected