- Cleanup the /lib directory, by putting more 3rd-party libs in /3rdparty, and by...
[reactos.git] / reactos / lib / sdk / crt / misc / amsg.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: lib/msvcrt/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 fprintf(stderr, "runtime error - %s\n", __rt_err_msg[errnum]);
50 _aexit_rtn(-1);
51 }
52