xref: /openbmc/u-boot/scripts/bin2c.c (revision 1a68faac)
1 /*
2  * Unloved program to convert a binary on stdin to a C include on stdout
3  *
4  * Jan 1999 Matt Mackall <mpm@selenic.com>
5  *
6  * This software may be used and distributed according to the terms
7  * of the GNU General Public License, incorporated herein by reference.
8  */
9 
10 #include <stdio.h>
11 
12 int main(int argc, char *argv[])
13 {
14 	int ch, total = 0;
15 
16 	if (argc > 1)
17 		printf("const char %s[] %s=\n",
18 			argv[1], argc > 2 ? argv[2] : "");
19 
20 	do {
21 		printf("\t\"");
22 		while ((ch = getchar()) != EOF) {
23 			total++;
24 			printf("\\x%02x", ch);
25 			if (total % 16 == 0)
26 				break;
27 		}
28 		printf("\"\n");
29 	} while (ch != EOF);
30 
31 	if (argc > 1)
32 		printf("\t;\n\n#include <linux/types.h>\n\nconst size_t %s_size = %d;\n",
33 		       argv[1], total);
34 
35 	return 0;
36 }
37