Files
nethack/sys/vms/vmsmisc.c
Sean Hunt 97d6fade74 Reformat all C files.
I'll push a formatting guide at some point. There may still be
outstanding changes, but please feel free to resolve those as you arrive
a them.

To the best of my knowledge, there is no changes to the actual code
content, but the formatter does have the occasional bug. If you run into
an issue, please fix it!
2015-05-09 13:43:16 -04:00

49 lines
1.3 KiB
C

/* NetHack 3.6 vmsmisc.c $NHDT-Date: 1431192780 2015/05/09 17:33:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $ */
/* NetHack 3.6 vmsmisc.c $Date: 2011/09/01 01:47:00 $ $Revision: 1.6 $ */
/* NetHack may be freely redistributed. See license for details. */
#include "config.h"
#undef exit
#include <ssdef.h>
#include <stsdef.h>
int debuggable = 0; /* 1 if we can debug or show a call trace */
void FDECL(vms_exit, (int));
void NDECL(vms_abort);
/* first arg should be unsigned long but <lib$routines.h> has unsigned int */
extern void VDECL(lib$signal, (unsigned, ...));
/* terminate, converting Unix-style exit code into VMS status code */
void
vms_exit(status)
int status;
{
/* convert non-zero to failure, zero to success */
exit(status ? (SS$_ABORT | STS$M_INHIB_MSG) : SS$_NORMAL);
/* NOT REACHED */
}
/* put the user into the debugger; used for abort() when in wizard mode */
void
vms_abort()
{
if (debuggable)
lib$signal(SS$_DEBUG);
/* we'll get here if the debugger isn't available, or if the user
uses GO to resume execution instead of EXIT to quit */
vms_exit(2); /* don't return to caller (2==arbitrary non-zero) */
/* NOT REACHED */
}
/*
* Caveat: the VERYOLD_VMS configuration hasn't been tested in many years.
*/
#ifdef VERYOLD_VMS
#include "oldcrtl.c"
#endif
/*vmsmisc.c*/