Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ritcv.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!houxz!vax135!floyd!cmcl2!seismo!rochester!ritcv!mjl From: mjl@ritcv.UUCP (Mike Lutz) Newsgroups: net.unix-wizards Subject: Re: Let ME try for a new topic...exorcising extern Message-ID: <1080@ritcv.UUCP> Date: Tue, 5-Jun-84 14:11:13 EDT Article-I.D.: ritcv.1080 Posted: Tue Jun 5 14:11:13 1984 Date-Received: Thu, 7-Jun-84 07:11:13 EDT References: <182@itm.UUCP> <3927@utzoo.UUCP> Organization: Rochester Institute of Technology, Rochester, NY Lines: 19 While I agree with Henry Spencer that external variables are ugly and error-prone in general, there are a few cases where their use, if not elegant, is at least acceptable. My approach is to put all such glop in a file called externs.c, and, in the Makefile, have externs.h depend on externs.c. The associated action uses sed to insert `extern' as appropriate and to remove cruft such as initializers. This approach has great deterrent value. Watching the intermodule coupling increase as items are added to externs.c is a powerful incentive to find a better design. ==== Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {allegra,seismo}!rochester!ritcv!mjl ARPA: ritcv!mjl@Rochester.ARPA -- Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {allegra,seismo}!rochester!ritcv!mjl ARPA: ritcv!mjl@Rochester.ARPA