diff options
Diffstat (limited to 'player')
-rw-r--r-- | player/main-fn-unix.c (renamed from player/main_fn.c) | 0 | ||||
-rw-r--r-- | player/main-fn-win.c | 20 | ||||
-rw-r--r-- | player/main.c | 12 |
3 files changed, 24 insertions, 8 deletions
diff --git a/player/main_fn.c b/player/main-fn-unix.c index 23a047b4dc..23a047b4dc 100644 --- a/player/main_fn.c +++ b/player/main-fn-unix.c diff --git a/player/main-fn-win.c b/player/main-fn-win.c new file mode 100644 index 0000000000..125b4116f8 --- /dev/null +++ b/player/main-fn-win.c @@ -0,0 +1,20 @@ +#include "config.h" +#include "core.h" +#include "osdep/io.h" + +int wmain(int argc, wchar_t *argv[]); + +// mpv does its own wildcard expansion in the option parser +int _dowildcard = 0; + +int wmain(int argc, wchar_t *argv[]) +{ + char **argv_u8 = talloc_zero_array(NULL, char*, argc + 1); + for (int i = 0; i < argc; i++) + argv_u8[i] = mp_to_utf8(argv_u8, argv[i]); + + int ret = mpv_main(argc, argv_u8); + + talloc_free(argv_u8); + return ret; +} diff --git a/player/main.c b/player/main.c index c517e871f6..55f5ff623b 100644 --- a/player/main.c +++ b/player/main.c @@ -275,19 +275,15 @@ static bool handle_help_options(struct MPContext *mpctx) return opt_exit; } -static void osdep_preinit(int *p_argc, char ***p_argv) +static void osdep_preinit(int argc, char **argv) { char *enable_talloc = getenv("MPV_LEAK_REPORT"); - if (*p_argc > 1 && (strcmp((*p_argv)[1], "-leak-report") == 0 || - strcmp((*p_argv)[1], "--leak-report") == 0)) + if (argc > 1 && (strcmp(argv[1], "-leak-report") == 0 || + strcmp(argv[1], "--leak-report") == 0)) enable_talloc = "1"; if (enable_talloc && strcmp(enable_talloc, "1") == 0) talloc_enable_leak_report(); -#ifdef __MINGW32__ - mp_get_converted_argv(p_argc, p_argv); -#endif - #ifdef _WIN32 // stop Windows from showing all kinds of annoying error dialogs SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX); @@ -514,7 +510,7 @@ int mp_initialize(struct MPContext *mpctx, char **options) int mpv_main(int argc, char *argv[]) { - osdep_preinit(&argc, &argv); + osdep_preinit(argc, argv); struct MPContext *mpctx = mp_create(); struct MPOpts *opts = mpctx->opts; |