xref: /openbmc/u-boot/scripts/bin2c.c (revision 13bdce8f8cadf07bc81d7000a04e48f3028de543)
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