Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -r 6a4172c43af9 core/sourcehook/sourcehook_hookmangen.h
- --- a/core/sourcehook/sourcehook_hookmangen.h Tue Jan 20 16:48:32 2015 -0800
- +++ b/core/sourcehook/sourcehook_hookmangen.h Wed Mar 04 09:43:40 2015 +0100
- @@ -64,6 +64,38 @@
- return m_pData;
- }
- + jitoffs_t alloc(jitoffs_t size)
- + {
- + jitoffs_t start = m_Size;
- + jitoffs_t newSize = m_Size + size;
- + if (newSize > m_AllocatedSize)
- + {
- + m_AllocatedSize = newSize > m_AllocatedSize*2 ? newSize : m_AllocatedSize*2;
- + if (m_AllocatedSize < 64)
- + m_AllocatedSize = 64;
- +
- + unsigned char *newBuf;
- + newBuf = reinterpret_cast<unsigned char*>(ms_Allocator.Alloc(m_AllocatedSize));
- + ms_Allocator.SetRW(newBuf);
- + if (!newBuf)
- + {
- + SH_ASSERT(0, ("bad_alloc: couldn't allocate 0x%08X bytes of memory\n", m_AllocatedSize));
- + return 0;
- + }
- + memset((void*)newBuf, 0xCC, m_AllocatedSize); // :TODO: remove this !
- + memcpy((void*)newBuf, (const void*)m_pData, m_Size);
- + if (m_pData)
- + {
- + ms_Allocator.SetRE(reinterpret_cast<void*>(m_pData));
- + ms_Allocator.SetRW(newBuf);
- + ms_Allocator.Free(reinterpret_cast<void*>(m_pData));
- + }
- + m_pData = newBuf;
- + }
- + m_Size = newSize;
- + return start;
- + }
- +
- template <class PT> void push(PT what)
- {
- push((const unsigned char *)&what, sizeof(PT));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement