diff --git a/ChangeLog b/ChangeLog index b94848080..b0958fc91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2009-11-15 Robert Millan + + Support --version in grub-mkisofs. + + * util/mkisofs/mkisofs.c (rcsid): Remove variable. + (OPTION_VERSION): New macro. + (ld_options): Recognize --version. + (usage): Move `program_name' from here ... + (program_name): ... to here. Add `static' qualifier. + (main): Recognize `OPTION_VERSION'. + 2009-11-15 Felix Zielcke * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include' diff --git a/util/mkisofs/mkisofs.c b/util/mkisofs/mkisofs.c index bc63967d0..8d2af16ff 100644 --- a/util/mkisofs/mkisofs.c +++ b/util/mkisofs/mkisofs.c @@ -22,7 +22,7 @@ along with this program; if not, see . Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -static char rcsid[] ="$Id: mkisofs.c,v 1.32 1999/03/07 21:48:49 eric Exp $"; +static const char *program_name = "grub-mkisofs"; #include #include "config.h" @@ -195,6 +195,8 @@ struct ld_option #define OPTION_NO_EMUL_BOOT 171 #define OPTION_ELTORITO_EMUL_FLOPPY 172 +#define OPTION_VERSION 173 + static const struct ld_option ld_options[] = { { {"all-files", no_argument, NULL, 'a'}, @@ -229,6 +231,8 @@ static const struct ld_option ld_options[] = '\0', NULL, "Print option help", ONE_DASH }, { {"help", no_argument, NULL, OPTION_HELP}, '\0', NULL, "Print option help", TWO_DASHES }, + { {"version", no_argument, NULL, OPTION_VERSION}, + '\0', NULL, "Print version information and exit", TWO_DASHES }, { {"hide", required_argument, NULL, OPTION_I_HIDE}, '\0', "GLOBFILE", "Hide ISO9660/RR file" , ONE_DASH }, { {"hide-joliet", required_argument, NULL, OPTION_J_HIDE}, @@ -464,17 +468,6 @@ int goof = 0; #endif void usage(){ - const char * program_name = "mkisofs"; -#if 0 - fprintf(stderr,"Usage:\n"); - fprintf(stderr, -"mkisofs [-o outfile] [-R] [-V volid] [-v] [-a] \ -[-T]\n [-l] [-d] [-V] [-D] [-L] [-p preparer]" -"[-P publisher] [ -A app_id ] [-z] \n \ -[-b boot_image_name] [-c boot_catalog-name] \ -[-x path -x path ...] path\n"); -#endif - unsigned int i; /* const char **targets, **pp;*/ @@ -888,6 +881,10 @@ int FDECL2(main, int, argc, char **, argv){ usage (); exit (0); break; + case OPTION_VERSION: + printf ("%s (%s %s)\n", program_name, PACKAGE_NAME, PACKAGE_VERSION); + exit (0); + break; case OPTION_NOSPLIT_SL_COMPONENT: split_SL_component = 0; break;