Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!lll-winken!uunet!tektronix!orca!pogo!rickc From: rickc@pogo.WV.TEK.COM (Rick Clements) Newsgroups: comp.software-eng Subject: Re: VMS vs. UNIX s/w development tools - query Keywords: VMS UNIX tools Message-ID: <7036@pogo.WV.TEK.COM> Date: 4 Apr 89 00:33:15 GMT References: <600@mitisft.Convergent.COM> Reply-To: rickc@pogo.WV.TEK.COM (Rick Clements) Organization: Tektronix, Inc., Wilsonville, OR. Lines: 34 In article <600@mitisft.Convergent.COM> gm@mitisft.Convergent.COM (G.M. Harding) writes: } * Unix thinks that a program which returns zero to the invocation } environment executed successfully, and that a program which } returns nonzero to the invocation environment executed with an } error of some kind. The VMS convention is almost exactly the } opposite of this. At least the VMS preprocessor has the string } "VMS" as a built-in, so you can write: } #ifndef VMS } #define GOODEXIT 0 } #define BADEXIT 1 } #else } #define GOODEXIT 1 } #define BADEXIT 0 } #endif It has been a few years since I have worked on VMS. But, doesn't 0 indicate not finished to VMS? A value greater than one indicates an error. Passing a 0 back from a VMS driver will crash your program (80% of the time), work ok (15%) and crash the system (5%). These are estimates based on the experience of my self on others at a previous company. } * VMS text files typically use CR/LF as a line delimiter, and } the standard library routines deal with this fact in various } non-Unix ways. File types are a problem in VMS. There are a lot of them. The default type for a C program is different than the default type for FORTRAN. ------ All opinions are my fault. ----- -- Rick Clements (RickC@pogo.WV.TEK.COM)