mpv/osdep
James Ross-Gowan 30bbcd6452 win32: fix console output with raw stdio functions
reopen_console_handle() was never properly tested because mpv overrides
printf in most source files. Turns out that when there's no console on
startup, the CRT sets the fds of stdout and stderr to -2, so the old
method of using dup2 to manipulate these fds didn't work. As far as I
can tell, the only way to give stdout and stderr valid fds is to use
freopen, so this uses freopen to set them both to the console output.
This also uses dup2 to change STDOUT_FILENO and STDERR_FILENO, so low-
level functions like isatty still work.

Note that this means fileno(stdout) != STDOUT_FILENO. I don't think this
will cause any problems.

This should fix MPV_LEAK_REPORT on the Windows console.
2015-12-06 02:37:38 +11:00
..
ar
win32
atomics.h
compiler.h
endian.h
glob-win.c
io.c
io.h
macosx_application.h
macosx_application.m
macosx_application_objc.h
macosx_compat.h
macosx_events.h
macosx_events.m
macosx_events_objc.h
macosx_versions.h
main-fn-cocoa.c
main-fn-unix.c
main-fn-win.c
main-fn.h
mpv.exe.manifest
mpv.rc
path-macosx.m
path-unix.c
path-win.c
path.h
semaphore.h
semaphore_osx.c
subprocess-posix.c
subprocess-win.c
subprocess.c
subprocess.h
terminal-unix.c
terminal-win.c
terminal.h
threads.c
threads.h
timer-darwin.c
timer-linux.c
timer-win2.c
timer.c
timer.h
w32_keyboard.c
w32_keyboard.h
win32-console-wrapper.c