Am 31.05.2025 um 19:15 hat Michael Tokarev geschrieben: > Add missing long options and --help output, > reorder options for consistency. > > While at it, remove unused option_index variable. > > Signed-off-by: Michael Tokarev <m...@tls.msk.ru> > --- > qemu-img.c | 57 ++++++++++++++++++++++++++++++++++-------------------- > 1 file changed, 36 insertions(+), 21 deletions(-) > > diff --git a/qemu-img.c b/qemu-img.c > index f0d04a874d..f5820a7017 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -3451,41 +3451,51 @@ static int img_map(const img_cmd_t *ccmd, int argc, > char **argv) > > fmt = NULL; > for (;;) { > - int option_index = 0; > static const struct option long_options[] = { > {"help", no_argument, 0, 'h'}, > {"format", required_argument, 0, 'f'}, > - {"output", required_argument, 0, OPTION_OUTPUT}, > - {"object", required_argument, 0, OPTION_OBJECT}, > {"image-opts", no_argument, 0, OPTION_IMAGE_OPTS}, > - {"force-share", no_argument, 0, 'U'}, > {"start-offset", required_argument, 0, 's'}, > {"max-length", required_argument, 0, 'l'}, > + {"force-share", no_argument, 0, 'U'}, > + {"output", required_argument, 0, OPTION_OUTPUT}, > + {"object", required_argument, 0, OPTION_OBJECT}, > {0, 0, 0, 0} > }; > - c = getopt_long(argc, argv, ":f:s:l:hU", > - long_options, &option_index); > + c = getopt_long(argc, argv, "hf:s:l:U", > + long_options, NULL); > if (c == -1) { > break; > } > switch (c) { > - case ':': > - missing_argument(argv[optind - 1]); > - break; > - case '?': > - unrecognized_option(argv[optind - 1]); > - break; > case 'h': > - help(); > + cmd_help(ccmd, "[-f FMT | --image-opts]\n" > +" [--start-offset OFFSET] [--max-length LENGTH]\n" > +" [--output human|json] [-U] [--object OBJDEF] FILE\n" > +, > +" -f, --format FMT\n" > +" specify FILE image format explicitly (default: probing is used)\n" > +" --image-opts\n" > +" treat FILE as an option string (key=value,..), not a file name\n" > +" (incompatible with -f|--format)\n" > +" --start-offset OFFSET\n"
-s, --start-offset > +" --max-length LENGTH\n" -l, --max-length > +" --output human|json\n" > +" specify output format name (default: human)\n" > +" -U, --force-share\n" > +" open image in shared mode for concurrent access\n" > +" --object OBJDEF\n" > +" defines QEMU user-creatable object\n" > +" FILE\n" > +" the image file name, or option string (key=value,..)\n" > +" with --image-opts, to operate on\n" > +); Kevin