#include <stdio.h>

#include <stdlib.h>

#include <stdarg.h>

#include <time.h>



static void Abort (char *fmt,...)

{

  va_list args;

  va_start (args, fmt);

  vfprintf (stderr, fmt, args);

  va_end (args);

  exit (1);

}



int main (int argc, char **argv)

{

  FILE  *inFile;

  FILE  *outFile = stdout;

  time_t now     = time (NULL);

  int    ch, i;



  if (argc != 2)

     Abort ("Usage: %s bin-file [> result]", argv[0]);



  if ((inFile = fopen(argv[1],"rb")) == NULL)

     Abort ("Cannot open %s\n", argv[1]);



  fprintf (outFile,

           "/* data statements for file %s at %.24s */\n"

           "/* Generated by BIN2C, G.Vanem 1995 */\n",

           argv[1], ctime(&now));



  i = 0;

  while ((ch = fgetc(inFile)) != EOF)

  {

    if (i++ % 12 == 0)

       fputs ("\n  ", outFile);

    fprintf (outFile, "0x%02X,", ch);

  }

  fputc ('\n', outFile);

  fclose (inFile);

  return (0);

}

