Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!uakari.primate.wisc.edu!aplcen!haven!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: Oh noooooo!! Message-ID: <10981@smoke.BRL.MIL> Date: 9 Sep 89 00:24:30 GMT References: <7598@goofy.megatest.UUCP> <34566@apple.Apple.COM> <9511@chinet.chi.il.us> Reply-To: gwyn@brl.arpa (Doug Gwyn) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 9 In article <9511@chinet.chi.il.us> john@chinet.chi.il.us (John Mundt) writes: - if ((Block0 = AllocateMemory ()) != null - && (Block1 = AllocateMemory ()) != null - && (Block2 = AllocateMemory ()) != null) -The above code does exactly the same thing, and avoids the dreaded -goto! I think it is just as clear as the goto coding. But it was just an example. Often in practice there are non-trivial operations between the several points of possible failure.