cottrell@NBS-VMS.ARPA (COTTRELL, JAMES) (02/19/86)
/* > > This isn't portable to VMS. ...Does anybody care about VMS, though?... Not really. > Yes I care about VMS. While UNIX is a great OS, it is not the be all or > end all that many UNIX junkies think it is. The documentation is crummy! Which UNIX? BSD or System V? Which documentation? I suppose you *like* reading all that RMS crap just to read files? I suppose you *like* all that verbage in their reference manuals. I suppose you *like* `foreign' programs that have to read their command line arguments in arcane ways. I suppose you *like* the lack of I/O redirection & pipes. I once knew how VMS works. Then I learned UNIX (V6, V7, 4.2 BSD). When I was once again forced to deal with it again (to read & post mail) I found out *that I can't relearn it*!!! The concepts are *alien* to me. VMesS sucks! > As for 0 being an undefined status code, the "Programming in VAX 11-C" manual > (N.B. I have no experience about this) says that a status of 0 signifies a > warning. So it is defined! Not conventionally, I grant you, but that > should pose no problem to the well organized programmer :-). > > #ifdef VMS > #define WARNING 0 /* these can be kept in a local include file */ > #define SUCCESS 1 > #define ERROR 2 > #endif /* VMS */ > > ... error(SUCCESS); > > Glenn Sowell The point is that the VMS C implementation must map its exit codes into what the operating system expects. When the programmer says `exit 0', he means `I succeeded'. The exit() function must support this. jim cottrell@nbs */ ------
ark@alice.UucP (Andrew Koenig) (02/22/86)
> The point is that the VMS C implementation must map its exit codes into > what the operating system expects. When the programmer says `exit 0', he > means `I succeeded'. The exit() function must support this. > > jim cottrell@nbs No way! exit(n) means "terminate and send the number n back to the system."