From owner-freebsd-current Fri Apr 7 10:18:38 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id KAA11802 for current-outgoing; Fri, 7 Apr 1995 10:18:38 -0700 Received: from cs.weber.edu (cs.weber.edu [137.190.16.16]) by freefall.cdrom.com (8.6.10/8.6.6) with SMTP id KAA11795 for ; Fri, 7 Apr 1995 10:18:37 -0700 Received: by cs.weber.edu (4.1/SMI-4.1.1) id AA20480; Fri, 7 Apr 95 11:10:31 MDT From: terry@cs.weber.edu (Terry Lambert) Message-Id: <9504071710.AA20480@cs.weber.edu> Subject: Re: preprocessor conflict in proj.4 (geodesic.h) To: pete@pelican.com (Pete Carah) Date: Fri, 7 Apr 95 11:10:30 MDT Cc: gie@charon.er.usgs.gov, current@FreeBSD.org In-Reply-To: from "Pete Carah" at Apr 6, 95 11:10:33 pm X-Mailer: ELM [version 2.4dev PL52] Sender: current-owner@FreeBSD.org Precedence: bulk I'm only answering this because you singled me out. I think there is not a hard and fast rule to fix this, but I can give you my opinions. > I'm cc'ing this to the freebsd group in case those dummy args should > have underscores. I don't think they should; they're not in the implementation name space. On the other hand, I think defining single letters might be allowed, but it is critically bad practice. I also think that #define arguments should not be subject to preprocesser substitution (I can't see a useful case where this would make something work where it didn't before). It's also generic bad practice to have manifest defines define anything but all uppercase tokens. So in order, I'd probably: 1) Change the #define in geodesic.h to define an upper case value. 2) Get rid of the ' ' between '#' and 'define' (I'm a nut for making code work on the oldest compiler I can get to crawl). 3) Change the 'F' (that used to be 'f') into something a bit more, shall we say, descriptive. 4) Move the inline function out of the standard header file into a tool or system specific header file that's pulled in by ctype.h. 5) Wonder what a type (_BSD_RUNE_T_) is doing in the implementation name space. 6) If it were more than 5 places, send the patches back to the maintainer so thenext time I tried to run the code I didn't have to fix the same thing over again. Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.