Home | History | Annotate | Download | only in msdos
      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 #include <stdarg.h>
      4 #include <time.h>
      5 
      6 static void Abort (const char *fmt,...)
      7 {
      8   va_list args;
      9   va_start (args, fmt);
     10   vfprintf (stderr, fmt, args);
     11   va_end (args);
     12   exit (1);
     13 }
     14 
     15 int main (int argc, char **argv)
     16 {
     17   FILE  *inFile;
     18   FILE  *outFile = stdout;
     19   time_t now     = time (NULL);
     20   int    ch, i;
     21 
     22   if (argc != 2)
     23      Abort ("Usage: %s bin-file [> result]", argv[0]);
     24 
     25   if ((inFile = fopen(argv[1],"rb")) == NULL)
     26      Abort ("Cannot open %s\n", argv[1]);
     27 
     28   fprintf (outFile,
     29            "/* data statements for file %s at %.24s */\n"
     30            "/* Generated by BIN2C, G. Vanem 1995 */\n",
     31            argv[1], ctime(&now));
     32 
     33   i = 0;
     34   while ((ch = fgetc(inFile)) != EOF)
     35   {
     36     if (i++ % 12 == 0)
     37        fputs ("\n  ", outFile);
     38     fprintf (outFile, "0x%02X,", ch);
     39   }
     40   fputc ('\n', outFile);
     41   fclose (inFile);
     42   return (0);
     43 }
     44