FreeRDP
Loading...
Searching...
No Matches
warnings.c
1
21#include <winpr/string.h>
22#include <freerdp/utils/warnings.h>
23
24static const DWORD level = WLOG_WARN;
25
26static void warn_contact_details(wLog* log)
27{
28 WLog_Print_unchecked(
29 log, level,
30 " If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for "
31 "known issues!");
32 WLog_Print_unchecked(
33 log, level,
34 "Be prepared to fix issues yourself though as nobody is actively working on this.");
35 WLog_Print_unchecked(
36 log, level,
37 " Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
38 "- don't hesitate to ask some questions. (replies might take some time depending "
39 "on your timezone) - if you intend using this component write us a message");
40}
41
42void freerdp_warn_unmaintained(wLog* log, const char* what, ...)
43{
44 if (!WLog_IsLevelActive(log, level))
45 return;
46
47 char* str = nullptr;
48 size_t slen = 0;
49 va_list ap;
50 va_start(ap, what);
51 winpr_vasprintf(&str, &slen, what, ap);
52 va_end(ap);
53
54 WLog_Print_unchecked(log, level, "[unmaintained] %s is currently unmaintained!", str);
55 free(str);
56 warn_contact_details(log);
57}
58
59void freerdp_warn_experimental(wLog* log, const char* what, ...)
60{
61 if (!WLog_IsLevelActive(log, level))
62 return;
63
64 char* str = nullptr;
65 size_t slen = 0;
66 va_list ap;
67 va_start(ap, what);
68 winpr_vasprintf(&str, &slen, what, ap);
69 va_end(ap);
70
71 WLog_Print_unchecked(log, level, "[experimental] %s is currently experimental!", str);
72 free(str);
73 warn_contact_details(log);
74}
75
76void freerdp_warn_deprecated(wLog* log, const char* what, const char* replacement, ...)
77{
78 if (!WLog_IsLevelActive(log, level))
79 return;
80
81 char* str = nullptr;
82 size_t slen = 0;
83 va_list ap;
84 va_start(ap, what);
85 winpr_vasprintf(&str, &slen, what, ap);
86 va_end(ap);
87
88 WLog_Print_unchecked(log, level, "[deprecated] %s has been deprecated", str);
89 if (replacement)
90 WLog_Print_unchecked(log, level, "%s", replacement);
91 WLog_Print_unchecked(
92 log, level, "If you are interested in keeping %s alive get in touch with the developers",
93 str);
94
95 free(str);
96 warn_contact_details(log);
97}