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