[idd] debug: full Unicode handling and log as UTF-8

This commit makes `CDebug` use Unicode internally instead of whatever
random code page is in use. It also gets rid of the horrible character
counting and replaces that with `vasprintf` and `vaswprintf` helpers
(partially inspired by Linux) which allocates a buffer.

For HRESULT logging, the error code in both hex and decimal are included.

The output is now guaranteed to be UTF-8.
This commit is contained in:
Quantum
2025-09-14 04:42:21 -04:00
committed by Geoffrey McRae
parent e2bc1856b6
commit daa78bcf47
4 changed files with 203 additions and 122 deletions

View File

@@ -1,4 +1,4 @@
/**
/**
* Looking Glass
* Copyright © 2017-2025 The Looking Glass Authors
* https://looking-glass.io
@@ -28,7 +28,7 @@
NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath)
{
g_debug.Init("looking-glass-idd");
g_debug.Init(L"looking-glass-idd");
DEBUG_INFO("Looking Glass IDD Driver (" LG_VERSION_STR ")");
NTSTATUS status = STATUS_SUCCESS;