/* * Copyright (c) 2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ #ifndef NSI_COMMON_SRC_NSI_SAFE_CALLL_H #define NSI_COMMON_SRC_NSI_SAFE_CALLL_H #include #include "nsi_tracing.h" #ifdef __cplusplus extern "C" { #endif #ifndef nsi_unlikely #define nsi_unlikely(x) (__builtin_expect((bool)!!(x), false) != 0L) #endif #define NSI_SAFE_CALL(a) nsi_safe_call(a, #a) static inline void nsi_safe_call(int test, const char *test_str) { /* LCOV_EXCL_START */ /* See Note1 */ if (nsi_unlikely(test)) { nsi_print_error_and_exit("Error on: %s\n", test_str); } /* LCOV_EXCL_STOP */ } #ifdef __cplusplus } #endif #endif /* NSI_COMMON_SRC_NSI_SAFE_CALLL_H */