diff options
author | Armands Arseniuss Skolmeisters <armands.skolmeisters@zabbix.com> | 2022-11-02 12:01:36 +0300 |
---|---|---|
committer | Armands Arseniuss Skolmeisters <armands.skolmeisters@zabbix.com> | 2022-11-02 12:01:36 +0300 |
commit | 031281849d6c22e0a70ad4be1c3c96b1482c34dd (patch) | |
tree | ba5bbd3eb6c18e974f27856777c735de7244438a /src | |
parent | 1e7e3f33598e4febd2090dbb63bce6cb02c4d1ff (diff) |
...G...... [DEV-2302] refactored minor adjustments in zbxwin32 library
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/zbxwin32/fatal.c | 11 | ||||
-rw-r--r-- | src/zabbix_agent/zabbix_agentd.c | 11 |
2 files changed, 14 insertions, 8 deletions
diff --git a/src/libs/zbxwin32/fatal.c b/src/libs/zbxwin32/fatal.c index d2750170f5e..7c684fb9615 100644 --- a/src/libs/zbxwin32/fatal.c +++ b/src/libs/zbxwin32/fatal.c @@ -30,14 +30,17 @@ typedef BOOL (WINAPI *SymGetLineFromAddrW64_func_t)(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64); typedef BOOL (WINAPI *SymFromAddr_func_t)(HANDLE a, DWORD64 b , PDWORD64 c, PSYMBOL_INFO d); +#ifdef _M_X64 static void print_register(const char *name, unsigned __int64 value) { -#ifdef _M_X64 zabbix_log(LOG_LEVEL_CRIT, "%-7s = %16I64x = %20I64u = %20I64d", name, value, value, value); +} #else +static void print_register(const char *name, unsigned __int32 value) +{ zabbix_log(LOG_LEVEL_CRIT, "%-7s = %16lx = %20lu = %20ld", name, value, value, value); -#endif } +#endif static void print_fatal_info(CONTEXT *pctx) { @@ -92,7 +95,7 @@ static void print_fatal_info(CONTEXT *pctx) #undef ZBX_LSHIFT } -static zbx_get_progname_f get_progname_cb = NULL; +static zbx_get_progname_f get_progname_cb = NULL; void zbx_backtrace(void) { @@ -228,7 +231,7 @@ static void print_backtrace(CONTEXT *pctx) zbx_free(pSym); } -void zbx_win_exception_init(zbx_get_progname_f get_progname) +void zbx_init_library_win32(zbx_get_progname_f get_progname) { get_progname_cb = get_progname; } diff --git a/src/zabbix_agent/zabbix_agentd.c b/src/zabbix_agent/zabbix_agentd.c index 16c4974bb84..8551c8a8136 100644 --- a/src/zabbix_agent/zabbix_agentd.c +++ b/src/zabbix_agent/zabbix_agentd.c @@ -243,10 +243,12 @@ static unsigned char get_program_type(void) return program_type; } +#if defined(_WINDOWS) || defined(__MINGW32__) static const char *get_progname(void) { return progname; } +#endif static zbx_thread_activechk_args *config_active_args = NULL; @@ -1344,7 +1346,11 @@ int main(int argc, char **argv) char *error = NULL; #ifdef _WINDOWS int ret; - +#endif +#if defined(_WINDOWS) || defined(__MINGW32__) + zbx_init_library_win32(&get_progname); +#endif +#ifdef _WINDOWS /* Provide, so our process handles errors instead of the system itself. */ /* Attention!!! */ /* The system does not display the critical-error-handler message box. */ @@ -1361,9 +1367,6 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); #if defined(_WINDOWS) || defined(__MINGW32__) zbx_import_symbols(); - zbx_win_exception_init(&get_progname); -#else - ZBX_UNUSED(get_progname); #endif #ifdef _WINDOWS if (ZBX_TASK_SHOW_USAGE != t.task && ZBX_TASK_SHOW_VERSION != t.task && ZBX_TASK_SHOW_HELP != t.task && |