void *dereference(ptr_t what, int num)
{
ptr_t our_ptr = what;
ptr_t *ptr = (ptr_t *)what;
ptr_t last, diff;
last = what;
for (int i = 0; i < num; i++) {
// Grab the contents of the memory at our_ptr
our_ptr = *ptr;
// Set ptr to contents of memory at our_ptr
ptr = (ptr_t *)our_ptr;
diff = (our_ptr - last);
if ((i != 0) && (diff != 8)) { // diff comes out 16 for some reason
std::cout << "blargh!";
}
last = our_ptr;
}
return (void *)ptr;
}