Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: comp.arch Subject: Re: catering to bad code Message-ID: <7690@utzoo.UUCP> Date: Mon, 23-Feb-87 17:23:28 EST Article-I.D.: utzoo.7690 Posted: Mon Feb 23 17:23:28 1987 Date-Received: Mon, 23-Feb-87 17:23:28 EST References: <14833@amdcad.UUCP> <554@aw.sei.cmu.edu.sei.cmu.edu> <975@unc.unc.UUCP>, <13755@sun.uucp> Organization: U of Toronto Zoology Lines: 17 Ultimately, sometimes you just gotta be realistic about these things. Yes, it is a Good Thing to make location 0 nonexistent so that code which touches it will drop dead. This will point out a great many bugs, which should be fixed. However, that is little comfort if you are on a tight schedule and the buggy code did somehow deliver the right answer. The "*NULL == '\0'" assumption is rather widespread, and it is often harmless, in the sense that it doesn't usually result in wrong answers. Making *NULL dump core is the right thing to do in the long term, but it does have a serious short- term impact on how soon you can ship the bloody system. Expediency may dictate providing some short-term workaround, like an optional ld flag that makes *NULL work but logs the problem somewhere for later attention. Note that you will be living with the problem *forever* unless you make people go out of their way when they want *NULL, so don't make it the default. -- Legalize Henry Spencer @ U of Toronto Zoology freedom! {allegra,ihnp4,decvax,pyramid}!utzoo!henry