Actually, K&R promises that a long will be large enough to hold a (char *) without loss of information. I agree that this is a mistake, and I believe that X3J11 no longer promises this (I'm still reviewing the last draft).