]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
authorRobert Millan <rmh@aybabtu.com>
Sun, 10 Jan 2010 22:13:53 +0000 (23:13 +0100)
committerRobert Millan <rmh@aybabtu.com>
Sun, 10 Jan 2010 22:13:53 +0000 (23:13 +0100)
        * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
        (grub_bin2h_SOURCES): New variable.
        * util/bin2h.c: New file.

ChangeLog.kernel-font [new file with mode: 0644]
conf/common.rmk
util/bin2h.c [new file with mode: 0644]

diff --git a/ChangeLog.kernel-font b/ChangeLog.kernel-font
new file mode 100644 (file)
index 0000000..c21696d
--- /dev/null
@@ -0,0 +1,5 @@
+2010-01-10  Robert Millan  <rmh.grub@aybabtu.com>
+
+       * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
+       (grub_bin2h_SOURCES): New variable.
+       * util/bin2h.c: New file.
index 3f168937090c7b3cdb92f70bb5558f63bff4cbfd..0a67cf0cfca52bd4ce8ddf924945141eb84ffc50 100644 (file)
@@ -88,6 +88,9 @@ endif
 bin_UTILITIES += grub-mkrelpath
 grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c
 
+bin_UTILITIES += grub-bin2h
+grub_bin2h_SOURCES = util/bin2h.c
+
 # For the parser.
 grub_script.tab.c grub_script.tab.h: script/parser.y
        $(YACC) -d -p grub_script_yy -b grub_script $(srcdir)/script/parser.y
diff --git a/util/bin2h.c b/util/bin2h.c
new file mode 100644 (file)
index 0000000..e93a890
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ *  Copyright (C) 2008  Free Software Foundation, Inc.
+ *
+ *  GRUB is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  GRUB is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main (int argc, char *argv[])
+{
+  int b, i;
+  char *sym;
+  unsigned int len;
+
+  if (argc != 3)
+    {
+      fprintf (stderr, "Usage: %s symbol_name length\n", argv[0]);
+      exit (1);
+    }
+
+  sym = argv[1];
+  len = atoi (argv[2]);
+
+  b = getchar ();
+  if (b == EOF)
+    goto abort;
+
+  printf ("/* THIS CHUNK OF BYTES IS AUTOMATICALY GENERATED */\n"
+         "unsigned char %s[%u] =\n{\n", sym, len);
+
+  while (1)
+    {
+      printf ("0x%02x", b);
+
+      b = getchar ();
+      if (b == EOF)
+       goto end;
+
+      for (i = 0; i < 16 - 1; i++)
+       {
+         printf (", 0x%02x", b);
+
+         b = getchar ();
+         if (b == EOF)
+           goto end;
+       }
+
+      printf (",\n");
+    }
+
+end:
+  printf ("\n};\n");
+
+abort:
+  exit (0);
+}