diff options
author | 2020-11-04 12:24:46 +0100 | |
---|---|---|
committer | 2020-11-04 13:21:43 +0100 | |
commit | 9c349273f5d8f4aa836dda86d6e936c6b034928a (patch) | |
tree | 5bb5edb4d4ecfbbcf69a787450970aaaad27c846 /api/logger.h | |
parent | api: include the rundll32 helpers the MSVC-typical way (diff) | |
download | wintun-9c349273f5d8f4aa836dda86d6e936c6b034928a.tar.xz wintun-9c349273f5d8f4aa836dda86d6e936c6b034928a.zip |
api: concatenate function name at runtime
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'api/logger.h')
-rw-r--r-- | api/logger.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/api/logger.h b/api/logger.h index 0affdc3..b0458c5 100644 --- a/api/logger.h +++ b/api/logger.h @@ -16,29 +16,23 @@ extern WINTUN_LOGGER_CALLBACK_FUNC Logger; void WINAPI WintunSetLogger(_In_ WINTUN_LOGGER_CALLBACK_FUNC NewLogger); -static inline _Post_equals_last_error_ DWORD -LoggerLog(_In_ WINTUN_LOGGER_LEVEL Level, _In_z_ const WCHAR *LogLine) -{ - DWORD LastError = GetLastError(); - Logger(Level, LogLine); - SetLastError(LastError); - return LastError; -} +_Post_equals_last_error_ DWORD +LoggerLog(_In_ WINTUN_LOGGER_LEVEL Level, _In_z_ const WCHAR *Function, _In_z_ const WCHAR *LogLine); _Post_equals_last_error_ DWORD -LoggerError(_In_z_ const WCHAR *Prefix, _In_ DWORD Error); +LoggerError(_In_z_ const WCHAR *Function, _In_z_ const WCHAR *Prefix, _In_ DWORD Error); static inline _Post_equals_last_error_ DWORD -LoggerLastError(_In_z_ const WCHAR *Prefix) +LoggerLastError(_In_z_ const WCHAR *Function, _In_z_ const WCHAR *Prefix) { DWORD LastError = GetLastError(); - LoggerError(Prefix, LastError); + LoggerError(Prefix, Function, LastError); SetLastError(LastError); return LastError; } #define __L(x) L##x #define _L(x) __L(x) -#define LOG(lvl, msg) (LoggerLog((lvl), _L(__FUNCTION__) L": " msg)) -#define LOG_ERROR(msg, err) (LoggerError(_L(__FUNCTION__) L": " msg, (err))) -#define LOG_LAST_ERROR(msg) (LoggerLastError(_L(__FUNCTION__) L": " msg)) +#define LOG(lvl, msg) (LoggerLog((lvl), _L(__FUNCTION__), msg)) +#define LOG_ERROR(msg, err) (LoggerError(_L(__FUNCTION__), msg, (err))) +#define LOG_LAST_ERROR(msg) (LoggerLastError(_L(__FUNCTION__), msg)) |