Patterns fixup

This commit is contained in:
Silent 2017-09-27 23:17:21 +02:00
parent 32fa0c9e51
commit af2e15ca21
2 changed files with 7 additions and 7 deletions

View file

@ -11,7 +11,6 @@
#define NOMINMAX #define NOMINMAX
#include <windows.h> #include <windows.h>
#include <algorithm> #include <algorithm>
#include <string_view>
#if PATTERNS_USE_HINTS #if PATTERNS_USE_HINTS
#include <map> #include <map>
@ -138,15 +137,15 @@ public:
inline uintptr_t end() const { return m_end; } inline uintptr_t end() const { return m_end; }
}; };
void pattern::Initialize(const char* pattern, size_t length) void pattern::Initialize(std::string_view pattern)
{ {
// get the hash for the base pattern // get the hash for the base pattern
#if PATTERNS_USE_HINTS #if PATTERNS_USE_HINTS
m_hash = fnv_1()(std::string_view(pattern, length)); m_hash = fnv_1()(pattern);
#endif #endif
// transform the base pattern from IDA format to canonical format // transform the base pattern from IDA format to canonical format
TransformPattern(std::string_view(pattern, length), m_bytes, m_mask); TransformPattern(pattern, m_bytes, m_mask);
#if PATTERNS_USE_HINTS #if PATTERNS_USE_HINTS
// if there's hints, try those first // if there's hints, try those first

View file

@ -9,6 +9,7 @@
#include <cassert> #include <cassert>
#include <vector> #include <vector>
#include <string_view>
#pragma warning(push) #pragma warning(push)
#pragma warning(disable:4201) #pragma warning(disable:4201)
@ -98,7 +99,7 @@ namespace hook
{ {
} }
void Initialize(const char* pattern, size_t length); void Initialize(std::string_view pattern);
private: private:
bool ConsiderHint(uintptr_t offset); bool ConsiderHint(uintptr_t offset);
@ -115,7 +116,7 @@ namespace hook
pattern(const char (&pattern)[Len]) pattern(const char (&pattern)[Len])
: pattern(getRVA<void>(0)) : pattern(getRVA<void>(0))
{ {
Initialize(pattern, Len-1); Initialize(std::string_view(pattern, Len-1));
} }
inline pattern&& count(uint32_t expected) inline pattern&& count(uint32_t expected)
@ -203,7 +204,7 @@ namespace hook
range_pattern(uintptr_t begin, uintptr_t end, const char(&pattern)[Len]) range_pattern(uintptr_t begin, uintptr_t end, const char(&pattern)[Len])
: pattern(begin, end) : pattern(begin, end)
{ {
Initialize(pattern, Len-1); Initialize(std::string_view(pattern, Len-1));
} }
}; };