Am 24.08.2020 um 12:29 hat Dr. David Alan Gilbert (git) geschrieben: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > 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 <dgilb...@redhat.com>
Thanks, applied to the block branch. Kevin