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 STH_WRONG_HERE \
22 INFO_OUT("VARO TÄSSÄ\n%s [%s: %d] %s(): jotain pitää korjata\n", UTF8_RW_ROUNDED_ARROW, __FILE__, __LINE__, __func__) \
28#define DEBUG_ENTER_FUNC INFO_OUT("\n\nDEBUG **** %s() ****\n\n", __func__)
29#define DEBUG_ENTER_FUNC2(str) INFO_OUT("\n\nDEBUG **** %s() -> %s ****\n\n", __func__, str)
30#define DEBUG_CHK_PTR(ptr) \
33 INFO_OUT("\n\nDEBUG **** [%s: %d] %s() -> POINTER IS NULL ****\n\n", __FILE__, __LINE__, __func__) \
53 #define TIME_FILE_LINE_FUNC_STR "%lld [%s: %d] %s(): ", lg_log_time(), __FILE__ , __LINE__, __func__
55 #define INFO_ERR2(...) \
57 fprintf(STD_ERR, TIME_FILE_LINE_FUNC_STR);\
58 fprintf(STD_ERR, __VA_ARGS__);\
63#define LG_ERR_CTX_FILE_MAXLEN 63
64#define LG_ERR_CTX_FUNC_MAXLEN 63
65#define LG_ERR_CTX_TXT_MAXLEN 1023
66#define LG_ERR_CTX_CODE_NA (-100000)
67#define LG_ERR_CTX_STR_MAXLEN 2048
68#define LG_ERR_CTX_FORMAT "[%s: %d] %s(): %s (code = %d)"
71 char file[LG_ERR_CTX_FILE_MAXLEN + 1];
73 char func[LG_ERR_CTX_FUNC_MAXLEN + 1];
74 char txt[LG_ERR_CTX_TXT_MAXLEN + 1];
84enum {OOM_MALLOC2_TEST, OOM_MALLOC3_TEST, OOM_MALLOC3_TEST2, INVPTR_FREE2_TEST, INVPTR_FREE3_TEST, SEGFAULT_TEST, DIVBYZERO_TEST};
107extern void app_sig_handler(
int,
const char *);
void set_sig_handler()
Definition lg_error.c:307
void lg_set_error_context(const char *file, unsigned int line, const char *func, const char *txt, int code)
Definition lg_error.c:143
const char * lg_get_full_error_context()
Definition lg_error.c:167
void lg_override_warning_timeout(int timeout)
Definition lg_error.c:115
void lg_clear_error_context()
Definition lg_error.c:180
int lg_get_error_context_code()
Definition lg_error.c:157
void sig_handler(int sig_num, siginfo_t *sig_info, void *context)
Definition lg_error.c:280
void test_big_error(int test)
Definition lg_error.c:387
void lg_print_out_error_codes()
Definition lg_error.c:365
long long lg_log_time()
Definition lg_error.c:131
void lg_reset_warning_timeout()
Definition lg_error.c:123
void lg_restore_error_context(LG_ErrorContext *err_ctx)
Definition lg_error.c:204
void lg_save_error_context(LG_ErrorContext *err_ctx)
Definition lg_error.c:196