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


Reply via email to