From 534aba7074ff2ddcbeb5f4eae850fde7f65b94b9 Mon Sep 17 00:00:00 2001 From: Danny Holman Date: Tue, 19 Nov 2024 14:38:24 -0600 Subject: core: add an exit code list Add a header file that lists common exit codes and use them in the abort function. Signed-off-by: Danny Holman --- core/abort.c | 3 ++- include/rune/rune.h | 4 +++- include/rune/util/exits.h | 28 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 include/rune/util/exits.h diff --git a/core/abort.c b/core/abort.c index 292c1a1..cd66ab1 100644 --- a/core/abort.c +++ b/core/abort.c @@ -1,6 +1,7 @@ #include #include #include +#include #include #define MAX_TRACE_ITEMS 30 @@ -50,7 +51,7 @@ NORET void rune_abort(void) { log_output(LOG_INFO, "Abort called, printing stack trace"); _stack_trace(); rune_exit(); - exit(-1); + exit(REXIT_FAIL); } #ifdef MSVC diff --git a/include/rune/rune.h b/include/rune/rune.h index 98304d6..3734929 100644 --- a/include/rune/rune.h +++ b/include/rune/rune.h @@ -31,10 +31,12 @@ #include #include -#include #include #include +#include + +#include #include #include diff --git a/include/rune/util/exits.h b/include/rune/util/exits.h new file mode 100644 index 0000000..dc6321b --- /dev/null +++ b/include/rune/util/exits.h @@ -0,0 +1,28 @@ +/* + * Rune Game Engine + * Copyright 2024 Danny Holman + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +#ifndef RUNE_EXITS_H +#define RUNE_EXITS_H + +#define REXIT_FAIL -1 +#define REXIT_OK 0 + +#endif -- cgit v1.2.3