diff -ur autosp-2018-02-23/autosp.c autosp-src/autosp.c
--- autosp-2018-02-23/autosp.c	Fri Feb 23 23:55:07 2018
+++ autosp-src/autosp.c	Mon Mar 12 17:58:18 2018
@@ -510,7 +510,7 @@
     update_global_skip (n);
       /* commas will be discarded by filter_output (i) */
     if (*s == '.' && new_beaming == 0 && !dottedbeamnotes) 
-      spacing = spacing * 1.50; 
+      spacing = (int)(spacing * 1.50); 
     else if ( (*s == '^' || *s == '_' || *s == '=' || *s == '>') 
               && !vspacing_active[i]  /* is additional spacing needed? */
             )
@@ -984,7 +984,7 @@
    || prefix ("\\qbpp", s) 
    || prefix ("\\dspp", s) 
    || doubledotted  )
-  { spacing *= 1.75; doubledotted = false;}
+  { spacing = (int)(spacing * 1.75); doubledotted = false;}
   else 
   if (prefix ("\\whp", s)
    || prefix ("\\hup", s)
@@ -1008,7 +1008,7 @@
    || prefix ("\\qbp", s) 
    || prefix ("\\dsp", s) 
     || dotted  ) 
-  { spacing *= 1.5; dotted = false; }
+  { spacing = (int)(spacing * 1.5); dotted = false; }
 
   t = strpbrk (s+1, "{\\&|$"); /* collective coding?  */
   if (*t == '{')  /*  {...}  */
@@ -2007,7 +2007,7 @@
          || prefix ("\\end%", *ln) 
          || prefix ("\\end{document}", *ln) )
   {
-    fprintf (outfile, *ln);
+    fprintf (outfile, "%s", *ln);
     exit(0);
   }
 
@@ -2054,7 +2054,8 @@
   while ( c != EOF )
   {
     ungetc (c, infile);
-    fgets(line, LINE_LEN, infile); 
+    if (fgets(line, LINE_LEN, infile) == NULL)
+      error ("Unexpected EOF.");
     lineno++;
     process_line ();
     c = getc (infile);
@@ -2153,7 +2154,7 @@
   }
   else
   {
-    outfile = fopen (outfilename, "w");
+    outfile = fopen (outfilename, "wb");
     if (outfile == NULL)
     { printf ("Can't open %s\n", outfilename);
       exit (EXIT_FAILURE);
@@ -2171,7 +2172,7 @@
   *logfilename_n = '\0';
   append (logfilename, &logfilename_n, "alog", sizeof (logfilename));
   if (debug)  
-  { logfile = fopen (logfilename, "w");
+  { logfile = fopen (logfilename, "wb");
     if (logfile == NULL)
     { printf ("Can't open %s\n", logfilename);
       exit (EXIT_FAILURE);
diff -ur autosp-2018-02-23/rebar.c autosp-src/rebar.c
--- autosp-2018-02-23/rebar.c	Thu Jun 15 03:08:12 2017
+++ autosp-src/rebar.c	Sat Feb 24 08:08:28 2018
@@ -262,7 +262,7 @@
       else
         append (outfilename, &outfilename_n, ".aspc", sizeof (outfilename));
     }
-    outfile = fopen (outfilename, "w");
+    outfile = fopen (outfilename, "wb");
     if (outfile == NULL)
     { fprintf (stderr,"Can't open %s\n", outfilename);
       exit (EXIT_FAILURE);
diff -ur autosp-2018-02-23/tex2aspc.c autosp-src/tex2aspc.c
--- autosp-2018-02-23/tex2aspc.c	Sat Dec 16 00:04:13 2017
+++ autosp-src/tex2aspc.c	Sat Feb 24 08:08:56 2018
@@ -337,7 +337,7 @@
     append (outfilename, &outfilename_n, ".aspc", sizeof (outfilename));
   }
 
-  outfile = fopen (outfilename, "w");
+  outfile = fopen (outfilename, "wb");
   if (outfile == NULL)
   { printf ("Can't open %s\n", outfilename);
     exit (EXIT_FAILURE);
