> (void *)0 is certainly not the same as 0. > depending on architecture and compiler, of course.
it's not the compiler, it's the type model, which if anything is tied to the hardware. you just won't have this sort of problem on a 32-bit machine. which is why this code has been just like that in plan 9 for 15 or more years. - erik