fix retrieval of program path for MinGW builds without sdl
force usage of "W" functions when not compiled with -DUNICODE
This commit is contained in:
parent
cb78ac6136
commit
fdb317ebdf
14
src/main.c
14
src/main.c
@ -1391,9 +1391,9 @@ int main(int argc,char * argv[])
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#if defined(WIN32) && !defined(USE_SDL) && !defined(USE_SDL2)
|
#if defined(WIN32) && !defined(USE_SDL) && !defined(USE_SDL2)
|
||||||
TCHAR ModuleFileName[MAX_PATH];
|
WCHAR ModuleFileName[MAX_PATH];
|
||||||
TCHAR TmpArg[MAX_PATH];
|
WCHAR TmpArg[MAX_PATH];
|
||||||
TCHAR ShortFileName[MAX_PATH];
|
WCHAR ShortFileName[MAX_PATH];
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
int inquote = 0;
|
int inquote = 0;
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
@ -1401,12 +1401,12 @@ int main(int argc,char * argv[])
|
|||||||
char * argv[64] = {NULL};
|
char * argv[64] = {NULL};
|
||||||
|
|
||||||
Init_Win32(hInstance, hPrevInstance);
|
Init_Win32(hInstance, hPrevInstance);
|
||||||
if (GetModuleFileName(NULL, ModuleFileName, MAX_PATH) == 0)
|
if (GetModuleFileNameW(NULL, ModuleFileName, MAX_PATH) == 0)
|
||||||
{
|
{
|
||||||
MessageBoxA(NULL, "Error initializing program", NULL, MB_OK | MB_ICONERROR);
|
MessageBoxA(NULL, "Error initializing program", NULL, MB_OK | MB_ICONERROR);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
GetShortPathName(ModuleFileName, ShortFileName, MAX_PATH);
|
GetShortPathNameW(ModuleFileName, ShortFileName, MAX_PATH);
|
||||||
argv[argc++] = arg_buffer;
|
argv[argc++] = arg_buffer;
|
||||||
for (i = 0; i < (int)sizeof(arg_buffer); )
|
for (i = 0; i < (int)sizeof(arg_buffer); )
|
||||||
{
|
{
|
||||||
@ -1435,7 +1435,7 @@ int main(int argc,char * argv[])
|
|||||||
{ // next argument
|
{ // next argument
|
||||||
TmpArg[k++] = '\0';
|
TmpArg[k++] = '\0';
|
||||||
argv[argc++] = arg_buffer + i;
|
argv[argc++] = arg_buffer + i;
|
||||||
if (GetShortPathName(TmpArg, ShortFileName, MAX_PATH) > 0)
|
if (GetShortPathNameW(TmpArg, ShortFileName, MAX_PATH) > 0)
|
||||||
{
|
{
|
||||||
for (k = 0; ShortFileName[k] != 0; k++)
|
for (k = 0; ShortFileName[k] != 0; k++)
|
||||||
arg_buffer[i++] = ShortFileName[k];
|
arg_buffer[i++] = ShortFileName[k];
|
||||||
@ -1456,7 +1456,7 @@ int main(int argc,char * argv[])
|
|||||||
if (k > 0)
|
if (k > 0)
|
||||||
{
|
{
|
||||||
argv[argc++] = arg_buffer + i;
|
argv[argc++] = arg_buffer + i;
|
||||||
if (GetShortPathName(TmpArg, ShortFileName, MAX_PATH) > 0)
|
if (GetShortPathNameW(TmpArg, ShortFileName, MAX_PATH) > 0)
|
||||||
{
|
{
|
||||||
for (k = 0; ShortFileName[k] != 0; k++)
|
for (k = 0; ShortFileName[k] != 0; k++)
|
||||||
arg_buffer[i++] = ShortFileName[k];
|
arg_buffer[i++] = ShortFileName[k];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user