diff --git a/client/X11/xf_utils.c b/client/X11/xf_utils.c index 1fe52a163..e9e28c904 100644 --- a/client/X11/xf_utils.c +++ b/client/X11/xf_utils.c @@ -226,3 +226,13 @@ fail: pclose(keyScript); return rc; } + +const char* x11_error_to_string(xfContext* xfc, int error, char* buffer, size_t size) +{ + WINPR_ASSERT(xfc); + WINPR_ASSERT(size <= INT32_MAX); + const int rc = XGetErrorText(xfc->display, error, buffer, (int)size); + if (rc) + WLog_WARN(TAG, "XGetErrorText returned %d", rc); + return buffer; +} diff --git a/client/X11/xf_utils.h b/client/X11/xf_utils.h index 5da645238..81b020eff 100644 --- a/client/X11/xf_utils.h +++ b/client/X11/xf_utils.h @@ -25,6 +25,8 @@ #include #include "xfreerdp.h" +const char* x11_error_to_string(xfContext* xfc, int error, char* buffer, size_t size); + #define X_GET_ATOM_VAR_NAME(x) #x #define Safe_XGetAtomName(log, display, atom) \ Safe_XGetAtomNameEx((log), (display), (atom), X_GET_ATOM_VAR_NAME(atom))