Re: [PATCH bpf] tools/bpftool: Avoid using "?:" in generated code

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

 



On Tue, Sep 28, 2021 at 11:11 AM Yucong Sun <fallentree@xxxxxx> wrote:
>
> "?:" is a GNU C extension, some environment has warning flags for its
> use, or even prohibit it directly.  This patch avoid triggering these
> problems by simply expand it to its full form, no functionality change.
>
> Signed-off-by: Yucong Sun <fallentree@xxxxxx>
> ---

Given there is no bug in the first place, it's not a fix, and thus
should target bpf-next tree.

>  tools/bpf/bpftool/gen.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/bpf/bpftool/gen.c b/tools/bpf/bpftool/gen.c
> index d40d92bbf0e4..85071b6fa4ad 100644
> --- a/tools/bpf/bpftool/gen.c
> +++ b/tools/bpf/bpftool/gen.c
> @@ -803,7 +803,7 @@ static int do_skeleton(int argc, char **argv)
>                         }                                                   \n\
>                                                                             \n\
>                         err = %1$s__create_skeleton(obj);                   \n\
> -                       err = err ?: bpf_object__open_skeleton(obj->skeleton, opts);\n\
> +                       err = err ? err : bpf_object__open_skeleton(obj->skeleton, opts);\n\

err+err+err in one row looks quite bad. If we can't use ?: for
shortness, maybe let's just do

if (!err)
    err = <some operation>

It's more verbose than the original version, but it's more obvious and
sort of canonical C?

>                         if (err)                                            \n\
>                                 goto err_out;                               \n\
>                                                                             \n\
> --
> 2.30.2
>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux