qemu-io-cmds: Simplify help_oneline
help_oneline is declared and starts as: static void help_oneline(const char *cmd, const cmdinfo_t *ct) { if (cmd) { printf("%s ", cmd); } else { printf("%s ", ct->name); if (ct->altname) { printf("(or %s) ", ct->altname); } } However, there are only two routes to help_oneline being called: help_f -> help_all -> help_oneline(ct->name, ct) help_f -> help_onecmd(argv[1], ct) In the first case, 'cmd' and 'ct->name' are the same thing, so it's impossible for the if (cmd) to be false and then validly print ct->name - this is upsetting gcc ( https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96739 ) In the second case, cmd is argv[1] and we know we've got argv[1] so again (cmd) is non-NULL. Simplify help_oneline by just printing cmd. (Also strengthen argc check just to be pedantic) Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20200824102914.105619-1-dgilbert@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
8e7b122bf8
commit
da16f4b867
@ -2383,14 +2383,7 @@ static const cmdinfo_t sleep_cmd = {
|
||||
|
||||
static void help_oneline(const char *cmd, const cmdinfo_t *ct)
|
||||
{
|
||||
if (cmd) {
|
||||
printf("%s ", cmd);
|
||||
} else {
|
||||
printf("%s ", ct->name);
|
||||
if (ct->altname) {
|
||||
printf("(or %s) ", ct->altname);
|
||||
}
|
||||
}
|
||||
printf("%s ", cmd);
|
||||
|
||||
if (ct->args) {
|
||||
printf("%s ", ct->args);
|
||||
@ -2420,7 +2413,7 @@ static int help_f(BlockBackend *blk, int argc, char **argv)
|
||||
{
|
||||
const cmdinfo_t *ct;
|
||||
|
||||
if (argc == 1) {
|
||||
if (argc < 2) {
|
||||
help_all();
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user