Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-spam!ames!ucbcad!ucbvax!decvax!decwrl!sun!gorodish!guy From: guy@gorodish.UUCP Newsgroups: news.software.b,comp.lang.c Subject: Re: News for Xenix on PC AT ? Message-ID: <17448@sun.uucp> Date: Mon, 27-Apr-87 14:58:21 EDT Article-I.D.: sun.17448 Posted: Mon Apr 27 14:58:21 1987 Date-Received: Wed, 29-Apr-87 00:48:36 EDT References: <18346@ucbvax.BERKELEY.EDU> <145@sds.UUCP> <17005@sun.uucp> <146@sds.UUCP> <5787@brl-smoke.ARPA> <443@prairie.UUCP> Sender: news@sun.uucp Reply-To: guy@sun.UUCP (Guy Harris) Organization: Sun Microsystems, Mountain View Lines: 16 Xref: utgpu news.software.b:536 comp.lang.c:1864 > No. On the 8086 family, in large model, if NULL is defined as 0, then >such things as > > execl(..., NULL) ; > >will fail, So? That call is illegal. Yes, I know "lint" won't catch it, but "lint" won't catch attempts to dereference null pointers, either. > It's pretty safe to define NULL as 0L when in large model, but the best >solution of all is (void *)0, or type-specific NULLs (i.e. NULLCHAR). >The (void *)0 solution may cause problems with lint, though. The best solution of all is properly casting NULL when passing it as an argument.