mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 02:25:17 +00:00
296e07b94d
* Fix initialization of _commode. In msvcrt it is allocated from .bss, i.e. initialized with 0. * _fileinfo is initialized with -1 * _aexit_rtn is a pointer, not a function * Fix _sys_nerr
52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROJECT: ReactOS system libraries
|
|
* FILE: lib/sdk/crt/misc/amsg.c
|
|
* PURPOSE: Print runtime error messages
|
|
* PROGRAMER: Ariadne
|
|
* UPDATE HISTORY:
|
|
* 28/12/98: Created
|
|
*/
|
|
|
|
#include <precomp.h>
|
|
|
|
static char *__rt_err_msg[] =
|
|
{
|
|
"stack overflow", /* _RT_STACK */
|
|
"null pointer assignment", /* _RT_NULLPTR */
|
|
"floating point not loaded", /* _RT_FLOAT */
|
|
"integer divide by 0", /* _RT_INTDIV */
|
|
"not enough space for arguments", /* _RT_SPACEARG */
|
|
"not enough space for environment", /* _RT_SPACEENV */
|
|
"abnormal program termination", /* _RT_ABORT */
|
|
"not enough space for thread data", /* _RT_THREAD */
|
|
"unexpected multithread lock error", /* _RT_LOCK */
|
|
"unexpected heap error", /* _RT_HEAP */
|
|
"unable to open console device", /* _RT_OPENCON */
|
|
"non-continuable exception", /* _RT_NONCONT */
|
|
"invalid exception disposition", /* _RT_INVALDISP */
|
|
"not enough space for _onexit/atexit table", /* _RT_ONEXIT */
|
|
"pure virtual function call", /* _RT_PUREVIRT */
|
|
"not enough space for stdio initialization", /* _RT_STDIOINIT */
|
|
"not enough space for lowio initialization", /* _RT_LOWIOINIT */
|
|
};
|
|
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
typedef void (*aexit_t)(int);
|
|
aexit_t _aexit_rtn = _exit;
|
|
|
|
/*
|
|
* @implemented
|
|
*/
|
|
void _amsg_exit(int errnum)
|
|
{
|
|
if ((errnum >=0) && (errnum < sizeof(__rt_err_msg)/sizeof(__rt_err_msg[0])))
|
|
fprintf(stderr, "runtime error - %s\n", __rt_err_msg[errnum]);
|
|
else
|
|
fprintf(stderr, "runtime error - %d\n", errnum);
|
|
_exit(-1);
|
|
}
|
|
|