Merge tag 'char-misc-5.13-rc1-round2' of git://git.kernel.org/pub/scm/linux/kernel...
[platform/kernel/linux-starfive.git] / scripts / bin2c.c
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 }