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