Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!adm!MAILER%ALASKA.BITNET@CUNYVM.CUNY.EDU From: MAILER%ALASKA.BITNET@CUNYVM.CUNY.EDU Newsgroups: comp.lang.c Subject: Undelivered mail Message-ID: <12313@brl-adm.ARPA> Date: 12 Mar 88 20:30:21 GMT Sender: news@brl-adm.ARPA Lines: 29 Subject: Re: Header problems [Non-Deliverable: User does not exist or has never logged on] Reply-To: Info-C@BRL.ARPA Received: From UWAVM(MAILER) by ALASKA with Jnet id 8047 for SXJVK@ALASKA; Sat, 12 Mar 88 10:51 AST Received: by UWAVM (Mailer X1.25) id 5422; Sat, 12 Mar 88 11:50:37 PST Date: Thu, 10 Mar 88 19:02:12 GMT Reply-To: Info-C@BRL.ARPA Sender: Info-C List From: Mark Brader Subject: Re: Header problems Comments: To: info-c@brl-smoke.arpa To: Vic Kapella > By the way, if you call f(0) where f expects a char *, the requirement > for it to work is not simply that sizeof(int) == sizeof(char *), but > also that (int)0 and (char *)0 have the same bit representation. *And* that the implementation passes integer and pointer type values to functions in the same manner. Remember, arguments can be passed in registers and machines can have several types of registers. *Never* say f(0) or f(NULL). Mark Brader, SoftQuad Inc., Toronto, utzoo!sq!msb, msb@sq.com #define MSB(type) (~(((unsigned type)-1)>>1))