1#include <stdio.h>
2#include <stdlib.h>
3#include <stdarg.h>
4#include <time.h>
5
6static void Abort (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
15int 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