Support --help and --version in grub-bin2h.
This commit is contained in:
parent
bd719e5a73
commit
885d1a8d90
3 changed files with 64 additions and 6 deletions
|
@ -34,7 +34,7 @@
|
||||||
used. Call print_glyphs.
|
used. Call print_glyphs.
|
||||||
* Makefile.in (pkgdata_DATA): Add `font/ascii.h'.
|
* Makefile.in (pkgdata_DATA): Add `font/ascii.h'.
|
||||||
|
|
||||||
2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
|
2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
|
||||||
|
|
||||||
* conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
|
* conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
|
||||||
(grub_bin2h_SOURCES): New variable.
|
(grub_bin2h_SOURCES): New variable.
|
||||||
|
|
|
@ -89,7 +89,7 @@ bin_UTILITIES += grub-mkrelpath
|
||||||
grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c
|
grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c
|
||||||
|
|
||||||
bin_UTILITIES += grub-bin2h
|
bin_UTILITIES += grub-bin2h
|
||||||
grub_bin2h_SOURCES = util/bin2h.c
|
grub_bin2h_SOURCES = gnulib/progname.c util/bin2h.c
|
||||||
|
|
||||||
# For the parser.
|
# For the parser.
|
||||||
grub_script.tab.c grub_script.tab.h: script/parser.y
|
grub_script.tab.c grub_script.tab.h: script/parser.y
|
||||||
|
|
66
util/bin2h.c
66
util/bin2h.c
|
@ -15,22 +15,80 @@
|
||||||
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#include <getopt.h>
|
||||||
|
|
||||||
|
#include "progname.h"
|
||||||
|
|
||||||
|
static struct option options[] =
|
||||||
|
{
|
||||||
|
{"help", no_argument, 0, 'h' },
|
||||||
|
{"version", no_argument, 0, 'V' },
|
||||||
|
{0, 0, 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
static void
|
||||||
|
usage (int status)
|
||||||
|
{
|
||||||
|
if (status)
|
||||||
|
fprintf (stderr,
|
||||||
|
"Try ``%s --help'' for more information.\n", program_name);
|
||||||
|
else
|
||||||
|
printf ("\
|
||||||
|
Usage: %s [OPTIONS] SYMBOL-NAME\n\
|
||||||
|
\n\
|
||||||
|
-h, --help display this message and exit\n\
|
||||||
|
-V, --version print version information and exit\n\
|
||||||
|
\n\
|
||||||
|
Report bugs to <%s>.\n\
|
||||||
|
", program_name, PACKAGE_BUGREPORT);
|
||||||
|
|
||||||
|
exit (status);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv[])
|
main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int b, i;
|
int b, i;
|
||||||
char *sym;
|
char *sym;
|
||||||
|
|
||||||
if (argc != 2)
|
set_program_name (argv[0]);
|
||||||
|
|
||||||
|
/* Check for options. */
|
||||||
|
while (1)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "Usage: %s symbol_name\n", argv[0]);
|
int c = getopt_long (argc, argv, "snm:r:hVv", options, 0);
|
||||||
exit (1);
|
|
||||||
|
if (c == -1)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case 'h':
|
||||||
|
usage (0);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'V':
|
||||||
|
printf ("%s (%s) %s\n", program_name, PACKAGE_NAME, PACKAGE_VERSION);
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
default:
|
||||||
|
usage (1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sym = argv[1];
|
if (optind >= argc)
|
||||||
|
usage (1);
|
||||||
|
|
||||||
|
if (optind + 1 != argc)
|
||||||
|
usage (1);
|
||||||
|
|
||||||
|
sym = argv[optind];
|
||||||
|
|
||||||
b = getchar ();
|
b = getchar ();
|
||||||
if (b == EOF)
|
if (b == EOF)
|
||||||
|
|
Loading…
Reference in a new issue