util/lib.c: Add module file path utility

This commit is contained in:
2021-10-25 09:30:34 +00:00
committed by Hay1tsme
parent 3c803e2db4
commit 6576af5a86
3 changed files with 36 additions and 0 deletions

29
util/lib.c Normal file
View File

@ -0,0 +1,29 @@
#include <windows.h>
#include <stdbool.h>
wchar_t *module_file_name(HMODULE module)
{
size_t buf_len;
DWORD len;
wchar_t *buf;
buf_len = MAX_PATH;
buf = malloc(buf_len * sizeof(*buf));
while (true) {
len = GetModuleFileNameW(module, buf, buf_len);
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
buf_len = len;
buf = realloc(buf, buf_len * sizeof(*buf));
break;
}
buf_len *= 2;
buf = realloc(buf, buf_len * sizeof(*buf));
}
return buf;
}