mirror of
https://github.com/Metabolix/HackBGRT.git
synced 2026-04-11 12:41:38 -07:00
Gather log during boot
This commit is contained in:
27
src/util.c
27
src/util.c
@@ -14,8 +14,31 @@ const CHAR16* TmpStr(CHAR8 *src, int length) {
|
||||
return dest;
|
||||
}
|
||||
|
||||
UINTN NullPrint(IN CONST CHAR16 *fmt, ...) {
|
||||
return 0;
|
||||
#define log_buffer_size (65536)
|
||||
CHAR16 log_buffer[log_buffer_size] = {0};
|
||||
|
||||
CHAR16 LogVarName[] = L"HackBGRTLog";
|
||||
EFI_GUID LogVarGuid = {0x03c64761, 0x075f, 0x4dba, {0xab, 0xfb, 0x2e, 0xd8, 0x9e, 0x18, 0xb2, 0x36}}; // self-made: 03c64761-075f-4dba-abfb-2ed89e18b236
|
||||
|
||||
void Log(int print, IN CONST CHAR16 *fmt, ...) {
|
||||
va_list args;
|
||||
CHAR16 buf[256];
|
||||
va_start(args, fmt);
|
||||
VSPrint(buf, sizeof(buf), fmt, args); // size is in bytes, not CHAR16s
|
||||
va_end(args);
|
||||
if (print) {
|
||||
Print(L"%s", buf);
|
||||
}
|
||||
StrnCat(log_buffer, buf, log_buffer_size - StrLen(log_buffer) - 1);
|
||||
LibSetVariable(LogVarName, &LogVarGuid, StrLen(log_buffer) * 2, log_buffer);
|
||||
}
|
||||
|
||||
void DumpLog(void) {
|
||||
Print(L"%s", log_buffer);
|
||||
}
|
||||
|
||||
void ClearLogVariable(void) {
|
||||
LibDeleteVariable(LogVarName, &LogVarGuid);
|
||||
}
|
||||
|
||||
const CHAR16* TrimLeft(const CHAR16* s) {
|
||||
|
||||
Reference in New Issue
Block a user