#define _stdout 1\r
#define _stdin 0\r
\r
+extern void *_crt0_exit_handler;\r
+\r
// === PROTOTYPES ===\r
EXPORT int atoi(const char *str);\r
EXPORT void exit(int status);\r
\r
+// === GLOBALS ===\r
+void (*g_stdlib_exithandler)(void);\r
+\r
// === CODE ===\r
+void atexit(void (*__func)(void))\r
+{\r
+ g_stdlib_exithandler = __func;\r
+ // TODO: Replace with meta-function to allow multiple atexit() handlers\r
+ _crt0_exit_handler = __func; \r
+}\r
+\r
/**\r
* \fn EXPORT void exit(int status)\r
* \brief Exit\r
*/\r
EXPORT void exit(int status)\r
{\r
+ if( g_stdlib_exithandler )\r
+ g_stdlib_exithandler();\r
_exit(status);\r
}\r
\r