// how do you ensure your 0 index (or atleast a known index) is at the start of the word?
bool TestWordBoundary(void* pTest)
{
INT_PTR pointer = (INT_PTR) pTest;
return (0 == pointer % sizeof(WORD));
}
void Yours()
{
const char* szBufferTest("content");
ASSERT(TestWordBoundary(&szBufferTest[0]));
ASSERT(!TestWordBoundary(&szBufferTest[1]));
}