1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
6 * @defgroup assert Assert
9 * @brief Assertion helpers
11 * Helpers to check at runtime if a condition is true, or otherwise
12 * either abort (exit program) or return an error.
21 * Abort if the condition is false.
23 * If expression is false this macro will prints an error message to
24 * standard error and terminates the program by calling abort(3).
27 * The expression to be checked.
29 * The format string, optionally followed by other arguments.
31 #define ec_assert_print(expr, args...) \
32 __ec_assert_print(expr, #expr, args)
35 void __ec_assert_print(bool expr, const char *expr_str,
36 const char *format, ...);
39 * Check a condition or return.
41 * If the condition is true, do nothing. If it is false, set
42 * errno and return the specified value.
45 * The condition to test.
47 * The value to return.
51 #define EC_CHECK_ARG(cond, ret, err) do { \