10#define CHECK_GL_E lg_check_gl_errors(lg_log_time(), __FILE__, __LINE__, __func__)
12#define CHECK_GL_E_2 {if (lg_check_gl_errors(lg_log_time(), __FILE__, __LINE__, __func__) != LG_OK) exit(-1);}
15#define CHECKV_R(what, ret_value) {if (what == NULL) {INFO_ERR("NULL pointer\n") return ret_value;}}
18#define __chkp__(pointer, string, ret_value) {if (pointer == NULL) {INFO_ERR("%s == NULL\n", string); return ret_value;}}
21#define STH_WRONG_HERE \
25 INFO_OUT("VARO TÄSSÄ\n%s [%s: %d] %s(): jotain pitää korjata\n", UTF8_RW_ROUNDED_ARROW, __FILE__, __LINE__, __func__) \
31#define DEBUG_ENTER_FUNC INFO_OUT("\n\nDEBUG **** %s() ****\n\n", __func__)
32#define DEBUG_ENTER_FUNC2(str) INFO_OUT("\n\nDEBUG **** %s() -> %s ****\n\n", __func__, str)
33#define DEBUG_CHK_PTR(ptr) \
36 INFO_OUT("\n\nDEBUG **** [%s: %d] %s() -> POINTER IS NULL ****\n\n", __FILE__, __LINE__, __func__) \
53long long lg_log_time();
56 #define TIME_FILE_LINE_FUNC_STR "%lld [%s: %d] %s(): ", lg_log_time(), __FILE__, __LINE__, __func__
58 #define INFO_ERR2(...) \
60 fprintf(STD_ERR, TIME_FILE_LINE_FUNC_STR);\
61 fprintf(STD_ERR, __VA_ARGS__);\
66#define LG_ERR_CTX_FILE_MAXLEN 63
67#define LG_ERR_CTX_FUNC_MAXLEN 63
68#define LG_ERR_CTX_TXT_MAXLEN 1023
69#define LG_ERR_CTX_CODE_NA (-100000)
70#define LG_ERR_CTX_STR_MAXLEN 2048
71#define LG_ERR_CTX_FORMAT "[%s: %d] %s(): %s (code = %d)"
74 char file[LG_ERR_CTX_FILE_MAXLEN + 1];
76 char func[LG_ERR_CTX_FUNC_MAXLEN + 1];
77 char txt[LG_ERR_CTX_TXT_MAXLEN + 1];
87enum {OOM_MALLOC2_TEST, OOM_MALLOC3_TEST, OOM_MALLOC3_TEST2, INVPTR_FREE2_TEST, INVPTR_FREE3_TEST, SEGFAULT_TEST, DIVBYZERO_TEST};
89void lg_override_warning_timeout(
int);
91void lg_reset_warning_timeout();
93void lg_set_error_context(
const char *,
unsigned int,
const char *,
const char *,
int);
95int lg_get_error_context_code();
97const char *lg_get_full_error_context();
99void lg_clear_error_context();
110extern void app_sig_handler(
int,
const char *);
void set_sig_handler()
Definition lg_error.c:344
void sig_handler(int sig_num, siginfo_t *sig_info, void *context)
Definition lg_error.c:317
void test_big_error(int test)
Definition lg_error.c:424
void lg_print_out_error_codes()
Definition lg_error.c:402