]> git.proxmox.com Git - mirror_qemu.git/blame - qga/vss-win32/vss-debug.cpp
QGA VSS: Add wrapper to send log to debugger and stderr
[mirror_qemu.git] / qga / vss-win32 / vss-debug.cpp
CommitLineData
925d05d3
KK
1/*
2 * QEMU Guest Agent VSS debug declarations
3 *
4 * Copyright (C) 2023 Red Hat Inc
5 *
6 * Authors:
7 * Konstantin Kostiuk <kkostiuk@redhat.com>
8 *
9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10 * See the COPYING file in the top-level directory.
11 */
12
13#include "qemu/osdep.h"
14#include "vss-debug.h"
15#include "vss-common.h"
16
17void qga_debug_internal(const char *funcname, const char *fmt, ...)
18{
19 char user_string[512] = {0};
20 char full_string[640] = {0};
21
22 va_list args;
23 va_start(args, fmt);
24 if (vsnprintf(user_string, _countof(user_string), fmt, args) <= 0) {
25 va_end(args);
26 return;
27 }
28
29 va_end(args);
30
31 if (snprintf(full_string, _countof(full_string),
32 QGA_PROVIDER_NAME "[%lu]: %s %s\n",
33 GetCurrentThreadId(), funcname, user_string) <= 0) {
34 return;
35 }
36
37 OutputDebugString(full_string);
38 fputs(full_string, stderr);
39}