From c3e507a82ed68441acb82fc7f9239a8792c1527b Mon Sep 17 00:00:00 2001 From: akallabeth Date: Wed, 13 Aug 2025 10:46:57 +0200 Subject: [PATCH] [winpr,wlog] Replace WLog_PrintMessage calls Prefer WLog_PrintTextMessage to have proper format string checks in place. --- channels/rdpgfx/server/rdpgfx_main.c | 7 ++++--- client/SDL/SDL2/sdl_freerdp.cpp | 4 ++-- client/SDL/SDL3/sdl_freerdp.cpp | 4 ++-- client/X11/xf_rail.c | 4 ++-- client/X11/xf_utils.c | 12 +++++++----- client/common/client_cliprdr_file.c | 8 +++++--- client/common/cmdline.c | 6 +++--- libfreerdp/codec/dsp_fdk_aac.c | 6 +++--- libfreerdp/core/freerdp.c | 18 +++++++++--------- libfreerdp/core/gateway/http.c | 25 ++++++++++++------------- libfreerdp/core/gateway/rpc.c | 4 ++-- libfreerdp/core/gateway/rts.c | 4 ++-- libfreerdp/core/orders.c | 10 ++++------ libfreerdp/core/rdp.c | 24 ++++++++++++------------ libfreerdp/core/rdstls.c | 8 ++++---- libfreerdp/core/timezone.c | 8 +++++--- libfreerdp/core/transport.c | 7 +++---- libfreerdp/utils/http.c | 7 +++---- libfreerdp/utils/smartcard_pack.c | 5 +++-- server/shadow/shadow_client.c | 8 ++++---- server/shadow/shadow_server.c | 6 +++--- winpr/libwinpr/comm/comm.c | 14 ++++++++------ winpr/libwinpr/comm/comm.h | 4 +++- winpr/libwinpr/ncrypt/ncrypt_pkcs11.c | 6 +++--- winpr/libwinpr/sspi/Kerberos/kerberos.c | 3 +-- winpr/libwinpr/sspi/NTLM/ntlm.c | 25 +++++++++++-------------- winpr/libwinpr/timezone/timezone.c | 8 +++++--- winpr/libwinpr/utils/cmdline.c | 17 ++++++++--------- 28 files changed, 133 insertions(+), 129 deletions(-) diff --git a/channels/rdpgfx/server/rdpgfx_main.c b/channels/rdpgfx/server/rdpgfx_main.c index eccf17832..908ba9cb4 100644 --- a/channels/rdpgfx/server/rdpgfx_main.c +++ b/channels/rdpgfx/server/rdpgfx_main.c @@ -53,9 +53,10 @@ static BOOL checkCapsAreExchangedInt(RdpgfxServerContext* context, const char* f const DWORD level = WLOG_TRACE; if (WLog_IsLevelActive(context->priv->log, level)) { - WLog_PrintMessage(context->priv->log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "activeCapSet{Version=0x%08" PRIx32 ", flags=0x%08" PRIx32 "}", - context->priv->activeCapSet.version, context->priv->activeCapSet.flags); + WLog_PrintTextMessage(context->priv->log, level, line, file, fkt, + "activeCapSet{Version=0x%08" PRIx32 ", flags=0x%08" PRIx32 "}", + context->priv->activeCapSet.version, + context->priv->activeCapSet.flags); } return context->priv->activeCapSet.version > 0; } diff --git a/client/SDL/SDL2/sdl_freerdp.cpp b/client/SDL/SDL2/sdl_freerdp.cpp index fb8852e38..564406cbd 100644 --- a/client/SDL/SDL2/sdl_freerdp.cpp +++ b/client/SDL/SDL2/sdl_freerdp.cpp @@ -1634,8 +1634,8 @@ static void SDLCALL winpr_LogOutputFunction(void* userdata, int category, SDL_Lo if (!WLog_IsLevelActive(log, level)) return; - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, __LINE__, __FILE__, __func__, "[%s] %s", - category2str(category), message); + WLog_PrintTextMessage(log, level, __LINE__, __FILE__, __func__, "[%s] %s", + category2str(category), message); } int main(int argc, char* argv[]) diff --git a/client/SDL/SDL3/sdl_freerdp.cpp b/client/SDL/SDL3/sdl_freerdp.cpp index 33ab6b8f4..58dc9dbf9 100644 --- a/client/SDL/SDL3/sdl_freerdp.cpp +++ b/client/SDL/SDL3/sdl_freerdp.cpp @@ -1639,8 +1639,8 @@ static void SDLCALL winpr_LogOutputFunction(void* userdata, int category, SDL_Lo if (!WLog_IsLevelActive(log, level)) return; - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, __LINE__, __FILE__, __func__, "[%s] %s", - category2str(category), message); + WLog_PrintTextMessage(log, level, __LINE__, __FILE__, __func__, "[%s] %s", + category2str(category), message); } int main(int argc, char* argv[]) diff --git a/client/X11/xf_rail.c b/client/X11/xf_rail.c index 1fdfaf23f..1e1ebdecd 100644 --- a/client/X11/xf_rail.c +++ b/client/X11/xf_rail.c @@ -313,8 +313,8 @@ static void window_state_log_style_int(wLog* log, const WINDOW_STATE_ORDER* wind window_styles_to_string(windowState->style, buffer1, sizeof(buffer1)); window_styles_ex_to_string(windowState->extendedStyle, buffer2, sizeof(buffer2)); - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "windowStyle={%s, %s}", buffer1, buffer2); + WLog_PrintTextMessage(log, log_level, line, file, fkt, "windowStyle={%s, %s}", buffer1, + buffer2); } } diff --git a/client/X11/xf_utils.c b/client/X11/xf_utils.c index 80adc2e00..f44d85cd8 100644 --- a/client/X11/xf_utils.c +++ b/client/X11/xf_utils.c @@ -42,11 +42,13 @@ static const char* error_to_string(wLog* log, Display* display, int error, char* return buffer; } -static void write_log(wLog* log, DWORD level, const char* fname, const char* fkt, size_t line, ...) +WINPR_ATTR_FORMAT_ARG(6, 7) +static void write_log(wLog* log, DWORD level, const char* fname, const char* fkt, size_t line, + WINPR_FORMAT_ARG const char* fmt, ...) { va_list ap = { 0 }; - va_start(ap, line); - WLog_PrintMessageVA(log, WLOG_MESSAGE_TEXT, level, line, fname, fkt, ap); + va_start(ap, fmt); + WLog_PrintTextMessageVA(log, level, line, fname, fkt, fmt, ap); va_end(ap); } @@ -74,8 +76,8 @@ static int write_result_log_va(wLog* log, DWORD level, const char* fname, const if (WLog_IsLevelActive(log, level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, fname, fkt, "%s returned %s", - name, error_to_string(log, display, rc, buffer, sizeof(buffer))); + WLog_PrintTextMessage(log, level, line, fname, fkt, "%s returned %s", name, + error_to_string(log, display, rc, buffer, sizeof(buffer))); } } return rc; diff --git a/client/common/client_cliprdr_file.c b/client/common/client_cliprdr_file.c index 938828e82..9769b9298 100644 --- a/client/common/client_cliprdr_file.c +++ b/client/common/client_cliprdr_file.c @@ -640,14 +640,16 @@ static CliprdrLocalStream* cliprdr_local_stream_new(CliprdrFileContext* context, static void cliprdr_file_session_terminate(CliprdrFileContext* file, BOOL stop_thread); static BOOL local_stream_discard(const void* key, void* value, void* arg); -static void writelog(wLog* log, DWORD level, const char* fname, const char* fkt, size_t line, ...) +WINPR_ATTR_FORMAT_ARG(6, 7) +static void writelog(wLog* log, DWORD level, const char* fname, const char* fkt, size_t line, + WINPR_FORMAT_ARG const char* fmt, ...) { if (!WLog_IsLevelActive(log, level)) return; va_list ap = { 0 }; - va_start(ap, line); - WLog_PrintMessageVA(log, WLOG_MESSAGE_TEXT, level, line, fname, fkt, ap); + va_start(ap, fmt); + WLog_PrintTextMessageVA(log, level, line, fname, fkt, fmt, ap); va_end(ap); } diff --git a/client/common/cmdline.c b/client/common/cmdline.c index 93943c0e5..4703d20b6 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -1032,9 +1032,9 @@ static int fail_at_(const COMMAND_LINE_ARGUMENT_A* arg, int rc, const char* file const DWORD level = WLOG_ERROR; wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "Command line parsing failed at '%s' value '%s' [%d]", arg->Name, - arg->Value, rc); + WLog_PrintTextMessage(log, level, line, file, fkt, + "Command line parsing failed at '%s' value '%s' [%d]", arg->Name, + arg->Value, rc); return rc; } diff --git a/libfreerdp/codec/dsp_fdk_aac.c b/libfreerdp/codec/dsp_fdk_aac.c index 94fd23fd1..3b0737c95 100644 --- a/libfreerdp/codec/dsp_fdk_aac.c +++ b/libfreerdp/codec/dsp_fdk_aac.c @@ -24,7 +24,8 @@ #include #define TAG FREERDP_TAG("dsp.fdk") -static void write_log(unsigned log_level, const char* fmt, ...) +WINPR_ATTR_FORMAT_ARG(2, 3) +static void write_log(unsigned log_level, WINPR_FORMAT_ARG const char* fmt, ...) { wLog* log = WLog_Get(TAG); @@ -37,8 +38,7 @@ static void write_log(unsigned log_level, const char* fmt, ...) (void)vsnprintf(buffer, sizeof(buffer), fmt, ap); va_end(ap); - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, __LINE__, __FILE__, __func__, "%s", - buffer); + WLog_PrintTextMessage(log, log_level, __LINE__, __FILE__, __func__, "%s", buffer); } } diff --git a/libfreerdp/core/freerdp.c b/libfreerdp/core/freerdp.c index 08f4c6720..791908021 100644 --- a/libfreerdp/core/freerdp.c +++ b/libfreerdp/core/freerdp.c @@ -1142,26 +1142,26 @@ void freerdp_set_last_error_ex(rdpContext* context, UINT32 lastError, const char { if (WLog_IsLevelActive(context->log, WLOG_ERROR)) { - WLog_PrintMessage(context->log, WLOG_MESSAGE_TEXT, WLOG_ERROR, (size_t)line, file, fkt, - "%s [0x%08" PRIX32 "]", freerdp_get_last_error_name(lastError), - lastError); + WLog_PrintTextMessage(context->log, WLOG_ERROR, (size_t)line, file, fkt, + "%s [0x%08" PRIX32 "]", freerdp_get_last_error_name(lastError), + lastError); } } if (lastError == FREERDP_ERROR_SUCCESS) { if (WLog_IsLevelActive(context->log, WLOG_DEBUG)) - WLog_PrintMessage(context->log, WLOG_MESSAGE_TEXT, WLOG_DEBUG, (size_t)line, file, fkt, - "resetting error state"); + WLog_PrintTextMessage(context->log, WLOG_DEBUG, (size_t)line, file, fkt, + "resetting error state"); } else if (context->LastError != FREERDP_ERROR_SUCCESS) { if (WLog_IsLevelActive(context->log, WLOG_ERROR)) { - WLog_PrintMessage(context->log, WLOG_MESSAGE_TEXT, WLOG_ERROR, (size_t)line, file, fkt, - "TODO: Trying to set error code %s, but %s already set!", - freerdp_get_last_error_name(lastError), - freerdp_get_last_error_name(context->LastError)); + WLog_PrintTextMessage(context->log, WLOG_ERROR, (size_t)line, file, fkt, + "TODO: Trying to set error code %s, but %s already set!", + freerdp_get_last_error_name(lastError), + freerdp_get_last_error_name(context->LastError)); } } context->LastError = lastError; diff --git a/libfreerdp/core/gateway/http.c b/libfreerdp/core/gateway/http.c index 707a978d1..64a915efc 100644 --- a/libfreerdp/core/gateway/http.c +++ b/libfreerdp/core/gateway/http.c @@ -1058,24 +1058,23 @@ static void http_response_print(wLog* log, DWORD level, const HttpResponse* resp return; const long status = http_response_get_status_code(response); - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "HTTP status: %s", - freerdp_http_status_string_format(status, buffer, ARRAYSIZE(buffer))); + WLog_PrintTextMessage(log, level, line, file, fkt, "HTTP status: %s", + freerdp_http_status_string_format(status, buffer, ARRAYSIZE(buffer))); if (WLog_IsLevelActive(log, WLOG_DEBUG)) { for (size_t i = 0; i < response->count; i++) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, WLOG_DEBUG, line, file, fkt, - "[%" PRIuz "] %s", i, response->lines[i]); + WLog_PrintTextMessage(log, WLOG_DEBUG, line, file, fkt, "[%" PRIuz "] %s", i, + response->lines[i]); } if (response->ReasonPhrase) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "[reason] %s", - response->ReasonPhrase); + WLog_PrintTextMessage(log, level, line, file, fkt, "[reason] %s", response->ReasonPhrase); if (WLog_IsLevelActive(log, WLOG_TRACE)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, WLOG_TRACE, line, file, fkt, - "[body][%" PRIuz "] %s", response->BodyLength, response->BodyContent); + WLog_PrintTextMessage(log, WLOG_TRACE, line, file, fkt, "[body][%" PRIuz "] %s", + response->BodyLength, response->BodyContent); } } @@ -1251,8 +1250,8 @@ static BOOL sleep_or_timeout_(rdpTls* tls, UINT64 startMS, UINT32 timeoutMS, con DWORD level = WLOG_ERROR; wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "timeout [%" PRIu32 "ms] exceeded", timeoutMS); + WLog_PrintTextMessage(log, level, line, file, fkt, "timeout [%" PRIu32 "ms] exceeded", + timeoutMS); return TRUE; } if (!BIO_should_retry(tls->bio)) @@ -1261,7 +1260,7 @@ static BOOL sleep_or_timeout_(rdpTls* tls, UINT64 startMS, UINT32 timeoutMS, con wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "Retries exceeded"); + WLog_PrintTextMessage(log, level, line, file, fkt, "Retries exceeded"); ERR_print_errors_cb(print_bio_error, log); } return TRUE; @@ -1734,7 +1733,7 @@ void http_response_log_error_status_(wLog* log, DWORD level, const HttpResponse* char buffer[64] = { 0 }; const long status = http_response_get_status_code(response); - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "Unexpected HTTP status: %s", - freerdp_http_status_string_format(status, buffer, ARRAYSIZE(buffer))); + WLog_PrintTextMessage(log, level, line, file, fkt, "Unexpected HTTP status: %s", + freerdp_http_status_string_format(status, buffer, ARRAYSIZE(buffer))); http_response_print(log, level, response, file, line, fkt); } diff --git a/libfreerdp/core/gateway/rpc.c b/libfreerdp/core/gateway/rpc.c index c37a773bf..bcf808ce6 100644 --- a/libfreerdp/core/gateway/rpc.c +++ b/libfreerdp/core/gateway/rpc.c @@ -491,8 +491,8 @@ SSIZE_T rpc_channel_write_int(RpcChannel* channel, const BYTE* data, size_t leng const DWORD level = WLOG_TRACE; if (WLog_IsLevelActive(channel->rpc->log, level)) { - WLog_PrintMessage(channel->rpc->log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "Sending [%s] %" PRIuz " bytes", fkt, length); + WLog_PrintTextMessage(channel->rpc->log, level, line, file, fkt, + "Sending [%s] %" PRIuz " bytes", fkt, length); } return freerdp_tls_write_all(channel->tls, data, length); diff --git a/libfreerdp/core/gateway/rts.c b/libfreerdp/core/gateway/rts.c index 7bced559b..c0b851c33 100644 --- a/libfreerdp/core/gateway/rts.c +++ b/libfreerdp/core/gateway/rts.c @@ -1569,8 +1569,8 @@ static BOOL rts_send_buffer_int(RpcChannel* channel, wStream* s, size_t frag_len const DWORD level = WLOG_TRACE; if (WLog_IsLevelActive(channel->rpc->log, level)) { - WLog_PrintMessage(channel->rpc->log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "Sending [%s] %" PRIuz " bytes", fkt, Stream_Length(s)); + WLog_PrintTextMessage(channel->rpc->log, level, line, file, fkt, + "Sending [%s] %" PRIuz " bytes", fkt, Stream_Length(s)); } if (Stream_Length(s) < sizeof(rpcconn_common_hdr_t)) goto fail; diff --git a/libfreerdp/core/orders.c b/libfreerdp/core/orders.c index c27b474ae..b7cb4d341 100644 --- a/libfreerdp/core/orders.c +++ b/libfreerdp/core/orders.c @@ -87,16 +87,14 @@ static inline BOOL check_val_fits_int16_int(INT32 value, WINPR_ATTR_UNUSED const if (value < INT16_MIN) { if (WLog_IsLevelActive(log, level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "value %" PRId32 " < %d", INT16_MIN); + WLog_PrintTextMessage(log, level, line, file, fkt, "value %" PRId32 " < %d", INT16_MIN); return FALSE; } if (value > INT16_MAX) { if (WLog_IsLevelActive(log, level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "value %" PRId32 " > %d", INT16_MAX); + WLog_PrintTextMessage(log, level, line, file, fkt, "value %" PRId32 " > %d", INT16_MAX); return FALSE; } @@ -631,8 +629,8 @@ static INLINE BOOL update_write_coord_int(wStream* s, INT32 coord, const char* n wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "[%s] 0 <= %" PRId32 " <= %" PRIu16, name, coord, UINT16_MAX); + WLog_PrintTextMessage(log, level, line, file, fkt, "[%s] 0 <= %" PRId32 " <= %" PRIu16, + name, coord, UINT16_MAX); } return FALSE; } diff --git a/libfreerdp/core/rdp.c b/libfreerdp/core/rdp.c index bed4f3f41..f50059b70 100644 --- a/libfreerdp/core/rdp.c +++ b/libfreerdp/core/rdp.c @@ -132,9 +132,9 @@ static BOOL rdp_check_monitor_layout_pdu_state_(const rdpRdp* rdp, BOOL expected const DWORD log_level = WLOG_ERROR; if (WLog_IsLevelActive(rdp->log, log_level)) { - WLog_PrintMessage(rdp->log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "Expected rdp->monitor_layout_pdu == %s", - expected ? "TRUE" : "FALSE"); + WLog_PrintTextMessage(rdp->log, log_level, line, file, fkt, + "Expected rdp->monitor_layout_pdu == %s", + expected ? "TRUE" : "FALSE"); } return FALSE; } @@ -153,8 +153,8 @@ static BOOL rdp_set_monitor_layout_pdu_state_(rdpRdp* rdp, BOOL value, const cha const DWORD log_level = WLOG_WARN; if (WLog_IsLevelActive(rdp->log, log_level)) { - WLog_PrintMessage(rdp->log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "rdp->monitor_layout_pdu == TRUE, expected FALSE"); + WLog_PrintTextMessage(rdp->log, log_level, line, file, fkt, + "rdp->monitor_layout_pdu == TRUE, expected FALSE"); } return FALSE; } @@ -2982,10 +2982,10 @@ static void print_first_line_int(wLog* log, log_line_t* firstLine, const char* w const DWORD level = WLOG_WARN; if (WLog_IsLevelActive(log, level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "*************************************************"); - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "[SSL] {%s} build or configuration missing:", what); + WLog_PrintTextMessage(log, level, line, file, fkt, + "*************************************************"); + WLog_PrintTextMessage(log, level, line, file, fkt, + "[SSL] {%s} build or configuration missing:", what); } firstLine->line = line; firstLine->file = file; @@ -3000,9 +3000,9 @@ static void print_last_line(wLog* log, const log_line_t* firstLine) if (firstLine->fkt) { if (WLog_IsLevelActive(log, firstLine->level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, firstLine->level, firstLine->line, - firstLine->file, firstLine->fkt, - "*************************************************"); + WLog_PrintTextMessage(log, firstLine->level, firstLine->line, firstLine->file, + firstLine->fkt, + "*************************************************"); } } diff --git a/libfreerdp/core/rdstls.c b/libfreerdp/core/rdstls.c index cc26c6090..de35c73dc 100644 --- a/libfreerdp/core/rdstls.c +++ b/libfreerdp/core/rdstls.c @@ -723,10 +723,10 @@ static BOOL rdstls_check_state_requirements_(rdpRdstls* rdstls, RDSTLS_STATE exp const DWORD log_level = WLOG_ERROR; if (WLog_IsLevelActive(rdstls->log, log_level)) - WLog_PrintMessage(rdstls->log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "Unexpected rdstls state %s [%d], expected %s [%d]", - rdstls_get_state_str(current), current, rdstls_get_state_str(expected), - expected); + WLog_PrintTextMessage(rdstls->log, log_level, line, file, fkt, + "Unexpected rdstls state %s [%d], expected %s [%d]", + rdstls_get_state_str(current), current, + rdstls_get_state_str(expected), expected); return FALSE; } diff --git a/libfreerdp/core/timezone.c b/libfreerdp/core/timezone.c index 043b86e22..699081ad1 100644 --- a/libfreerdp/core/timezone.c +++ b/libfreerdp/core/timezone.c @@ -73,14 +73,16 @@ static char* systemtime2str(const SYSTEMTIME* t, char* buffer, size_t len) return buffer; } -static void log_print(wLog* log, DWORD level, const char* file, const char* fkt, size_t line, ...) +WINPR_ATTR_FORMAT_ARG(6, 7) +static void log_print(wLog* log, DWORD level, const char* file, const char* fkt, size_t line, + WINPR_FORMAT_ARG const char* fmt, ...) { if (!WLog_IsLevelActive(log, level)) return; va_list ap = { 0 }; - va_start(ap, line); - WLog_PrintMessageVA(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, ap); + va_start(ap, fmt); + WLog_PrintTextMessageVA(log, level, line, file, fkt, fmt, ap); va_end(ap); } diff --git a/libfreerdp/core/transport.c b/libfreerdp/core/transport.c index b06e9f107..43be23d9e 100644 --- a/libfreerdp/core/transport.c +++ b/libfreerdp/core/transport.c @@ -757,8 +757,8 @@ static void transport_bio_error_log(rdpTransport* transport, LPCSTR biofunc, const char* fmt = "%s returned a system error %d: %s"; if (saveerrno == 0) fmt = "%s retries exceeded"; - WLog_PrintMessage(transport->log, WLOG_MESSAGE_TEXT, level, line, file, func, fmt, biofunc, - saveerrno, winpr_strerror(saveerrno, ebuffer, sizeof(ebuffer))); + WLog_PrintTextMessage(transport->log, level, line, file, func, fmt, biofunc, saveerrno, + winpr_strerror(saveerrno, ebuffer, sizeof(ebuffer))); return; } @@ -768,8 +768,7 @@ static void transport_bio_error_log(rdpTransport* transport, LPCSTR biofunc, const char* fmt = "%s returned an error: %s"; ERR_error_string_n(sslerr, buf, 120); - WLog_PrintMessage(transport->log, WLOG_MESSAGE_TEXT, level, line, file, func, fmt, biofunc, - buf); + WLog_PrintTextMessage(transport->log, level, line, file, func, fmt, biofunc, buf); } } diff --git a/libfreerdp/utils/http.c b/libfreerdp/utils/http.c index 996f611e2..a8da164d8 100644 --- a/libfreerdp/utils/http.c +++ b/libfreerdp/utils/http.c @@ -53,12 +53,11 @@ static void log_errors_(wLog* log, const char* msg, const char* file, const char while ((ec = ERR_get_error())) { error_logged = TRUE; - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "%s: %s", msg, - ERR_error_string(ec, NULL)); + WLog_PrintTextMessage(log, level, line, file, fkt, "%s: %s", msg, + ERR_error_string(ec, NULL)); } if (!error_logged) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "%s (no details available)", msg); + WLog_PrintTextMessage(log, level, line, file, fkt, "%s (no details available)", msg); } static int get_line(BIO* bio, char* buffer, size_t size) diff --git a/libfreerdp/utils/smartcard_pack.c b/libfreerdp/utils/smartcard_pack.c index 57ae9166d..1080b42a9 100644 --- a/libfreerdp/utils/smartcard_pack.c +++ b/libfreerdp/utils/smartcard_pack.c @@ -1785,8 +1785,9 @@ static LONG smartcard_context_supported_(wLog* log, uint32_t size, const char* f const uint32_t level = WLOG_WARN; if (WLog_IsLevelActive(log, level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "REDIR_SCARDCONTEXT length is not 0, 4 or 8: %" PRIu32 "", size); + WLog_PrintTextMessage(log, level, line, file, fkt, + "REDIR_SCARDCONTEXT length is not 0, 4 or 8: %" PRIu32 "", + size); } return STATUS_INVALID_PARAMETER; } diff --git a/server/shadow/shadow_client.c b/server/shadow/shadow_client.c index 66b9805db..e2e038e58 100644 --- a/server/shadow/shadow_client.c +++ b/server/shadow/shadow_client.c @@ -75,8 +75,8 @@ static BOOL BitmapUpdateProxyEx(rdpShadowClient* client, const BITMAP_UPDATE* bi wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, log_level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "BitmapUpdate[count %" PRIu32 "] failed", bitmap->number); + WLog_PrintTextMessage(log, log_level, line, file, fkt, + "BitmapUpdate[count %" PRIu32 "] failed", bitmap->number); } return FALSE; } @@ -97,8 +97,8 @@ static BOOL BitmapUpdateProxyEx(rdpShadowClient* client, const BITMAP_UPDATE* bi wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, log_level)) { - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "BitmapUpdate[count 1, at %" PRIu32 "] failed", x); + WLog_PrintTextMessage(log, log_level, line, file, fkt, + "BitmapUpdate[count 1, at %" PRIu32 "] failed", x); } return FALSE; } diff --git a/server/shadow/shadow_server.c b/server/shadow/shadow_server.c index 29765737b..7088bda45 100644 --- a/server/shadow/shadow_server.c +++ b/server/shadow/shadow_server.c @@ -53,9 +53,9 @@ static int fail_at_(const COMMAND_LINE_ARGUMENT_A* arg, int rc, const char* file const DWORD level = WLOG_ERROR; wLog* log = WLog_Get(TAG); if (WLog_IsLevelActive(log, level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "Command line parsing failed at '%s' value '%s' [%d]", arg->Name, - arg->Value, rc); + WLog_PrintTextMessage(log, level, line, file, fkt, + "Command line parsing failed at '%s' value '%s' [%d]", arg->Name, + arg->Value, rc); return rc; } diff --git a/winpr/libwinpr/comm/comm.c b/winpr/libwinpr/comm/comm.c index 45f1c4acf..8dd5b74e7 100644 --- a/winpr/libwinpr/comm/comm.c +++ b/winpr/libwinpr/comm/comm.c @@ -196,7 +196,9 @@ static BOOL CommInitialized(void) return TRUE; } -void CommLog_PrintEx(DWORD level, const char* file, size_t line, const char* fkt, ...) +WINPR_ATTR_FORMAT_ARG(5, 6) +void CommLog_PrintEx(DWORD level, const char* file, size_t line, const char* fkt, + WINPR_FORMAT_ARG const char* fmt, ...) { if (!CommInitialized()) return; @@ -204,8 +206,8 @@ void CommLog_PrintEx(DWORD level, const char* file, size_t line, const char* fkt if (!WLog_IsLevelActive(sLog, level)) return; va_list ap = { 0 }; - va_start(ap, fkt); - WLog_PrintMessageVA(sLog, WLOG_MESSAGE_TEXT, level, line, file, fkt, ap); + va_start(ap, fmt); + WLog_PrintTextMessageVA(sLog, level, line, file, fkt, fmt, ap); va_end(ap); } @@ -1805,9 +1807,9 @@ static BOOL CommStatusErrorEx(WINPR_COMM* pComm, unsigned long int ctl, const ch { if (WLog_IsLevelActive(sLog, level)) { - WLog_PrintMessage(sLog, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "%s [0x%08" PRIx32 "] ioctl failed, errno=[%d] %s.", str, ctl, errno, - winpr_strerror(errno, ebuffer, sizeof(ebuffer))); + WLog_PrintTextMessage(sLog, level, line, file, fkt, + "%s [0x%08" PRIx32 "] ioctl failed, errno=[%d] %s.", str, ctl, + errno, winpr_strerror(errno, ebuffer, sizeof(ebuffer))); } } diff --git a/winpr/libwinpr/comm/comm.h b/winpr/libwinpr/comm/comm.h index b2a811d55..358320d78 100644 --- a/winpr/libwinpr/comm/comm.h +++ b/winpr/libwinpr/comm/comm.h @@ -107,7 +107,9 @@ typedef struct winpr_comm WINPR_COMM; #define WINPR_PURGE_RXABORT 0x00000002 /* abort pending reception */ #define CommLog_Print(level, ...) CommLog_PrintEx(level, __FILE__, __LINE__, __func__, __VA_ARGS__) -void CommLog_PrintEx(DWORD wlog_level, const char* file, size_t line, const char* fkt, ...); +WINPR_ATTR_FORMAT_ARG(5, 6) +void CommLog_PrintEx(DWORD level, const char* file, size_t line, const char* fkt, + WINPR_FORMAT_ARG const char* fmt, ...); BOOL CommIsHandled(HANDLE handle); BOOL CommIsHandleValid(HANDLE handle); diff --git a/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c b/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c index d4af7c48b..e3eb088bd 100644 --- a/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c +++ b/winpr/libwinpr/ncrypt/ncrypt_pkcs11.c @@ -366,9 +366,9 @@ static void log_(const char* tag, const char* msg, CK_RV rv, CK_ULONG index, CK_ if (!WLog_IsLevelActive(log_cached_ptr, log_level)) return; - WLog_PrintMessage(log_cached_ptr, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "%s for slot #%" PRIu32 "(%" PRIu32 "), rv=%s", msg, index, slot, - CK_RV_error_string(rv)); + WLog_PrintTextMessage(log_cached_ptr, log_level, line, file, fkt, + "%s for slot #%" PRIu32 "(%" PRIu32 "), rv=%s", msg, index, slot, + CK_RV_error_string(rv)); } static SECURITY_STATUS collect_keys(NCryptP11ProviderHandle* provider, P11EnumKeysState* state) diff --git a/winpr/libwinpr/sspi/Kerberos/kerberos.c b/winpr/libwinpr/sspi/Kerberos/kerberos.c index 04fdd304b..a2310f6cb 100644 --- a/winpr/libwinpr/sspi/Kerberos/kerberos.c +++ b/winpr/libwinpr/sspi/Kerberos/kerberos.c @@ -147,8 +147,7 @@ static krb5_error_code kerberos_log_msg(krb5_context ctx, krb5_error_code code, if (WLog_IsLevelActive(log, level)) { const char* msg = krb5_get_error_message(ctx, code); - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "%s (%s [%d])", - what, msg, code); + WLog_PrintTextMessage(log, level, line, file, fkt, "%s (%s [%d])", what, msg, code); krb5_free_error_message(ctx, msg); } } diff --git a/winpr/libwinpr/sspi/NTLM/ntlm.c b/winpr/libwinpr/sspi/NTLM/ntlm.c index 6f3bbcdad..8ae7323aa 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm.c @@ -53,8 +53,7 @@ static BOOL check_context_(NTLM_CONTEXT* context, const char* file, const char* if (!context) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, "invalid context"); return FALSE; } @@ -62,44 +61,42 @@ static BOOL check_context_(NTLM_CONTEXT* context, const char* file, const char* if (!context->RecvRc4Seal) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context->RecvRc4Seal"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, "invalid context->RecvRc4Seal"); rc = FALSE; } if (!context->SendRc4Seal) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context->SendRc4Seal"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, "invalid context->SendRc4Seal"); rc = FALSE; } if (!context->SendSigningKey) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context->SendSigningKey"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, + "invalid context->SendSigningKey"); rc = FALSE; } if (!context->RecvSigningKey) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context->RecvSigningKey"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, + "invalid context->RecvSigningKey"); rc = FALSE; } if (!context->SendSealingKey) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context->SendSealingKey"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, + "invalid context->SendSealingKey"); rc = FALSE; } if (!context->RecvSealingKey) { if (WLog_IsLevelActive(log, log_level)) - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, log_level, line, file, fkt, - "invalid context->RecvSealingKey"); + WLog_PrintTextMessage(log, log_level, line, file, fkt, + "invalid context->RecvSealingKey"); rc = FALSE; } return rc; diff --git a/winpr/libwinpr/timezone/timezone.c b/winpr/libwinpr/timezone/timezone.c index aec5fd0b3..bd3454374 100644 --- a/winpr/libwinpr/timezone/timezone.c +++ b/winpr/libwinpr/timezone/timezone.c @@ -592,14 +592,16 @@ static char* systemtime2str(const SYSTEMTIME* t, char* buffer, size_t len) return buffer; } -static void log_print(wLog* log, DWORD level, const char* file, const char* fkt, size_t line, ...) +WINPR_ATTR_FORMAT_ARG(6, 7) +static void log_print(wLog* log, DWORD level, const char* file, const char* fkt, size_t line, + WINPR_FORMAT_ARG const char* fmt, ...) { if (!WLog_IsLevelActive(log, level)) return; va_list ap = { 0 }; - va_start(ap, line); - WLog_PrintMessageVA(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, ap); + va_start(ap, fmt); + WLog_PrintTextMessageVA(log, level, line, file, fkt, fmt, ap); va_end(ap); } diff --git a/winpr/libwinpr/utils/cmdline.c b/winpr/libwinpr/utils/cmdline.c index ead37ab74..2e64100d4 100644 --- a/winpr/libwinpr/utils/cmdline.c +++ b/winpr/libwinpr/utils/cmdline.c @@ -64,15 +64,14 @@ static void log_error_(DWORD flags, LPCSTR message, int index, WINPR_ATTR_UNUSED if (!WLog_IsLevelActive(log, level)) return; - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, - "Failed at index %d [%s]: %s", index, + WLog_PrintTextMessage(log, level, line, file, fkt, "Failed at index %d [%s]: %s", index, #if defined(WITH_DEBUG_UTILS_CMDLINE_DUMP) - argv + argv #else - censoredmessage + censoredmessage #endif - , - message); + , + message); } } @@ -88,11 +87,11 @@ static void log_comma_error_(const char* message, WINPR_ATTR_UNUSED const char* if (!WLog_IsLevelActive(log, level)) return; - WLog_PrintMessage(log, WLOG_MESSAGE_TEXT, level, line, file, fkt, "%s [%s]", message, + WLog_PrintTextMessage(log, level, line, file, fkt, "%s [%s]", message, #if defined(WITH_DEBUG_UTILS_CMDLINE_DUMP) - argument + argument #else - censoredmessage + censoredmessage #endif ); }