Message ID | 20201027182144.3315885-27-pbonzini@redhat.com |
---|---|
State | Accepted |
Commit | 4cd29274729f6bfbb0202563929225bbbb861c1b |
Headers | show |
Series | cleanup qemu_init and make sense of command line processing | expand |
On Tue, 27 Oct 2020 14:21:41 -0400 Paolo Bonzini <pbonzini@redhat.com> wrote: > Combine the RUN_STATE_PRECONFIG and cmd_can_preconfig checks > into a single function, to avoid repeating the same expression > (or its negation after applying DeMorgan's rule) over and > over again. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > monitor/hmp.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/monitor/hmp.c b/monitor/hmp.c > index c5cd9d372b..f13ef455e2 100644 > --- a/monitor/hmp.c > +++ b/monitor/hmp.c > @@ -213,6 +213,11 @@ static bool cmd_can_preconfig(const HMPCommand *cmd) > return strchr(cmd->flags, 'p'); > } > > +static bool cmd_available(const HMPCommand *cmd) > +{ > + return !runstate_check(RUN_STATE_PRECONFIG) || cmd_can_preconfig(cmd); > +} > + > static void help_cmd_dump_one(Monitor *mon, > const HMPCommand *cmd, > char **prefix_args, > @@ -220,7 +225,7 @@ static void help_cmd_dump_one(Monitor *mon, > { > int i; > > - if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) { > + if (!cmd_available(cmd)) { > return; > } > > @@ -248,8 +253,7 @@ static void help_cmd_dump(Monitor *mon, const HMPCommand *cmds, > /* Find one entry to dump */ > for (cmd = cmds; cmd->name != NULL; cmd++) { > if (hmp_compare_cmd(args[arg_index], cmd->name) && > - ((!runstate_check(RUN_STATE_PRECONFIG) || > - cmd_can_preconfig(cmd)))) { > + cmd_available(cmd)) { > if (cmd->sub_table) { > /* continue with next arg */ > help_cmd_dump(mon, cmd->sub_table, > @@ -653,7 +657,7 @@ static const HMPCommand *monitor_parse_command(MonitorHMP *hmp_mon, > (int)(p - cmdp_start), cmdp_start); > return NULL; > } > - if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) { > + if (!cmd_available(cmd)) { > monitor_printf(mon, "Command '%.*s' not available with -preconfig " > "until after exit_preconfig.\n", > (int)(p - cmdp_start), cmdp_start); > @@ -1225,8 +1229,7 @@ static void monitor_find_completion_by_table(MonitorHMP *mon, > } > readline_set_completion_index(mon->rs, strlen(cmdname)); > for (cmd = cmd_table; cmd->name != NULL; cmd++) { > - if (!runstate_check(RUN_STATE_PRECONFIG) || > - cmd_can_preconfig(cmd)) { > + if (cmd_available(cmd)) { > cmd_completion(mon, cmdname, cmd->name); > } > } > @@ -1234,8 +1237,7 @@ static void monitor_find_completion_by_table(MonitorHMP *mon, > /* find the command */ > for (cmd = cmd_table; cmd->name != NULL; cmd++) { > if (hmp_compare_cmd(args[0], cmd->name) && > - (!runstate_check(RUN_STATE_PRECONFIG) || > - cmd_can_preconfig(cmd))) { > + cmd_available(cmd)) { > break; > } > }
diff --git a/monitor/hmp.c b/monitor/hmp.c index c5cd9d372b..f13ef455e2 100644 --- a/monitor/hmp.c +++ b/monitor/hmp.c @@ -213,6 +213,11 @@ static bool cmd_can_preconfig(const HMPCommand *cmd) return strchr(cmd->flags, 'p'); } +static bool cmd_available(const HMPCommand *cmd) +{ + return !runstate_check(RUN_STATE_PRECONFIG) || cmd_can_preconfig(cmd); +} + static void help_cmd_dump_one(Monitor *mon, const HMPCommand *cmd, char **prefix_args, @@ -220,7 +225,7 @@ static void help_cmd_dump_one(Monitor *mon, { int i; - if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) { + if (!cmd_available(cmd)) { return; } @@ -248,8 +253,7 @@ static void help_cmd_dump(Monitor *mon, const HMPCommand *cmds, /* Find one entry to dump */ for (cmd = cmds; cmd->name != NULL; cmd++) { if (hmp_compare_cmd(args[arg_index], cmd->name) && - ((!runstate_check(RUN_STATE_PRECONFIG) || - cmd_can_preconfig(cmd)))) { + cmd_available(cmd)) { if (cmd->sub_table) { /* continue with next arg */ help_cmd_dump(mon, cmd->sub_table, @@ -653,7 +657,7 @@ static const HMPCommand *monitor_parse_command(MonitorHMP *hmp_mon, (int)(p - cmdp_start), cmdp_start); return NULL; } - if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) { + if (!cmd_available(cmd)) { monitor_printf(mon, "Command '%.*s' not available with -preconfig " "until after exit_preconfig.\n", (int)(p - cmdp_start), cmdp_start); @@ -1225,8 +1229,7 @@ static void monitor_find_completion_by_table(MonitorHMP *mon, } readline_set_completion_index(mon->rs, strlen(cmdname)); for (cmd = cmd_table; cmd->name != NULL; cmd++) { - if (!runstate_check(RUN_STATE_PRECONFIG) || - cmd_can_preconfig(cmd)) { + if (cmd_available(cmd)) { cmd_completion(mon, cmdname, cmd->name); } } @@ -1234,8 +1237,7 @@ static void monitor_find_completion_by_table(MonitorHMP *mon, /* find the command */ for (cmd = cmd_table; cmd->name != NULL; cmd++) { if (hmp_compare_cmd(args[0], cmd->name) && - (!runstate_check(RUN_STATE_PRECONFIG) || - cmd_can_preconfig(cmd))) { + cmd_available(cmd)) { break; } }
Combine the RUN_STATE_PRECONFIG and cmd_can_preconfig checks into a single function, to avoid repeating the same expression (or its negation after applying DeMorgan's rule) over and over again. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- monitor/hmp.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)