From 57b365920b0c0aff282cd439c54fe4145279314b Mon Sep 17 00:00:00 2001 From: Elias Aebi Date: Thu, 19 Sep 2024 12:01:09 +0200 Subject: [PATCH] windows: normalize command line paths --- gral_windows.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gral_windows.cpp b/gral_windows.cpp index d8fcc77..f31bba9 100644 --- a/gral_windows.cpp +++ b/gral_windows.cpp @@ -16,6 +16,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI #include #include #include +#include #include #include #include @@ -541,8 +542,14 @@ int gral_application_run(gral_application *application, int argc_, char **argv_) int argc; LPWSTR *argv = CommandLineToArgvW(GetCommandLine(), &argc); if (argc > 1) { + DWORD current_directory_length = GetCurrentDirectory(0, NULL); + Buffer current_directory(current_directory_length); + GetCurrentDirectory(current_directory_length, current_directory); for (int i = 1; i < argc; i++) { - application->iface.open_file(utf16_to_utf8(argv[i]), application->user_data); + PWSTR path; + PathAllocCombine(current_directory, argv[i], PATHCCH_NONE, &path); + application->iface.open_file(utf16_to_utf8(path), application->user_data); + LocalFree(path); } } else {