The test cases were failing on 64bit systems because the sizeof code operated on the pointer size which is 8 and longer than the size that was intended to be used for comparing it.