From 893ef857d7b24eb76d266a86be9f5a2bc9ac10dd Mon Sep 17 00:00:00 2001 From: vylsaz Date: Sun, 4 Feb 2024 02:45:25 +0000 Subject: [PATCH] Add comments --- src/utils/file.c | 2 ++ src/windows/winError.c | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/utils/file.c b/src/utils/file.c index c668b4f5..ae7fb164 100644 --- a/src/utils/file.c +++ b/src/utils/file.c @@ -318,6 +318,8 @@ B mmap_file(B path) { thrM("failed to mmap file"); } #else + // see https://learn.microsoft.com/en-us/windows/win32/memory/creating-a-view-within-a-file + HANDLE hFile = CreateFileA( p, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); diff --git a/src/windows/winError.c b/src/windows/winError.c index 67d2ca41..e89fb429 100644 --- a/src/windows/winError.c +++ b/src/windows/winError.c @@ -1,11 +1,13 @@ #include +// memory is allocated and should be freed with LocalFree() +// for now this memory is leaked static char* winErrorEx(DWORD dwError) { char* buffer = NULL; - DWORD dwFlags = FORMAT_MESSAGE_MAX_WIDTH_MASK - | FORMAT_MESSAGE_ALLOCATE_BUFFER - | FORMAT_MESSAGE_FROM_SYSTEM - | FORMAT_MESSAGE_IGNORE_INSERTS; + DWORD dwFlags = FORMAT_MESSAGE_MAX_WIDTH_MASK // no newlines + | FORMAT_MESSAGE_ALLOCATE_BUFFER // allocate memory + | FORMAT_MESSAGE_FROM_SYSTEM // get error message + | FORMAT_MESSAGE_IGNORE_INSERTS; // no argument (NULL) DWORD dwResult = FormatMessageA(dwFlags, NULL, dwError, 0, (LPSTR)&buffer, 0, NULL); if (dwResult==0 || buffer==NULL) { fatal("Failed to get error message from FormatMessageA()");