Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!kddlab!titcca!sragwa!wsgw!socslgw!diamond!diamond From: diamond@diamond.csl.sony.junet (Norman Diamond) Newsgroups: comp.lang.c Subject: Re: declaration of functions Message-ID: <10358@socslgw.csl.sony.JUNET> Date: 14 Jun 89 03:04:41 GMT References: <4400001@tdpvax> <14726@duke.cs.duke.edu> <13676@haddock.ima.isc.com> Sender: news@csl.sony.JUNET Reply-To: diamond@csl.sony.junet (Norman Diamond) Organization: Sony Computer Science Laboratory Inc., Tokyo, Japan Lines: 22 In article <13676@haddock.ima.isc.com> The Walking Lint stumbles: >... is one of the two contradictions in K&R1.$ >Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint >$ The other is that variadic functions are not permitted, yet printf() exists. This is not a contradiction. The authors stated (correctly, since ANSI wasn't yet the approved standard), that there was no portable way of implementing printf() in C. Most early (pre- final approval of ANSI) implementations of printf() were either done portably in some other language such as assembly, or done non-portably in C, or perhaps even non-portably in assembly. I believe that the only internal contradictions in K&R-I relate to whether an omitted storage class is equivalent to "extern" in certain cases, and to the possible meanings of each of these cases. -- Norman Diamond, Sony Computer Science Lab (diamond%csl.sony.co.jp@relay.cs.net) The above opinions are my own. However, if you see this at Waterloo, Stanford, or Anterior, then their administrators must have approved of these opinions.