Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!crdgw1!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!wuarchive!udel!haven!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn) Newsgroups: comp.std.c Subject: Re: How ANSI is Apollo's cc 6.7 (SR 10.2) Message-ID: <13827@smoke.BRL.MIL> Date: 12 Sep 90 19:25:02 GMT References: <15434@reed.UUCP> <13798@smoke.BRL.MIL> <17963@haddock.ima.isc.com> Organization: U.S. Army Ballistic Research Laboratory, APG, MD. Lines: 19 In article <17963@haddock.ima.isc.com> karl@haddock.ima.isc.com (Karl Heuer) writes: >But it isn't arbitrary junk: `str*' is part of the reserved namespace >associated with , so this would seem to be legal. As some sort of twisted, perverted interpretation of the "law", I guess it might be so considered. Actually, though, reservation of that portion of the external identifier name space (for implementation use) was specifically aimed at avoiding potential problems with applications developed under the current C standard when and if implementations were to start conforming with some future enhanced version of the standard. It was certainly not intended to provide conforming implementations of the current standard a bunch of names to steal for nonstandard uses. To see what is wrong with them doing that, suppose that in a future version of the C standard a function named strcpyn() is standardized with different interface or semantics from Apollo's. Clearly that would put users of Apollo's supposedly standard C implementation in a bind in some cases. (Ignoring the even greater bind it would put the Apollo implementors in, because they deserve it.)