1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-21 18:57:35 +00:00

win32: remove -municode from mpv binary

If this is used, the runtime expects that wmain() instead of main() is
defined. This caused me severe problems in a certain now irrelevant
case. I think it's a good idea to avoid this special case.

We can just use main() and call GetCommandLineW() instead. This function
returns a single string, so use CommandLineToArgvW() to split it, and
hope it has the same semantics. Should this ever return NULL, hope that
it leaves argc at 0.

Untested, I think.
This commit is contained in:
wm4 2019-06-30 01:29:06 +02:00
parent 3e22ed46b4
commit 943fc88989
2 changed files with 7 additions and 9 deletions

View File

@ -11,11 +11,6 @@
#include "osdep/terminal.h"
#include "osdep/main-fn.h"
int wmain(int argc, wchar_t *argv[]);
// mpv does its own wildcard expansion in the option parser
int _dowildcard = 0;
static bool is_valid_handle(HANDLE h)
{
return h != INVALID_HANDLE_VALUE && h != NULL &&
@ -48,7 +43,7 @@ static void microsoft_nonsense(void)
pSetSearchPathMode(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE);
}
int wmain(int argc, wchar_t *argv[])
int main(int argc_, char **argv_)
{
microsoft_nonsense();
@ -61,11 +56,14 @@ int wmain(int argc, wchar_t *argv[])
// is expecting mpv to show some UI, so enable the pseudo-GUI profile.
bool gui = !has_console && !has_redirected_stdio();
int argc = 0;
wchar_t **argv = CommandLineToArgvW(GetCommandLineW(), &argc);
int argv_len = 0;
char **argv_u8 = NULL;
// Build mpv's UTF-8 argv, and add the pseudo-GUI profile if necessary
if (argv[0])
if (argc > 0 && argv[0])
MP_TARRAY_APPEND(NULL, argv_u8, argv_len, mp_to_utf8(argv_u8, argv[0]));
if (gui) {
MP_TARRAY_APPEND(NULL, argv_u8, argv_len,

View File

@ -63,8 +63,8 @@ def __add_mswin_flags__(ctx):
def __add_mingw_flags__(ctx):
__add_mswin_flags__(ctx)
ctx.env.CFLAGS += ['-municode', '-D__USE_MINGW_ANSI_STDIO=1']
ctx.env.LAST_LINKFLAGS += ['-municode', '-mwindows']
ctx.env.CFLAGS += ['-D__USE_MINGW_ANSI_STDIO=1']
ctx.env.LAST_LINKFLAGS += ['-mwindows']
def __add_cygwin_flags__(ctx):
__add_mswin_flags__(ctx)