* support/makebin/makebin.c: put output in binary mode
authorepetrich <epetrich@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 14 Dec 2003 03:04:37 +0000 (03:04 +0000)
committerepetrich <epetrich@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 14 Dec 2003 03:04:37 +0000 (03:04 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3057 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
support/makebin/makebin.c

index b57670662efc4d8a3914424aec42a55593f619c4..23ae88a1277decf3a433ffe626b1f116d6a2dae7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * support/makebin/makebin.c: put output in binary mode
+
 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann@web.de>
 
        * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears 
index 79ecf2f30f76699cbf45348cd1dba04ef8ee0b81..83d4ec6990991627f4fd0a36cbfd6f1a230e881d 100644 (file)
@@ -5,6 +5,12 @@
 #include <stdlib.h>
 #include <string.h>
 
+#if defined(__BORLANDC__) || defined(__MINGW32__) || defined(__CYGWIN__)
+  #include <fcntl.h>
+  #include <io.h>
+#endif
+
+
 typedef unsigned char BYTE;
 
 #define FILL_BYTE 0xFF
@@ -30,6 +36,14 @@ void usage(void)
           "Usage: makebin [-p] [-s romsize] [-h]\n");
 }
 
+void fixStdout(void)
+{
+  #if defined(__BORLANDC__) || defined(__MINGW32__) || defined(__CYGWIN__)
+    setmode(fileno(stdout), O_BINARY);
+  #endif
+}
+
+
 int main(int argc, char **argv)
 {
     int size = 32768, pack = 0, real_size = 0;
@@ -40,6 +54,8 @@ int main(int argc, char **argv)
     argc--;
     argv++;
 
+    fixStdout();
+    
     while (argc--) {
         if (**argv != '-') {
             usage();