| #include <stdio.h> |
| #include <stdlib.h> |
| #include <stdarg.h> |
| #include <time.h> |
| |
| static void Abort (const 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); |
| } |