Index: /libmpc/trunk/mpcdec/mpcdec.c
===================================================================
--- /libmpc/trunk/mpcdec/mpcdec.c	(revision 363)
+++ /libmpc/trunk/mpcdec/mpcdec.c	(revision 364)
@@ -45,4 +45,12 @@
 #endif
 
+#ifdef WIN32
+# include <fcntl.h>
+# include <io.h>
+# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
+#else
+# define SET_BINARY_MODE(file)
+#endif 
+
 #define MPCDEC_MAJOR 0
 #define MPCDEC_MINOR 9
@@ -140,7 +148,8 @@
     }
 
-	if (strcmp(argv[optind], "-") == 0)
+	if (strcmp(argv[optind], "-") == 0) {
+		SET_BINARY_MODE(stdin);
 		err = mpc_reader_init_stdio_stream(& reader, stdin);
-	else
+	} else
 		err = mpc_reader_init_stdio(&reader, argv[optind]);
     if(err < 0) return !MPC_STATUS_OK;
@@ -165,7 +174,8 @@
         wavo_fc.m_seek      = mpc_wav_output_seek;
         wavo_fc.m_write     = mpc_wav_output_write;
-	    if (strcmp(argv[optind + 1], "-") == 0)
+		if (strcmp(argv[optind + 1], "-") == 0) {
+			SET_BINARY_MODE(stdout);
 		    wavo_fc.m_user_data = stdout;
-	    else
+		} else
 			wavo_fc.m_user_data = fopen(argv[optind + 1], "wb");
         if(!wavo_fc.m_user_data) return !MPC_STATUS_OK;
