1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS system libraries 4 * FILE: lib/sdk/crt/misc/amsg.c 5 * PURPOSE: Print runtime error messages 6 * PROGRAMER: Ariadne 7 * UPDATE HISTORY: 8 * 28/12/98: Created 9 */ 10 11 #include <precomp.h> 12 13 static char *__rt_err_msg[] = 14 { 15 "stack overflow", /* _RT_STACK */ 16 "null pointer assignment", /* _RT_NULLPTR */ 17 "floating point not loaded", /* _RT_FLOAT */ 18 "integer divide by 0", /* _RT_INTDIV */ 19 "not enough space for arguments", /* _RT_SPACEARG */ 20 "not enough space for environment", /* _RT_SPACEENV */ 21 "abnormal program termination", /* _RT_ABORT */ 22 "not enough space for thread data", /* _RT_THREAD */ 23 "unexpected multithread lock error", /* _RT_LOCK */ 24 "unexpected heap error", /* _RT_HEAP */ 25 "unable to open console device", /* _RT_OPENCON */ 26 "non-continuable exception", /* _RT_NONCONT */ 27 "invalid exception disposition", /* _RT_INVALDISP */ 28 "not enough space for _onexit/atexit table", /* _RT_ONEXIT */ 29 "pure virtual function call", /* _RT_PUREVIRT */ 30 "not enough space for stdio initialization", /* _RT_STDIOINIT */ 31 "not enough space for lowio initialization", /* _RT_LOWIOINIT */ 32 }; 33 34 35 /* 36 * @implemented 37 */ 38 int _aexit_rtn(int exitcode) 39 { 40 _exit(exitcode); 41 return 0; 42 } 43 44 /* 45 * @implemented 46 */ 47 void _amsg_exit(int errnum) 48 { 49 if ((errnum >=0) && (errnum < sizeof(__rt_err_msg)/sizeof(__rt_err_msg[0]))) 50 fprintf(stderr, "runtime error - %s\n", __rt_err_msg[errnum]); 51 else 52 fprintf(stderr, "runtime error - %d\n", errnum); 53 _exit(-1); 54 } 55 56