summaryrefslogtreecommitdiff
path: root/scripts/bin2c.c
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2017-01-30 02:12:06 (GMT)
committerTom Rini <trini@konsulko.com>2017-02-08 20:56:19 (GMT)
commit6fb631ecdee278b7524a47b02d6c78ce1e12fa17 (patch)
tree17b173bfe9dc6a8e32dd32ee1565fe1783316c54 /scripts/bin2c.c
parent07a63c7e7de28ddc6cdc7d8c1e75a69b35dc6332 (diff)
downloadu-boot-fsl-qoriq-6fb631ecdee278b7524a47b02d6c78ce1e12fa17.tar.xz
scripts: import bin2c.c from Linux 4.10-rc6
Import scripts/basic/bin2c.c of Linux. In Linux Kernel, this file was moved to scripts/basic directory by commit 8370edea81e3 ("bin2c: move bin2c in scripts/basic"). In U-Boot, we do not need to follow that commit. Just put it in the original directory "scripts". Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'scripts/bin2c.c')
-rw-r--r--scripts/bin2c.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/bin2c.c b/scripts/bin2c.c
new file mode 100644
index 0000000..c3d7eef
--- /dev/null
+++ b/scripts/bin2c.c
@@ -0,0 +1,36 @@
+/*
+ * Unloved program to convert a binary on stdin to a C include on stdout
+ *
+ * Jan 1999 Matt Mackall <mpm@selenic.com>
+ *
+ * This software may be used and distributed according to the terms
+ * of the GNU General Public License, incorporated herein by reference.
+ */
+
+#include <stdio.h>
+
+int main(int argc, char *argv[])
+{
+ int ch, total = 0;
+
+ if (argc > 1)
+ printf("const char %s[] %s=\n",
+ argv[1], argc > 2 ? argv[2] : "");
+
+ do {
+ printf("\t\"");
+ while ((ch = getchar()) != EOF) {
+ total++;
+ printf("\\x%02x", ch);
+ if (total % 16 == 0)
+ break;
+ }
+ printf("\"\n");
+ } while (ch != EOF);
+
+ if (argc > 1)
+ printf("\t;\n\n#include <linux/types.h>\n\nconst size_t %s_size = %d;\n",
+ argv[1], total);
+
+ return 0;
+}