diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-11-11 10:22:26 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-11-11 10:22:26 -0700 |
commit | ced8ab50af1429d9ba7651da1b3b78014fd76e79 (patch) | |
tree | 4f0975a2594c4bfa97ebaa6b263e712858d2e8a4 /libmisc/assert.c | |
parent | d84daf84d2ced072782ef3c61e5088b06d950939 (diff) |
Diffstat (limited to 'libmisc/assert.c')
-rw-r--r-- | libmisc/assert.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libmisc/assert.c b/libmisc/assert.c new file mode 100644 index 0000000..7817ba3 --- /dev/null +++ b/libmisc/assert.c @@ -0,0 +1,23 @@ +/* libmisc/assert.h - More assertions + * + * Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +#include <stdio.h> /* for fprintf(), stderr */ +#include <stdlib.h> /* for abort() */ + +#include <libmisc/assert.h> + +#ifndef NDEBUG +__attribute__((__noreturn__)) void +__assert_msg_fail(const char *expr, + const char *file, unsigned int line, const char *func, + const char *msg) { + fprintf(stderr, "error: %s:%u:%s(): assertion \"%s\" failed%s%s\n", + file, line, func, + expr, + msg ? ": " : "", msg); + abort(); +} +#endif |