blob: c3d7eef3ad0619806e8b7069e097ca20406b56d8 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
12int main(int argc, char *argv[])
13{
Vivek Goyal8370ede2014-08-08 14:25:38 -070014 int ch, total = 0;
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16 if (argc > 1)
17 printf("const char %s[] %s=\n",
18 argv[1], argc > 2 ? argv[2] : "");
19
20 do {
21 printf("\t\"");
Vivek Goyal8370ede2014-08-08 14:25:38 -070022 while ((ch = getchar()) != EOF) {
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 total++;
Vivek Goyal8370ede2014-08-08 14:25:38 -070024 printf("\\x%02x", ch);
Linus Torvalds1da177e2005-04-16 15:20:36 -070025 if (total % 16 == 0)
26 break;
27 }
28 printf("\"\n");
29 } while (ch != EOF);
30
31 if (argc > 1)
Tautschnig, Michael21532b92016-07-04 13:55:04 +000032 printf("\t;\n\n#include <linux/types.h>\n\nconst size_t %s_size = %d;\n",
33 argv[1], total);
Linus Torvalds1da177e2005-04-16 15:20:36 -070034
35 return 0;
36}