Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uwm.edu!bionet!agate!rosarita.berkeley.edu!raymond From: raymond@math.berkeley.edu (Raymond Chen) Newsgroups: comp.lang.c Subject: Re: Zero/nil/NULL/NUL/0/... Message-ID: <1991Apr21.060347.18697@agate.berkeley.edu> Date: 21 Apr 91 06:03:47 GMT References: Sender: root@agate.berkeley.edu (Charlie Root) Reply-To: raymond@math.berkeley.edu (Raymond Chen) Organization: U.C. Berkeley Lines: 22 In-Reply-To: gnat@kauri.vuw.ac.nz (Nathan Torkington) Originator: raymond@rosarita.berkeley.edu Zero is an enigmatic value. It can mean success (fclose) or failure (scanf). It can mean black or white. It can mean no permissions (chmod) or all permissions (umask). It can mean now (setjmp) or later (atexit). It can mean the beginning (lseek) or the end (read). It can mean myself (getpgrp) or child (fork). It can mean all (kill's 1st argument) or nothing (kill's 2d argument). It can mean `default' (SIG_IGN) or `I don't care' (waitpid) or `try to guess' (strtol). Indeed 0 lets you talk to God (setuid). Verily is 0 all things to all people.