Thread (2 messages) 2 messages, 2 authors, 2021-09-28

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help