10#define CHECK_GL_E lg_check_gl_errors((int64_t)lg_log_time(), __FILE__, __LINE__, __func__)
12#define CHECK_GL_E_2 {if (lg_check_gl_errors((int64_t)lg_log_time(), __FILE__, __LINE__, __func__) != LG_OK) exit(-1);}
21#define __chkp__(pointer, string, ret_value) {if (pointer == NULL) {INFO_ERR("%s == NULL\n", string); return ret_value;}}
23#define __chkp2__(pointer, string, exit_1) {if (pointer == NULL) {INFO_ERR("%s == NULL\n", string); goto exit_1;}}
25#define __chkv__(x, string_x, y, string_y, exit_1) {if (x == y) {INFO_ERR("%s == %s\n", string_x, string_y); goto exit_1;}}
34#define NESF(line_num) INFO_ERR("No errors so far ... (line %d)\n", line_num)
37#define STH_WRONG_HERE \
41 INFO_OUT("VARO TÄSSÄ\n%s [%s: %d] %s(): jotain pitää korjata\n", UTF8_RW_ROUNDED_ARROW, __FILE__, __LINE__, __func__) \
47#define DEBUG_ENTER_FUNC INFO_OUT("\n\nDEBUG **** %s() ****\n\n", __func__)
48#define DEBUG_ENTER_FUNC2(str) INFO_OUT("\n\nDEBUG **** %s() -> %s ****\n\n", __func__, str)
65 #define TIME_FILE_LINE_FUNC_STR "%ld [%s: %d] %s(): ", (int64_t)lg_log_time(), __FILE__, __LINE__, __func__
66 #define INFO_ERR2(...) \
68 fprintf(STD_ERR, TIME_FILE_LINE_FUNC_STR);\
69 fprintf(STD_ERR, __VA_ARGS__);\
74#define LG_ERR_CTX_FILE_MAXLEN 63
75#define LG_ERR_CTX_FUNC_MAXLEN 63
76#define LG_ERR_CTX_TXT_MAXLEN 1023
77#define LG_ERR_CTX_CODE_NA (-100000)
78#define LG_ERR_CTX_STR_MAXLEN 2048
79#define LG_ERR_CTX_FORMAT "[%s: %d] %s(): %s (code = %d)"
82 char file[LG_ERR_CTX_FILE_MAXLEN + 1];
84 char func[LG_ERR_CTX_FUNC_MAXLEN + 1];
85 char txt[LG_ERR_CTX_TXT_MAXLEN + 1];
95enum {OOM_MALLOC2_TEST, OOM_MALLOC3_TEST, OOM_MALLOC3_TEST2, INVPTR_FREE2_TEST, INVPTR_FREE3_TEST, SEGFAULT_TEST, DIVBYZERO_TEST};
118extern void app_sig_handler(
int,
const char *);
void set_sig_handler()
Definition lg_error.c:390
void lg_set_error_context(const char *file, unsigned int line, const char *func, const char *txt, int code)
Definition lg_error.c:226
const char * lg_get_full_error_context()
Definition lg_error.c:250
void lg_override_warning_timeout(int timeout)
Definition lg_error.c:198
uint64_t lg_log_time()
Definition lg_error.c:214
void lg_clear_error_context()
Definition lg_error.c:263
int lg_get_error_context_code()
Definition lg_error.c:240
void sig_handler(int sig_num, siginfo_t *sig_info, void *context)
Definition lg_error.c:363
void test_big_error(int test)
Definition lg_error.c:470
void lg_print_out_error_codes()
Definition lg_error.c:448
void lg_reset_warning_timeout()
Definition lg_error.c:206
void lg_restore_error_context(LG_ErrorContext *err_ctx)
Definition lg_error.c:287
void lg_save_error_context(LG_ErrorContext *err_ctx)
Definition lg_error.c:279