Merge pull request #229 from tpambor/win-piping

Fix piping on windows
diff --git a/iceprog/iceprog.c b/iceprog/iceprog.c
index bae9e71..aaba285 100644
--- a/iceprog/iceprog.c
+++ b/iceprog/iceprog.c
@@ -35,6 +35,11 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
+#ifdef _WIN32
+#include <io.h> /* _setmode() */
+#include <fcntl.h> /* _O_BINARY */
+#endif
+
 #include "mpsse.h"
 
 static bool verbose = false;
@@ -523,6 +528,11 @@
 	const char *devstr = NULL;
 	int ifnum = 0;
 
+#ifdef _WIN32
+	_setmode(_fileno(stdin), _O_BINARY);
+	_setmode(_fileno(stdout), _O_BINARY);
+#endif
+
 	static struct option long_options[] = {
 		{"help", no_argument, NULL, -2},
 		{NULL, 0, NULL, 0}