pacat: Enable binary mode on Windows.

Without this reading from stdin will eventually end with EOF (if there happens
to be a newline sign in the stream), because read() returns 0.

This patch fixes raw data input and piping to pacat on Windows.
This commit is contained in:
Thomas Martitz 2012-08-20 23:50:35 +02:00 committed by Arun Raghavan
parent 0b72a87c26
commit c1637652ea

View file

@ -1129,6 +1129,10 @@ int main(int argc, char *argv[]) {
pa_disable_sigpipe();
if (raw) {
#ifdef OS_IS_WIN32
/* need to turn on binary mode for stdio io. Windows, meh */
setmode(mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO, O_BINARY);
#endif
if (!(stdio_event = mainloop_api->io_new(mainloop_api,
mode == PLAYBACK ? STDIN_FILENO : STDOUT_FILENO,
mode == PLAYBACK ? PA_IO_EVENT_INPUT : PA_IO_EVENT_OUTPUT,