Le Wednesday 15 Aug 2012 à 10:23:32 (-0600), Eric Blake a écrit : > On 08/15/2012 08:54 AM, Benoît Canet wrote: > > This additionnal --machine=json option make qemu-img info output on > > stdout a JSON formated representation of the image informations. > > > > --machine=json was choosen instead of --format=json because the > > info command already have a -f parameter. > > Do we want a counterpart '--machine=text' or '--machine=human' to > explicitly specify current output format? > > > @@ -1113,10 +1174,20 @@ static int img_info(int argc, char **argv) > > char backing_filename[1024]; > > char backing_filename2[1024]; > > BlockDriverInfo bdi; > > + ImageInfo *image_info; > > > > fmt = NULL; > > + machine = NULL; > > for(;;) { > > - c = getopt(argc, argv, "f:h"); > > + int option_index = 0; > > + static struct option long_options[] = { > > + {"help", no_argument, 0, 'h'}, > > + {"format", required_argument, 0, 'f'}, > > + {"machine", required_argument, 0, 'm'}, > > + {0, 0, 0, 0} > > + }; > > + c = getopt_long(argc, argv, "f:h", > > + long_options, &option_index); > > getopt_long is not in POSIX. Are you sure this will compile on all > target platforms?
benoit@Laure:~/qemu$ git grep getopt_long fsdev/virtfs-proxy-helper.c: c = getopt_long(argc, argv, "p:nh?f:s:u:g:", helper_opts, qemu-ga.c: while ((ch = getopt_long(argc, argv, sopt, lopt, &opt_ind)) != -1) { qemu-io.c: while ((c = getopt_long(argc, argv, sopt, lopt, &opt_index)) != -1) { qemu-nbd.c: while ((ch = getopt_long(argc, argv, sopt, lopt, &opt_ind)) != -1) { savevm.c:#define getopt_long_only getopt_long A few occurence of getopg_long are already in qemu. Is it a sufficient reason to keep getopt_long ? If not what would be the alternatives ? Benoît > > -- > Eric Blake ebl...@redhat.com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >