qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC, PATCH] Add -Wstrict-prototypes, maybe later -Wmis


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC, PATCH] Add -Wstrict-prototypes, maybe later -Wmissing-prototypes
Date: Mon, 11 Aug 2008 20:57:29 -0500
User-agent: Thunderbird 2.0.0.16 (X11/20080723)

Laurent Vivier wrote:
Le lundi 11 août 2008 à 14:22 -0500, Anthony Liguori a écrit :
but using "void (*handler)(int argc, char** argv)" avoids the switch:

switch(nb_args) {
    case 0:
        cmd->handler();
        break;
    case 1:
        cmd->handler(args[0]);
        break;
...
}

becomes

cmd->handler(nb_args, args);

And then every monitor command changes from:

void do_eject(int force, char *device)
{
    ...
}

to:

void do_eject(int argc, char **argv)
{
  char *device;
  int force = 0;

  if (argc == 2) {
    if (strcmp(argv[0], "-f") == 0) {
        force = 1;
        device = argv[1];
    } else {
        term_printf("bad option %s\n", argv[0]);
        return;
    }
 } else if (argc == 1) {
     device = argv[0];
 } else {
     term_printf("bad number of options\n");
     return;
 }

 ...
}

Consider multiplying that by all of the possible monitor commands, and it's totally not worth it.

Regards,

Anthony Liguori

Laurent






reply via email to

[Prev in Thread] Current Thread [Next in Thread]