From 1807652975f19eaf191a914413a739875d7895c9 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 24 Oct 2023 08:54:43 +0200 Subject: [PATCH] [core,helpers] add new stringify functions * freerdp_get_logon_error_info_type_ex * freerdp_get_logon_error_info_data_ex --- include/freerdp/freerdp.h | 5 +++++ libfreerdp/core/freerdp.c | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/include/freerdp/freerdp.h b/include/freerdp/freerdp.h index 81156cec9..efe2fec50 100644 --- a/include/freerdp/freerdp.h +++ b/include/freerdp/freerdp.h @@ -642,7 +642,12 @@ owned by rdpRdp */ const char* fkt, const char* file, int line); FREERDP_API const char* freerdp_get_logon_error_info_type(UINT32 type); + FREERDP_API const char* freerdp_get_logon_error_info_type_ex(UINT32 type, char* buffer, + size_t size); + FREERDP_API const char* freerdp_get_logon_error_info_data(UINT32 data); + FREERDP_API const char* freerdp_get_logon_error_info_data_ex(UINT32 data, char* buffer, + size_t size); FREERDP_API ULONG freerdp_get_transport_sent(rdpContext* context, BOOL resetCount); diff --git a/libfreerdp/core/freerdp.c b/libfreerdp/core/freerdp.c index 5b4077ac1..b4dd9ea2f 100644 --- a/libfreerdp/core/freerdp.c +++ b/libfreerdp/core/freerdp.c @@ -1077,6 +1077,13 @@ void freerdp_set_last_error_ex(rdpContext* context, UINT32 lastError, const char context->LastError = lastError; } +const char* freerdp_get_logon_error_info_type_ex(UINT32 type, char* buffer, size_t size) +{ + const char* str = freerdp_get_logon_error_info_type(type); + _snprintf(buffer, size, "%s(0x%04" PRIx32 ")", str, type); + return buffer; +} + const char* freerdp_get_logon_error_info_type(UINT32 type) { switch (type) @@ -1125,6 +1132,13 @@ const char* freerdp_get_logon_error_info_data(UINT32 data) } } +const char* freerdp_get_logon_error_info_data_ex(UINT32 data, char* buffer, size_t size) +{ + const char* str = freerdp_get_logon_error_info_data(data); + _snprintf(buffer, size, "%s(0x%04" PRIx32 ")", str, data); + return buffer; +} + /** Allocator function for the rdp_freerdp structure. * @return an allocated structure filled with 0s. Need to be deallocated using freerdp_free() */