Re: [PATCH bpf] tools/bpftool: Avoid using "?:" in generated code
From: Andrii Nakryiko <hidden>
Date: 2021-09-28 18:25:53
On Tue, Sep 28, 2021 at 11:11 AM Yucong Sun [off-list ref] 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 <redacted> ---
Given there is no bug in the first place, it's not a fix, and thus should target bpf-next tree.
quoted hunk ↗ jump to hunk
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