Coverage Report

Created: 2026-01-17 07:16

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/FreeRDP/winpr/include/winpr/wlog.h
Line
Count
Source
1
/**
2
 * WinPR: Windows Portable Runtime
3
 * WinPR Logger
4
 *
5
 * Copyright 2013 Marc-Andre Moreau <marcandre.moreau@gmail.com>
6
 * Copyright 2015 Thincast Technologies GmbH
7
 * Copyright 2015 Bernhard Miklautz <bernhard.miklautz@thincast.com>
8
 *
9
 *
10
 * Licensed under the Apache License, Version 2.0 (the "License");
11
 * you may not use this file except in compliance with the License.
12
 * You may obtain a copy of the License at
13
 *
14
 *     http://www.apache.org/licenses/LICENSE-2.0
15
 *
16
 * Unless required by applicable law or agreed to in writing, software
17
 * distributed under the License is distributed on an "AS IS" BASIS,
18
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
 * See the License for the specific language governing permissions and
20
 * limitations under the License.
21
 */
22
23
#ifndef WINPR_LOG_H
24
#define WINPR_LOG_H
25
26
#ifdef __cplusplus
27
extern "C"
28
{
29
#endif
30
31
#include <stdarg.h>
32
33
#include <winpr/platform.h>
34
#include <winpr/wtypes.h>
35
#include <winpr/winpr.h>
36
#include <winpr/synch.h>
37
#include <winpr/thread.h>
38
39
/**
40
 * Log Levels
41
 */
42
3.14M
#define WLOG_TRACE 0
43
11.2M
#define WLOG_DEBUG 1
44
12.1k
#define WLOG_INFO 2
45
22.2M
#define WLOG_WARN 3
46
5.10M
#define WLOG_ERROR 4
47
0
#define WLOG_FATAL 5
48
40.4M
#define WLOG_OFF 6
49
30.6M
#define WLOG_LEVEL_INHERIT 0xFFFF
50
51
/** @defgroup LogMessageTypes Log Message
52
 *  @{
53
 */
54
9.80M
#define WLOG_MESSAGE_TEXT 0
55
0
#define WLOG_MESSAGE_DATA 1
56
0
#define WLOG_MESSAGE_IMAGE 2
57
0
#define WLOG_MESSAGE_PACKET 3
58
/**
59
 * @}
60
 */
61
62
/**
63
 * Log Appenders
64
 */
65
15
#define WLOG_APPENDER_CONSOLE 0
66
0
#define WLOG_APPENDER_FILE 1
67
0
#define WLOG_APPENDER_BINARY 2
68
0
#define WLOG_APPENDER_CALLBACK 3
69
0
#define WLOG_APPENDER_SYSLOG 4
70
#define WLOG_APPENDER_JOURNALD 5
71
0
#define WLOG_APPENDER_UDP 6
72
73
  typedef struct
74
  {
75
    DWORD Type;
76
77
    DWORD Level;
78
79
    LPSTR PrefixString;
80
81
    LPCSTR FormatString;
82
    LPCSTR TextString;
83
84
    size_t LineNumber;   /* __LINE__ */
85
    LPCSTR FileName;     /* __FILE__ */
86
    LPCSTR FunctionName; /* __func__ */
87
88
    /* Data Message */
89
90
    void* Data;
91
    size_t Length;
92
93
    /* Image Message */
94
95
    void* ImageData;
96
    size_t ImageWidth;
97
    size_t ImageHeight;
98
    size_t ImageBpp;
99
100
    /* Packet Message */
101
102
    void* PacketData;
103
    size_t PacketLength;
104
    DWORD PacketFlags;
105
  } wLogMessage;
106
  typedef struct s_wLogLayout wLogLayout;
107
  typedef struct s_wLogAppender wLogAppender;
108
  typedef struct s_wLog wLog;
109
110
#define WLOG_PACKET_INBOUND 1
111
0
#define WLOG_PACKET_OUTBOUND 2
112
113
  /** @brief specialized function to print text log messages.
114
   *  Same as @ref WLog_PrintMessage with \b type = WLOG_MESSAGE_TEXT but with compile time checks
115
   * for issues in format string.
116
   *
117
   *  @param log A pointer to the logger to use
118
   *  @param line the file line the log message originates from
119
   *  @param file the file name the log message originates from
120
   *  @param function the function name the log message originates from
121
   *  @param fmt the printf style format string
122
   *
123
   *  @return \b TRUE for success, \b FALSE otherwise.
124
   *  @since version 3.17.0
125
   */
126
  WINPR_ATTR_FORMAT_ARG(6, 7)
127
  WINPR_API BOOL WLog_PrintTextMessage(wLog* log, DWORD level, size_t line, const char* file,
128
                                       const char* function, WINPR_FORMAT_ARG const char* fmt,
129
                                       ...);
130
131
  /** @brief specialized function to print text log messages.
132
   *  Same as @ref WLog_PrintMessageVA with \b type = WLOG_MESSAGE_TEXT but with compile time
133
   * checks for issues in format string.
134
   *
135
   *  @param log A pointer to the logger to use
136
   *  @param line the file line the log message originates from
137
   *  @param file the file name the log message originates from
138
   *  @param function the function name the log message originates from
139
   *  @param fmt the printf style format string
140
   *
141
   *  @return \b TRUE for success, \b FALSE otherwise.
142
   *  @since version 3.17.0
143
   */
144
  WINPR_ATTR_FORMAT_ARG(6, 0)
145
  WINPR_API BOOL WLog_PrintTextMessageVA(wLog* log, DWORD level, size_t line, const char* file,
146
                                         const char* function, WINPR_FORMAT_ARG const char* fmt,
147
                                         va_list args);
148
149
  /** @brief log something of a specified type.
150
   *  @bug For /b WLOG_MESSAGE_TEXT the format string is not validated at compile time. Use \ref
151
   * WLog_PrintTextMessage instead.
152
   *
153
   *  @param log A pointer to the logger to use
154
   *  @param type The type of message to log, can be any of \ref LogMessageTypes
155
   *  @param line the file line the log message originates from
156
   *  @param file the file name the log message originates from
157
   *  @param function the function name the log message originates from
158
   *
159
   *  @return \b TRUE for success, \b FALSE otherwise.
160
   */
161
  WINPR_API BOOL WLog_PrintMessage(wLog* log, DWORD type, DWORD level, size_t line,
162
                                   const char* file, const char* function, ...);
163
164
  /** @brief log something of a specified type.
165
   *  @bug For /b WLOG_MESSAGE_TEXT the format string is not validated at compile time. Use \ref
166
   * WLog_PrintTextMessageVA instead.
167
   *
168
   *  @param log A pointer to the logger to use
169
   *  @param type The type of message to log, can be any of \ref LogMessageTypes
170
   *  @param line the file line the log message originates from
171
   *  @param file the file name the log message originates from
172
   *  @param function the function name the log message originates from
173
   *
174
   *  @return \b TRUE for success, \b FALSE otherwise.
175
   */
176
  WINPR_API BOOL WLog_PrintMessageVA(wLog* log, DWORD type, DWORD level, size_t line,
177
                                     const char* file, const char* function, va_list args);
178
179
  WINPR_API wLog* WLog_GetRoot(void);
180
  WINPR_API wLog* WLog_Get(LPCSTR name);
181
  WINPR_API DWORD WLog_GetLogLevel(wLog* log);
182
  WINPR_API BOOL WLog_IsLevelActive(wLog* _log, DWORD _log_level);
183
184
  /** @brief Set a custom context for a dynamic logger.
185
   *  This can be used to print a customized prefix, e.g. some session id for a specific context
186
   *
187
   *  @param log The logger to ste the context for. Must not be \b NULL
188
   *  @param fkt A function pointer that is called to get the custimized string.
189
   *  @param context A context \b fkt is called with. Caller must ensure it is still allocated
190
   * when \b log is used
191
   *
192
   *  @return \b TRUE for success, \b FALSE otherwise.
193
   */
194
  WINPR_API BOOL WLog_SetContext(wLog* log, const char* (*fkt)(void*), void* context);
195
196
#define WLog_Print_unchecked(_log, _log_level, ...)                                         \
197
4.38M
  do                                                                                      \
198
4.38M
  {                                                                                       \
199
4.38M
    WLog_PrintTextMessage(_log, _log_level, __LINE__, __FILE__, __func__, __VA_ARGS__); \
200
4.38M
  } while (0)
201
202
#define WLog_Print(_log, _log_level, ...)                        \
203
9.72M
  do                                                           \
204
9.72M
  {                                                            \
205
9.72M
    if (WLog_IsLevelActive(_log, _log_level))                \
206
9.72M
    {                                                        \
207
4.38M
      WLog_Print_unchecked(_log, _log_level, __VA_ARGS__); \
208
4.38M
    }                                                        \
209
9.72M
  } while (0)
210
211
#define WLog_Print_tag(_tag, _log_level, ...)                 \
212
  do                                                        \
213
  {                                                         \
214
    static wLog* _log_cached_ptr = NULL;                  \
215
    if (!_log_cached_ptr)                                 \
216
      _log_cached_ptr = WLog_Get(_tag);                 \
217
    WLog_Print(_log_cached_ptr, _log_level, __VA_ARGS__); \
218
  } while (0)
219
220
#define WLog_PrintVA_unchecked(_log, _log_level, _args)                                 \
221
  do                                                                                  \
222
  {                                                                                   \
223
    WLog_PrintTextMessageVA(_log, _log_level, __LINE__, __FILE__, __func__, _args); \
224
  } while (0)
225
226
#define WLog_PrintVA(_log, _log_level, _args)                \
227
  do                                                       \
228
  {                                                        \
229
    if (WLog_IsLevelActive(_log, _log_level))            \
230
    {                                                    \
231
      WLog_PrintVA_unchecked(_log, _log_level, _args); \
232
    }                                                    \
233
  } while (0)
234
235
#define WLog_Data(_log, _log_level, ...)                                                         \
236
  do                                                                                           \
237
  {                                                                                            \
238
    if (WLog_IsLevelActive(_log, _log_level))                                                \
239
    {                                                                                        \
240
      WLog_PrintMessage(_log, WLOG_MESSAGE_DATA, _log_level, __LINE__, __FILE__, __func__, \
241
                        __VA_ARGS__);                                                      \
242
    }                                                                                        \
243
  } while (0)
244
245
#define WLog_Image(_log, _log_level, ...)                                                        \
246
  do                                                                                           \
247
  {                                                                                            \
248
    if (WLog_IsLevelActive(_log, _log_level))                                                \
249
    {                                                                                        \
250
      WLog_PrintMessage(_log, WLOG_MESSAGE_DATA, _log_level, __LINE__, __FILE__, __func__, \
251
                        __VA_ARGS__);                                                      \
252
    }                                                                                        \
253
  } while (0)
254
255
#define WLog_Packet(_log, _log_level, ...)                                                         \
256
100
  do                                                                                             \
257
100
  {                                                                                              \
258
100
    if (WLog_IsLevelActive(_log, _log_level))                                                  \
259
100
    {                                                                                          \
260
0
      WLog_PrintMessage(_log, WLOG_MESSAGE_PACKET, _log_level, __LINE__, __FILE__, __func__, \
261
0
                        __VA_ARGS__);                                                        \
262
0
    }                                                                                          \
263
100
  } while (0)
264
265
  WINPR_ATTR_FORMAT_ARG(6, 7)
266
  static inline void WLog_Print_dbg_tag(const char* WINPR_RESTRICT tag, DWORD log_level,
267
                                        size_t line, const char* file, const char* fkt,
268
                                        WINPR_FORMAT_ARG const char* fmt, ...)
269
19.4M
  {
270
19.4M
    static wLog* log_cached_ptr = NULL;
271
19.4M
    if (!log_cached_ptr)
272
73
      log_cached_ptr = WLog_Get(tag);
273
274
19.4M
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
5.19M
    {
276
5.19M
      va_list ap;
277
5.19M
      va_start(ap, fmt);
278
5.19M
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
5.19M
      va_end(ap);
280
5.19M
    }
281
19.4M
  }
Unexecuted instantiation: TestFuzzCodecs.c:WLog_Print_dbg_tag
planar.c:WLog_Print_dbg_tag
Line
Count
Source
269
9.96k
  {
270
9.96k
    static wLog* log_cached_ptr = NULL;
271
9.96k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
9.96k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
9.96k
    {
276
9.96k
      va_list ap;
277
9.96k
      va_start(ap, fmt);
278
9.96k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
9.96k
    }
281
9.96k
  }
interleaved.c:WLog_Print_dbg_tag
Line
Count
Source
269
25.0k
  {
270
25.0k
    static wLog* log_cached_ptr = NULL;
271
25.0k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
25.0k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
25.0k
    {
276
25.0k
      va_list ap;
277
25.0k
      va_start(ap, fmt);
278
25.0k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
25.0k
    }
281
25.0k
  }
progressive.c:WLog_Print_dbg_tag
Line
Count
Source
269
8.63k
  {
270
8.63k
    static wLog* log_cached_ptr = NULL;
271
8.63k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
8.63k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
8.63k
    {
276
8.63k
      va_list ap;
277
8.63k
      va_start(ap, fmt);
278
8.63k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
8.63k
    }
281
8.63k
  }
Unexecuted instantiation: rfx.c:WLog_Print_dbg_tag
region.c:WLog_Print_dbg_tag
Line
Count
Source
269
881
  {
270
881
    static wLog* log_cached_ptr = NULL;
271
881
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
881
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
881
  }
ncrush.c:WLog_Print_dbg_tag
Line
Count
Source
269
45
  {
270
45
    static wLog* log_cached_ptr = NULL;
271
45
    if (!log_cached_ptr)
272
3
      log_cached_ptr = WLog_Get(tag);
273
274
45
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
45
    {
276
45
      va_list ap;
277
45
      va_start(ap, fmt);
278
45
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
45
    }
281
45
  }
Unexecuted instantiation: xcrush.c:WLog_Print_dbg_tag
mppc.c:WLog_Print_dbg_tag
Line
Count
Source
269
4.03k
  {
270
4.03k
    static wLog* log_cached_ptr = NULL;
271
4.03k
    if (!log_cached_ptr)
272
3
      log_cached_ptr = WLog_Get(tag);
273
274
4.03k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
4.03k
    {
276
4.03k
      va_list ap;
277
4.03k
      va_start(ap, fmt);
278
4.03k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
4.03k
    }
281
4.03k
  }
Unexecuted instantiation: zgfx.c:WLog_Print_dbg_tag
clear.c:WLog_Print_dbg_tag
Line
Count
Source
269
29.2k
  {
270
29.2k
    static wLog* log_cached_ptr = NULL;
271
29.2k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
29.2k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
29.2k
    {
276
29.2k
      va_list ap;
277
29.2k
      va_start(ap, fmt);
278
29.2k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
29.2k
    }
281
29.2k
  }
rfx_sse2.c:WLog_Print_dbg_tag
Line
Count
Source
269
11.1k
  {
270
11.1k
    static wLog* log_cached_ptr = NULL;
271
11.1k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
11.1k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
11.1k
  }
Unexecuted instantiation: rfx_neon.c:WLog_Print_dbg_tag
primitives.c:WLog_Print_dbg_tag
Line
Count
Source
269
2
  {
270
2
    static wLog* log_cached_ptr = NULL;
271
2
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
2
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
2
  }
color.c:WLog_Print_dbg_tag
Line
Count
Source
269
3.34M
  {
270
3.34M
    static wLog* log_cached_ptr = NULL;
271
3.34M
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
3.34M
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
3.34M
    {
276
3.34M
      va_list ap;
277
3.34M
      va_start(ap, fmt);
278
3.34M
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
3.34M
    }
281
3.34M
  }
Unexecuted instantiation: bitmap.c:WLog_Print_dbg_tag
Unexecuted instantiation: rfx_decode.c:WLog_Print_dbg_tag
Unexecuted instantiation: rfx_dwt.c:WLog_Print_dbg_tag
Unexecuted instantiation: rfx_encode.c:WLog_Print_dbg_tag
Unexecuted instantiation: rfx_quantization.c:WLog_Print_dbg_tag
Unexecuted instantiation: rfx_rlgr.c:WLog_Print_dbg_tag
Unexecuted instantiation: nsc.c:WLog_Print_dbg_tag
Unexecuted instantiation: nsc_encode.c:WLog_Print_dbg_tag
nsc_sse2.c:WLog_Print_dbg_tag
Line
Count
Source
269
16.7k
  {
270
16.7k
    static wLog* log_cached_ptr = NULL;
271
16.7k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
16.7k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
16.7k
  }
Unexecuted instantiation: nsc_neon.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_add.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_andor.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_alphaComp.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_colors.c:WLog_Print_dbg_tag
prim_copy.c:WLog_Print_dbg_tag
Line
Count
Source
269
1.44M
  {
270
1.44M
    static wLog* log_cached_ptr = NULL;
271
1.44M
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1.44M
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
1.44M
    {
276
1.44M
      va_list ap;
277
1.44M
      va_start(ap, fmt);
278
1.44M
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
1.44M
    }
281
1.44M
  }
Unexecuted instantiation: prim_set.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_shift.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_sign.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_YUV.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_YCoCg.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_colors_neon.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_YCoCg_neon.c:WLog_Print_dbg_tag
Unexecuted instantiation: prim_YUV_neon.c:WLog_Print_dbg_tag
prim_colors_sse2.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_set_sse2.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_add_sse3.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_alphaComp_sse3.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_andor_sse3.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_shift_sse3.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_sign_ssse3.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_YCoCg_ssse3.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_copy_sse4_1.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_YUV_sse4.1.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
prim_copy_avx2.c:WLog_Print_dbg_tag
Line
Count
Source
269
1
  {
270
1
    static wLog* log_cached_ptr = NULL;
271
1
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
1
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
1
  }
Unexecuted instantiation: init.c:WLog_Print_dbg_tag
Unexecuted instantiation: sleep.c:WLog_Print_dbg_tag
Unexecuted instantiation: interlocked.c:WLog_Print_dbg_tag
Unexecuted instantiation: registry.c:WLog_Print_dbg_tag
Unexecuted instantiation: stream.c:WLog_Print_dbg_tag
Unexecuted instantiation: debug.c:WLog_Print_dbg_tag
Unexecuted instantiation: BitStream.c:WLog_Print_dbg_tag
Unexecuted instantiation: HashTable.c:WLog_Print_dbg_tag
Unexecuted instantiation: BufferPool.c:WLog_Print_dbg_tag
Unexecuted instantiation: ObjectPool.c:WLog_Print_dbg_tag
Unexecuted instantiation: wlog.c:WLog_Print_dbg_tag
Unexecuted instantiation: Appender.c:WLog_Print_dbg_tag
Unexecuted instantiation: FileAppender.c:WLog_Print_dbg_tag
Unexecuted instantiation: BinaryAppender.c:WLog_Print_dbg_tag
Unexecuted instantiation: CallbackAppender.c:WLog_Print_dbg_tag
Unexecuted instantiation: ConsoleAppender.c:WLog_Print_dbg_tag
Unexecuted instantiation: UdpAppender.c:WLog_Print_dbg_tag
Unexecuted instantiation: SyslogAppender.c:WLog_Print_dbg_tag
Unexecuted instantiation: sysinfo.c:WLog_Print_dbg_tag
Unexecuted instantiation: work.c:WLog_Print_dbg_tag
Unexecuted instantiation: pool.c:WLog_Print_dbg_tag
Unexecuted instantiation: handle.c:WLog_Print_dbg_tag
Unexecuted instantiation: apc.c:WLog_Print_dbg_tag
Unexecuted instantiation: process.c:WLog_Print_dbg_tag
Unexecuted instantiation: thread.c:WLog_Print_dbg_tag
Unexecuted instantiation: winsock.c:WLog_Print_dbg_tag
Unexecuted instantiation: alignment.c:WLog_Print_dbg_tag
Unexecuted instantiation: unicode.c:WLog_Print_dbg_tag
Unexecuted instantiation: string.c:WLog_Print_dbg_tag
Unexecuted instantiation: assert.c:WLog_Print_dbg_tag
Unexecuted instantiation: unicode_builtin.c:WLog_Print_dbg_tag
Unexecuted instantiation: critical.c:WLog_Print_dbg_tag
Unexecuted instantiation: event.c:WLog_Print_dbg_tag
Unexecuted instantiation: pollset.c:WLog_Print_dbg_tag
Unexecuted instantiation: wait.c:WLog_Print_dbg_tag
Unexecuted instantiation: generic.c:WLog_Print_dbg_tag
Unexecuted instantiation: namedPipeClient.c:WLog_Print_dbg_tag
Unexecuted instantiation: pattern.c:WLog_Print_dbg_tag
Unexecuted instantiation: file.c:WLog_Print_dbg_tag
Unexecuted instantiation: comm.c:WLog_Print_dbg_tag
Unexecuted instantiation: comm_ioctl.c:WLog_Print_dbg_tag
Unexecuted instantiation: comm_serial_sys.c:WLog_Print_dbg_tag
Unexecuted instantiation: comm_sercx_sys.c:WLog_Print_dbg_tag
Unexecuted instantiation: comm_sercx2_sys.c:WLog_Print_dbg_tag
Unexecuted instantiation: pipe.c:WLog_Print_dbg_tag
Unexecuted instantiation: environment.c:WLog_Print_dbg_tag
Unexecuted instantiation: registry_reg.c:WLog_Print_dbg_tag
Unexecuted instantiation: path.c:WLog_Print_dbg_tag
Unexecuted instantiation: shell.c:WLog_Print_dbg_tag
Unexecuted instantiation: Object.c:WLog_Print_dbg_tag
Unexecuted instantiation: Queue.c:WLog_Print_dbg_tag
Unexecuted instantiation: ArrayList.c:WLog_Print_dbg_tag
Unexecuted instantiation: CountdownEvent.c:WLog_Print_dbg_tag
Unexecuted instantiation: Layout.c:WLog_Print_dbg_tag
Unexecuted instantiation: Message.c:WLog_Print_dbg_tag
Unexecuted instantiation: DataMessage.c:WLog_Print_dbg_tag
Unexecuted instantiation: ImageMessage.c:WLog_Print_dbg_tag
Unexecuted instantiation: PacketMessage.c:WLog_Print_dbg_tag
Unexecuted instantiation: error.c:WLog_Print_dbg_tag
Unexecuted instantiation: argv.c:WLog_Print_dbg_tag
Unexecuted instantiation: nt.c:WLog_Print_dbg_tag
Unexecuted instantiation: comm_io.c:WLog_Print_dbg_tag
Unexecuted instantiation: image.c:WLog_Print_dbg_tag
Unexecuted instantiation: TestFuzzCommonAssistanceHexStringToBin.c:WLog_Print_dbg_tag
assistance.c:WLog_Print_dbg_tag
Line
Count
Source
269
85.8k
  {
270
85.8k
    static wLog* log_cached_ptr = NULL;
271
85.8k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
85.8k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
81.4k
    {
276
81.4k
      va_list ap;
277
81.4k
      va_start(ap, fmt);
278
81.4k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
81.4k
    }
281
85.8k
  }
Unexecuted instantiation: settings.c:WLog_Print_dbg_tag
Unexecuted instantiation: helpers.c:WLog_Print_dbg_tag
Unexecuted instantiation: settings_getters.c:WLog_Print_dbg_tag
Unexecuted instantiation: settings_str.c:WLog_Print_dbg_tag
Unexecuted instantiation: privatekey.c:WLog_Print_dbg_tag
certificate.c:WLog_Print_dbg_tag
Line
Count
Source
269
148
  {
270
148
    static wLog* log_cached_ptr = NULL;
271
148
    if (!log_cached_ptr)
272
3
      log_cached_ptr = WLog_Get(tag);
273
274
148
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
133
    {
276
133
      va_list ap;
277
133
      va_start(ap, fmt);
278
133
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
133
    }
281
148
  }
Unexecuted instantiation: crypto.c:WLog_Print_dbg_tag
Unexecuted instantiation: capabilities.c:WLog_Print_dbg_tag
rdp.c:WLog_Print_dbg_tag
Line
Count
Source
269
95
  {
270
95
    static wLog* log_cached_ptr = NULL;
271
95
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
95
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
95
  }
tpdu.c:WLog_Print_dbg_tag
Line
Count
Source
269
50.3k
  {
270
50.3k
    static wLog* log_cached_ptr = NULL;
271
50.3k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
50.3k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
50.3k
    {
276
50.3k
      va_list ap;
277
50.3k
      va_start(ap, fmt);
278
50.3k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
50.3k
    }
281
50.3k
  }
tpkt.c:WLog_Print_dbg_tag
Line
Count
Source
269
856
  {
270
856
    static wLog* log_cached_ptr = NULL;
271
856
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
856
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
856
    {
276
856
      va_list ap;
277
856
      va_start(ap, fmt);
278
856
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
856
    }
281
856
  }
fastpath.c:WLog_Print_dbg_tag
Line
Count
Source
269
138k
  {
270
138k
    static wLog* log_cached_ptr = NULL;
271
138k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
138k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
53.5k
    {
276
53.5k
      va_list ap;
277
53.5k
      va_start(ap, fmt);
278
53.5k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
53.5k
    }
281
138k
  }
surface.c:WLog_Print_dbg_tag
Line
Count
Source
269
9.80k
  {
270
9.80k
    static wLog* log_cached_ptr = NULL;
271
9.80k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
9.80k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
9.07k
    {
276
9.07k
      va_list ap;
277
9.07k
      va_start(ap, fmt);
278
9.07k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
9.07k
    }
281
9.80k
  }
Unexecuted instantiation: transport.c:WLog_Print_dbg_tag
update.c:WLog_Print_dbg_tag
Line
Count
Source
269
28.3k
  {
270
28.3k
    static wLog* log_cached_ptr = NULL;
271
28.3k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
28.3k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
1.41k
    {
276
1.41k
      va_list ap;
277
1.41k
      va_start(ap, fmt);
278
1.41k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
1.41k
    }
281
28.3k
  }
Unexecuted instantiation: message.c:WLog_Print_dbg_tag
Unexecuted instantiation: channels.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdstls.c:WLog_Print_dbg_tag
Unexecuted instantiation: aad.c:WLog_Print_dbg_tag
Unexecuted instantiation: timer.c:WLog_Print_dbg_tag
Unexecuted instantiation: tsg.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdg.c:WLog_Print_dbg_tag
Unexecuted instantiation: rpc.c:WLog_Print_dbg_tag
Unexecuted instantiation: rpc_bind.c:WLog_Print_dbg_tag
Unexecuted instantiation: rpc_client.c:WLog_Print_dbg_tag
Unexecuted instantiation: rpc_fault.c:WLog_Print_dbg_tag
Unexecuted instantiation: rts.c:WLog_Print_dbg_tag
Unexecuted instantiation: rts_signature.c:WLog_Print_dbg_tag
Unexecuted instantiation: http.c:WLog_Print_dbg_tag
Unexecuted instantiation: websocket.c:WLog_Print_dbg_tag
Unexecuted instantiation: wst.c:WLog_Print_dbg_tag
Unexecuted instantiation: ncacn_http.c:WLog_Print_dbg_tag
bulk.c:WLog_Print_dbg_tag
Line
Count
Source
269
1.52k
  {
270
1.52k
    static wLog* log_cached_ptr = NULL;
271
1.52k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
1.52k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
1.52k
    {
276
1.52k
      va_list ap;
277
1.52k
      va_start(ap, fmt);
278
1.52k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
1.52k
    }
281
1.52k
  }
Unexecuted instantiation: pcap.c:WLog_Print_dbg_tag
Unexecuted instantiation: ringbuffer.c:WLog_Print_dbg_tag
Unexecuted instantiation: brush.c:WLog_Print_dbg_tag
Unexecuted instantiation: pointer.c:WLog_Print_dbg_tag
Unexecuted instantiation: persistent.c:WLog_Print_dbg_tag
Unexecuted instantiation: offscreen.c:WLog_Print_dbg_tag
Unexecuted instantiation: palette.c:WLog_Print_dbg_tag
Unexecuted instantiation: glyph.c:WLog_Print_dbg_tag
Unexecuted instantiation: cache.c:WLog_Print_dbg_tag
ber.c:WLog_Print_dbg_tag
Line
Count
Source
269
3.57k
  {
270
3.57k
    static wLog* log_cached_ptr = NULL;
271
3.57k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
3.57k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
3.56k
    {
276
3.56k
      va_list ap;
277
3.56k
      va_start(ap, fmt);
278
3.56k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
3.56k
    }
281
3.57k
  }
per.c:WLog_Print_dbg_tag
Line
Count
Source
269
246
  {
270
246
    static wLog* log_cached_ptr = NULL;
271
246
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
246
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
246
    {
276
246
      va_list ap;
277
246
      va_start(ap, fmt);
278
246
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
246
    }
281
246
  }
Unexecuted instantiation: base64.c:WLog_Print_dbg_tag
x509_utils.c:WLog_Print_dbg_tag
Line
Count
Source
269
978
  {
270
978
    static wLog* log_cached_ptr = NULL;
271
978
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
978
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
978
    {
276
978
      va_list ap;
277
978
      va_start(ap, fmt);
278
978
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
978
    }
281
978
  }
Unexecuted instantiation: cert_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: tls.c:WLog_Print_dbg_tag
Unexecuted instantiation: state.c:WLog_Print_dbg_tag
Unexecuted instantiation: utils.c:WLog_Print_dbg_tag
activation.c:WLog_Print_dbg_tag
Line
Count
Source
269
16.5k
  {
270
16.5k
    static wLog* log_cached_ptr = NULL;
271
16.5k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
16.5k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
16.4k
    {
276
16.4k
      va_list ap;
277
16.4k
      va_start(ap, fmt);
278
16.4k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
16.4k
    }
281
16.5k
  }
Unexecuted instantiation: mcs.c:WLog_Print_dbg_tag
nla.c:WLog_Print_dbg_tag
Line
Count
Source
269
17.5k
  {
270
17.5k
    static wLog* log_cached_ptr = NULL;
271
17.5k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
17.5k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
184
    {
276
184
      va_list ap;
277
184
      va_start(ap, fmt);
278
184
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
184
    }
281
17.5k
  }
Unexecuted instantiation: smartcardlogon.c:WLog_Print_dbg_tag
Unexecuted instantiation: nego.c:WLog_Print_dbg_tag
info.c:WLog_Print_dbg_tag
Line
Count
Source
269
4.50k
  {
270
4.50k
    static wLog* log_cached_ptr = NULL;
271
4.50k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
4.50k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
3.28k
    {
276
3.28k
      va_list ap;
277
3.28k
      va_start(ap, fmt);
278
3.28k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
3.28k
    }
281
4.50k
  }
Unexecuted instantiation: input.c:WLog_Print_dbg_tag
Unexecuted instantiation: license.c:WLog_Print_dbg_tag
errinfo.c:WLog_Print_dbg_tag
Line
Count
Source
269
928
  {
270
928
    static wLog* log_cached_ptr = NULL;
271
928
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
928
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
928
    {
276
928
      va_list ap;
277
928
      va_start(ap, fmt);
278
928
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
928
    }
281
928
  }
Unexecuted instantiation: security.c:WLog_Print_dbg_tag
orders.c:WLog_Print_dbg_tag
Line
Count
Source
269
13.8M
  {
270
13.8M
    static wLog* log_cached_ptr = NULL;
271
13.8M
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
13.8M
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
37.4k
    {
276
37.4k
      va_list ap;
277
37.4k
      va_start(ap, fmt);
278
37.4k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
37.4k
    }
281
13.8M
  }
Unexecuted instantiation: freerdp.c:WLog_Print_dbg_tag
Unexecuted instantiation: graphics.c:WLog_Print_dbg_tag
client.c:WLog_Print_dbg_tag
Line
Count
Source
269
35.0k
  {
270
35.0k
    static wLog* log_cached_ptr = NULL;
271
35.0k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
35.0k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
127
    {
276
127
      va_list ap;
277
127
      va_start(ap, fmt);
278
127
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
127
    }
281
35.0k
  }
Unexecuted instantiation: server.c:WLog_Print_dbg_tag
Unexecuted instantiation: codecs.c:WLog_Print_dbg_tag
Unexecuted instantiation: metrics.c:WLog_Print_dbg_tag
Unexecuted instantiation: connection.c:WLog_Print_dbg_tag
redirection.c:WLog_Print_dbg_tag
Line
Count
Source
269
6.33k
  {
270
6.33k
    static wLog* log_cached_ptr = NULL;
271
6.33k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
6.33k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
5.83k
    {
276
5.83k
      va_list ap;
277
5.83k
      va_start(ap, fmt);
278
5.83k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
5.83k
    }
281
6.33k
  }
autodetect.c:WLog_Print_dbg_tag
Line
Count
Source
269
2.02k
  {
270
2.02k
    static wLog* log_cached_ptr = NULL;
271
2.02k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
2.02k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
2.02k
  }
heartbeat.c:WLog_Print_dbg_tag
Line
Count
Source
269
12.7k
  {
270
12.7k
    static wLog* log_cached_ptr = NULL;
271
12.7k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
12.7k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
12.7k
  }
multitransport.c:WLog_Print_dbg_tag
Line
Count
Source
269
18.2k
  {
270
18.2k
    static wLog* log_cached_ptr = NULL;
271
18.2k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
18.2k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
18.2k
    {
276
18.2k
      va_list ap;
277
18.2k
      va_start(ap, fmt);
278
18.2k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
18.2k
    }
281
18.2k
  }
timezone.c:WLog_Print_dbg_tag
Line
Count
Source
269
201k
  {
270
201k
    static wLog* log_cached_ptr = NULL;
271
201k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
201k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
201k
  }
Unexecuted instantiation: childsession.c:WLog_Print_dbg_tag
tcp.c:WLog_Print_dbg_tag
Line
Count
Source
269
40.1k
  {
270
40.1k
    static wLog* log_cached_ptr = NULL;
271
40.1k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
40.1k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
40.1k
    {
276
40.1k
      va_list ap;
277
40.1k
      va_start(ap, fmt);
278
40.1k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
40.1k
    }
281
40.1k
  }
Unexecuted instantiation: proxy.c:WLog_Print_dbg_tag
window.c:WLog_Print_dbg_tag
Line
Count
Source
269
4.63k
  {
270
4.63k
    static wLog* log_cached_ptr = NULL;
271
4.63k
    if (!log_cached_ptr)
272
2
      log_cached_ptr = WLog_Get(tag);
273
274
4.63k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
4.63k
    {
276
4.63k
      va_list ap;
277
4.63k
      va_start(ap, fmt);
278
4.63k
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
4.63k
    }
281
4.63k
  }
peer.c:WLog_Print_dbg_tag
Line
Count
Source
269
16.0k
  {
270
16.0k
    static wLog* log_cached_ptr = NULL;
271
16.0k
    if (!log_cached_ptr)
272
1
      log_cached_ptr = WLog_Get(tag);
273
274
16.0k
    if (WLog_IsLevelActive(log_cached_ptr, log_level))
275
0
    {
276
0
      va_list ap;
277
0
      va_start(ap, fmt);
278
0
      WLog_PrintTextMessageVA(log_cached_ptr, log_level, line, file, fkt, fmt, ap);
279
      va_end(ap);
280
0
    }
281
16.0k
  }
Unexecuted instantiation: display.c:WLog_Print_dbg_tag
Unexecuted instantiation: credssp_auth.c:WLog_Print_dbg_tag
Unexecuted instantiation: arm.c:WLog_Print_dbg_tag
Unexecuted instantiation: signal.c:WLog_Print_dbg_tag
Unexecuted instantiation: addin.c:WLog_Print_dbg_tag
Unexecuted instantiation: gdi.c:WLog_Print_dbg_tag
Unexecuted instantiation: line.c:WLog_Print_dbg_tag
Unexecuted instantiation: pen.c:WLog_Print_dbg_tag
Unexecuted instantiation: shape.c:WLog_Print_dbg_tag
Unexecuted instantiation: nine_grid.c:WLog_Print_dbg_tag
Unexecuted instantiation: certificate_data.c:WLog_Print_dbg_tag
Unexecuted instantiation: certificate_store.c:WLog_Print_dbg_tag
Unexecuted instantiation: locale.c:WLog_Print_dbg_tag
Unexecuted instantiation: streamdump.c:WLog_Print_dbg_tag
Unexecuted instantiation: gcc.c:WLog_Print_dbg_tag
Unexecuted instantiation: errbase.c:WLog_Print_dbg_tag
Unexecuted instantiation: errconnect.c:WLog_Print_dbg_tag
Unexecuted instantiation: clipping.c:WLog_Print_dbg_tag
Unexecuted instantiation: dc.c:WLog_Print_dbg_tag
Unexecuted instantiation: drawing.c:WLog_Print_dbg_tag
Unexecuted instantiation: library.c:WLog_Print_dbg_tag
Unexecuted instantiation: hash.c:WLog_Print_dbg_tag
Unexecuted instantiation: cipher.c:WLog_Print_dbg_tag
Unexecuted instantiation: io.c:WLog_Print_dbg_tag
Unexecuted instantiation: ncrypt.c:WLog_Print_dbg_tag
Unexecuted instantiation: json-c.c:WLog_Print_dbg_tag
Unexecuted instantiation: json.c:WLog_Print_dbg_tag
Unexecuted instantiation: sam.c:WLog_Print_dbg_tag
Unexecuted instantiation: print.c:WLog_Print_dbg_tag
Unexecuted instantiation: ssl.c:WLog_Print_dbg_tag
Unexecuted instantiation: PubSub.c:WLog_Print_dbg_tag
Unexecuted instantiation: ListDictionary.c:WLog_Print_dbg_tag
Unexecuted instantiation: StreamPool.c:WLog_Print_dbg_tag
Unexecuted instantiation: MessageQueue.c:WLog_Print_dbg_tag
Unexecuted instantiation: asn1.c:WLog_Print_dbg_tag
Unexecuted instantiation: sspi_winpr.c:WLog_Print_dbg_tag
Unexecuted instantiation: sspi.c:WLog_Print_dbg_tag
Unexecuted instantiation: wtsapi.c:WLog_Print_dbg_tag
Unexecuted instantiation: ncrypt_pkcs11.c:WLog_Print_dbg_tag
Unexecuted instantiation: ini.c:WLog_Print_dbg_tag
Unexecuted instantiation: TimeZoneNameMapUtils.c:WLog_Print_dbg_tag
Unexecuted instantiation: credssp.c:WLog_Print_dbg_tag
Unexecuted instantiation: ntlm.c:WLog_Print_dbg_tag
Unexecuted instantiation: kerberos.c:WLog_Print_dbg_tag
Unexecuted instantiation: krb5glue_mit.c:WLog_Print_dbg_tag
Unexecuted instantiation: negotiate.c:WLog_Print_dbg_tag
Unexecuted instantiation: schannel.c:WLog_Print_dbg_tag
Unexecuted instantiation: sspi_gss.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_pcsc.c:WLog_Print_dbg_tag
Unexecuted instantiation: ntlm_message.c:WLog_Print_dbg_tag
Unexecuted instantiation: schannel_openssl.c:WLog_Print_dbg_tag
Unexecuted instantiation: ntlm_av_pairs.c:WLog_Print_dbg_tag
Unexecuted instantiation: ntlm_compute.c:WLog_Print_dbg_tag
Unexecuted instantiation: TestFuzzCryptoCertificateDataSetPEM.c:WLog_Print_dbg_tag
Unexecuted instantiation: TestFuzzCoreServer.c:WLog_Print_dbg_tag
Unexecuted instantiation: TestFuzzCoreClient.c:WLog_Print_dbg_tag
Unexecuted instantiation: cmdline.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_cli.c:WLog_Print_dbg_tag
Unexecuted instantiation: tables.c:WLog_Print_dbg_tag
Unexecuted instantiation: drdynvc_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: remdesk_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpsnd_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpdr_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpdr_capabilities.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdp2tcp_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rail_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rail_orders.c:WLog_Print_dbg_tag
Unexecuted instantiation: encomsp_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: cliprdr_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: cliprdr_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: video_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: sshagent_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpgfx_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpgfx_codec.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpgfx_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpei_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpei_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpear_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: location_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: geometry_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: echo_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: disp_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: disp_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: audin_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: ainput_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: serial_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: parallel_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: drive_main.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpsnd_oss.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpsnd_fake.c:WLog_Print_dbg_tag
Unexecuted instantiation: audin_oss.c:WLog_Print_dbg_tag
Unexecuted instantiation: geometry.c:WLog_Print_dbg_tag
Unexecuted instantiation: generic_dynvc.c:WLog_Print_dbg_tag
Unexecuted instantiation: irp.c:WLog_Print_dbg_tag
Unexecuted instantiation: devman.c:WLog_Print_dbg_tag
Unexecuted instantiation: rail_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: cliprdr_format.c:WLog_Print_dbg_tag
Unexecuted instantiation: drive_file.c:WLog_Print_dbg_tag
Unexecuted instantiation: dsp.c:WLog_Print_dbg_tag
Unexecuted instantiation: audio.c:WLog_Print_dbg_tag
Unexecuted instantiation: h264.c:WLog_Print_dbg_tag
Unexecuted instantiation: yuv.c:WLog_Print_dbg_tag
Unexecuted instantiation: encoded_types.c:WLog_Print_dbg_tag
Unexecuted instantiation: passphrase.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpdr_utils.c:WLog_Print_dbg_tag
Unexecuted instantiation: gfx.c:WLog_Print_dbg_tag
Unexecuted instantiation: drdynvc.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_operations.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_pack.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_call.c:WLog_Print_dbg_tag
Unexecuted instantiation: video.c:WLog_Print_dbg_tag
Unexecuted instantiation: keyboard_layout.c:WLog_Print_dbg_tag
Unexecuted instantiation: keyboard.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_emulate.c:WLog_Print_dbg_tag
Unexecuted instantiation: smartcard_virtual_gids.c:WLog_Print_dbg_tag
Unexecuted instantiation: LinkedList.c:WLog_Print_dbg_tag
Unexecuted instantiation: sspicli.c:WLog_Print_dbg_tag
Unexecuted instantiation: clipboard.c:WLog_Print_dbg_tag
Unexecuted instantiation: synthetic_file.c:WLog_Print_dbg_tag
Unexecuted instantiation: synthetic.c:WLog_Print_dbg_tag
Unexecuted instantiation: remdesk_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: ndr.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpear_asn1.c:WLog_Print_dbg_tag
Unexecuted instantiation: rdpear_common.c:WLog_Print_dbg_tag
Unexecuted instantiation: TestFuzzCommonAssistanceParseFileBuffer.c:WLog_Print_dbg_tag
Unexecuted instantiation: TestFuzzCommonAssistanceBinToHexString.c:WLog_Print_dbg_tag
282
283
#define WLog_LVL(tag, lvl, ...) \
284
0
  WLog_Print_dbg_tag(tag, lvl, __LINE__, __FILE__, __func__, __VA_ARGS__)
285
#define WLog_VRB(tag, ...) \
286
2.99M
  WLog_Print_dbg_tag(tag, WLOG_TRACE, __LINE__, __FILE__, __func__, __VA_ARGS__)
287
#define WLog_DBG(tag, ...) \
288
11.2M
  WLog_Print_dbg_tag(tag, WLOG_DEBUG, __LINE__, __FILE__, __func__, __VA_ARGS__)
289
#define WLog_INFO(tag, ...) \
290
6.08k
  WLog_Print_dbg_tag(tag, WLOG_INFO, __LINE__, __FILE__, __func__, __VA_ARGS__)
291
#define WLog_WARN(tag, ...) \
292
83.3k
  WLog_Print_dbg_tag(tag, WLOG_WARN, __LINE__, __FILE__, __func__, __VA_ARGS__)
293
#define WLog_ERR(tag, ...) \
294
5.10M
  WLog_Print_dbg_tag(tag, WLOG_ERROR, __LINE__, __FILE__, __func__, __VA_ARGS__)
295
#define WLog_FATAL(tag, ...) \
296
0
  WLog_Print_dbg_tag(tag, WLOG_FATAL, __LINE__, __FILE__, __func__, __VA_ARGS__)
297
298
  WINPR_API BOOL WLog_SetLogLevel(wLog* log, DWORD logLevel);
299
  WINPR_API BOOL WLog_SetStringLogLevel(wLog* log, LPCSTR level);
300
  WINPR_API BOOL WLog_AddStringLogFilters(LPCSTR filter);
301
302
  WINPR_API BOOL WLog_SetLogAppenderType(wLog* log, DWORD logAppenderType);
303
  WINPR_API wLogAppender* WLog_GetLogAppender(wLog* log);
304
  WINPR_API BOOL WLog_OpenAppender(wLog* log);
305
  WINPR_API BOOL WLog_CloseAppender(wLog* log);
306
  WINPR_API BOOL WLog_ConfigureAppender(wLogAppender* appender, const char* setting, void* value);
307
308
  WINPR_API wLogLayout* WLog_GetLogLayout(wLog* log);
309
  WINPR_API BOOL WLog_Layout_SetPrefixFormat(wLog* log, wLogLayout* layout, const char* format);
310
311
#if defined(WITH_WINPR_DEPRECATED)
312
  /** Deprecated */
313
  WINPR_DEPRECATED(WINPR_API BOOL WLog_Init(void));
314
  /** Deprecated */
315
  WINPR_DEPRECATED(WINPR_API BOOL WLog_Uninit(void));
316
#endif
317
318
  typedef BOOL (*wLogCallbackMessage_t)(const wLogMessage* msg);
319
  typedef BOOL (*wLogCallbackData_t)(const wLogMessage* msg);
320
  typedef BOOL (*wLogCallbackImage_t)(const wLogMessage* msg);
321
  typedef BOOL (*wLogCallbackPackage_t)(const wLogMessage* msg);
322
323
  typedef struct
324
  {
325
    wLogCallbackData_t data;
326
    wLogCallbackImage_t image;
327
    wLogCallbackMessage_t message;
328
    wLogCallbackPackage_t package;
329
  } wLogCallbacks;
330
331
#ifdef __cplusplus
332
}
333
#endif
334
335
#endif /* WINPR_WLOG_H */