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


Reply via email to