diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-11-20 23:40:44 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-11-22 10:54:38 +0100 |
commit | baaa35ad706419ae5aacc11d2bece5bd8b73ee42 (patch) | |
tree | bb4b9c576fc56b3237d59e959ded7c245917fcd7 /src/busctl | |
parent | 52d86690d68779b120a4380f7cc740825827fb0d (diff) | |
download | systemd-baaa35ad706419ae5aacc11d2bece5bd8b73ee42.tar.gz |
coccinelle: make use of SYNTHETIC_ERRNO
Ideally, coccinelle would strip unnecessary braces too. But I do not see any
option in coccinelle for this, so instead, I edited the patch text using
search&replace to remove the braces. Unfortunately this is not fully automatic,
in particular it didn't deal well with if-else-if-else blocks and ifdefs, so
there is an increased likelikehood be some bugs in such spots.
I also removed part of the patch that coccinelle generated for udev, where we
returns -1 for failure. This should be fixed independently.
Diffstat (limited to 'src/busctl')
-rw-r--r-- | src/busctl/busctl-introspect.c | 297 | ||||
-rw-r--r-- | src/busctl/busctl.c | 37 |
2 files changed, 150 insertions, 184 deletions
diff --git a/src/busctl/busctl-introspect.c b/src/busctl/busctl-introspect.c index 4af3481a5f..18254efd2d 100644 --- a/src/busctl/busctl-introspect.c +++ b/src/busctl/busctl-introspect.c @@ -67,10 +67,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) { return t; } - if (t == XML_END) { - log_error("Premature end of XML data."); - return -EBADMSG; - } + if (t == XML_END) + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Premature end of XML data."); switch (state) { @@ -84,10 +83,10 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) { else if (streq_ptr(name, "value")) state = STATE_VALUE; - else { - log_error("Unexpected <annotation> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <annotation> attribute %s.", + name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "annotation"))) { @@ -116,10 +115,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) { return 0; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in <annotation>. (1)"); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <annotation>. (1)"); break; @@ -129,10 +127,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) { free_and_replace(field, name); state = STATE_ANNOTATION; - } else { - log_error("Unexpected token in <annotation>. (2)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <annotation>. (2)"); break; @@ -142,10 +139,9 @@ static int parse_xml_annotation(Context *context, uint64_t *flags) { free_and_replace(value, name); state = STATE_ANNOTATION; - } else { - log_error("Unexpected token in <annotation>. (3)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <annotation>. (3)"); break; @@ -187,10 +183,8 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth assert(context); assert(prefix); - if (n_depth > NODE_DEPTH_MAX) { - log_error("<node> depth too high."); - return -EINVAL; - } + if (n_depth > NODE_DEPTH_MAX) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "<node> depth too high."); for (;;) { _cleanup_free_ char *name = NULL; @@ -202,10 +196,8 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth return t; } - if (t == XML_END) { - log_error("Premature end of XML data."); - return -EBADMSG; - } + if (t == XML_END) + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "Premature end of XML data."); switch (state) { @@ -214,10 +206,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth if (streq_ptr(name, "name")) state = STATE_NODE_NAME; - else { - log_error("Unexpected <node> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <node> attribute %s.", name); } else if (t == XML_TAG_OPEN) { @@ -228,10 +219,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth r = parse_xml_node(context, np, n_depth+1); if (r < 0) return r; - } else { - log_error("Unexpected <node> tag %s.", name); - return -EBADMSG; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <node> tag %s.", name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "node"))) { @@ -244,10 +234,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth return 0; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in <node>. (1)"); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <node>. (1)"); break; @@ -271,10 +260,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth np = node_path; state = STATE_NODE; - } else { - log_error("Unexpected token in <node>. (2)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <node>. (2)"); break; @@ -283,10 +271,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth if (t == XML_ATTRIBUTE_NAME) { if (streq_ptr(name, "name")) state = STATE_INTERFACE_NAME; - else { - log_error("Unexpected <interface> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <interface> attribute %s.", + name); } else if (t == XML_TAG_OPEN) { if (streq_ptr(name, "method")) @@ -300,10 +288,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth r = parse_xml_annotation(context, &context->interface_flags); if (r < 0) return r; - } else { - log_error("Unexpected <interface> tag %s.", name); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected <interface> tag %s.", name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "interface"))) { @@ -319,10 +306,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_NODE; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in <interface>. (1)"); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <interface>. (1)"); break; @@ -333,10 +319,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(context->interface_name, name); state = STATE_INTERFACE; - } else { - log_error("Unexpected token in <interface>. (2)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <interface>. (2)"); break; @@ -345,10 +330,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth if (t == XML_ATTRIBUTE_NAME) { if (streq_ptr(name, "name")) state = STATE_METHOD_NAME; - else { - log_error("Unexpected <method> attribute %s", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <method> attribute %s", + name); } else if (t == XML_TAG_OPEN) { if (streq_ptr(name, "arg")) state = STATE_METHOD_ARG; @@ -356,10 +341,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth r = parse_xml_annotation(context, &context->member_flags); if (r < 0) return r; - } else { - log_error("Unexpected <method> tag %s.", name); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected <method> tag %s.", + name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "method"))) { @@ -375,10 +360,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_INTERFACE; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in <method> (1)."); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <method> (1)."); break; @@ -389,10 +373,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(context->member_name, name); state = STATE_METHOD; - } else { - log_error("Unexpected token in <method> (2)."); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <method> (2)."); break; @@ -405,19 +388,19 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_METHOD_ARG_TYPE; else if (streq_ptr(name, "direction")) state = STATE_METHOD_ARG_DIRECTION; - else { - log_error("Unexpected method <arg> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected method <arg> attribute %s.", + name); } else if (t == XML_TAG_OPEN) { if (streq_ptr(name, "annotation")) { r = parse_xml_annotation(context, NULL); if (r < 0) return r; - } else { - log_error("Unexpected method <arg> tag %s.", name); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected method <arg> tag %s.", + name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "arg"))) { @@ -439,10 +422,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth } state = STATE_METHOD; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in method <arg>. (1)"); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in method <arg>. (1)"); break; @@ -450,10 +432,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth if (t == XML_ATTRIBUTE_VALUE) state = STATE_METHOD_ARG; - else { - log_error("Unexpected token in method <arg>. (2)"); - return -EINVAL; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in method <arg>. (2)"); break; @@ -463,10 +444,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(argument_type, name); state = STATE_METHOD_ARG; - } else { - log_error("Unexpected token in method <arg>. (3)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in method <arg>. (3)"); break; @@ -476,10 +456,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(argument_direction, name); state = STATE_METHOD_ARG; - } else { - log_error("Unexpected token in method <arg>. (4)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in method <arg>. (4)"); break; @@ -488,10 +467,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth if (t == XML_ATTRIBUTE_NAME) { if (streq_ptr(name, "name")) state = STATE_SIGNAL_NAME; - else { - log_error("Unexpected <signal> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <signal> attribute %s.", + name); } else if (t == XML_TAG_OPEN) { if (streq_ptr(name, "arg")) state = STATE_SIGNAL_ARG; @@ -499,10 +478,10 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth r = parse_xml_annotation(context, &context->member_flags); if (r < 0) return r; - } else { - log_error("Unexpected <signal> tag %s.", name); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected <signal> tag %s.", + name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "signal"))) { @@ -518,10 +497,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_INTERFACE; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in <signal>. (1)"); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <signal>. (1)"); break; @@ -532,10 +510,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(context->member_name, name); state = STATE_SIGNAL; - } else { - log_error("Unexpected token in <signal>. (2)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <signal>. (2)"); break; @@ -548,19 +525,19 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_SIGNAL_ARG_TYPE; else if (streq_ptr(name, "direction")) state = STATE_SIGNAL_ARG_DIRECTION; - else { - log_error("Unexpected signal <arg> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected signal <arg> attribute %s.", + name); } else if (t == XML_TAG_OPEN) { if (streq_ptr(name, "annotation")) { r = parse_xml_annotation(context, NULL); if (r < 0) return r; - } else { - log_error("Unexpected signal <arg> tag %s.", name); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected signal <arg> tag %s.", + name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "arg"))) { @@ -575,10 +552,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth } state = STATE_SIGNAL; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in signal <arg> (1)."); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in signal <arg> (1)."); break; @@ -586,10 +562,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth if (t == XML_ATTRIBUTE_VALUE) state = STATE_SIGNAL_ARG; - else { - log_error("Unexpected token in signal <arg> (2)."); - return -EINVAL; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in signal <arg> (2)."); break; @@ -599,10 +574,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(argument_type, name); state = STATE_SIGNAL_ARG; - } else { - log_error("Unexpected token in signal <arg> (3)."); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in signal <arg> (3)."); break; @@ -612,10 +586,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(argument_direction, name); state = STATE_SIGNAL_ARG; - } else { - log_error("Unexpected token in signal <arg>. (4)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in signal <arg>. (4)"); break; @@ -628,20 +601,20 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_PROPERTY_TYPE; else if (streq_ptr(name, "access")) state = STATE_PROPERTY_ACCESS; - else { - log_error("Unexpected <property> attribute %s.", name); - return -EBADMSG; - } + else + return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), + "Unexpected <property> attribute %s.", + name); } else if (t == XML_TAG_OPEN) { if (streq_ptr(name, "annotation")) { r = parse_xml_annotation(context, &context->member_flags); if (r < 0) return r; - } else { - log_error("Unexpected <property> tag %s.", name); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected <property> tag %s.", + name); } else if (t == XML_TAG_CLOSE_EMPTY || (t == XML_TAG_CLOSE && streq_ptr(name, "property"))) { @@ -658,10 +631,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth state = STATE_INTERFACE; - } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) { - log_error("Unexpected token in <property>. (1)"); - return -EINVAL; - } + } else if (t != XML_TEXT || !in_charset(name, WHITESPACE)) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <property>. (1)"); break; @@ -672,10 +644,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(context->member_name, name); state = STATE_PROPERTY; - } else { - log_error("Unexpected token in <property>. (2)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <property>. (2)"); break; @@ -686,10 +657,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth free_and_replace(context->member_signature, name); state = STATE_PROPERTY; - } else { - log_error("Unexpected token in <property>. (3)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <property>. (3)"); break; @@ -701,10 +671,9 @@ static int parse_xml_node(Context *context, const char *prefix, unsigned n_depth context->member_writable = true; state = STATE_PROPERTY; - } else { - log_error("Unexpected token in <property>. (4)"); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unexpected token in <property>. (4)"); break; } diff --git a/src/busctl/busctl.c b/src/busctl/busctl.c index 5ad2a7d12f..04c0b73fd2 100644 --- a/src/busctl/busctl.c +++ b/src/busctl/busctl.c @@ -1257,10 +1257,9 @@ static int verb_monitor(int argc, char **argv, void *userdata) { static int verb_capture(int argc, char **argv, void *userdata) { int r; - if (isatty(fileno(stdout)) > 0) { - log_error("Refusing to write message data to console, please redirect output to a file."); - return -EINVAL; - } + if (isatty(fileno(stdout)) > 0) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Refusing to write message data to console, please redirect output to a file."); bus_pcap_header(arg_snaplen, stdout); @@ -1346,10 +1345,9 @@ static int message_append_cmdline(sd_bus_message *m, const char *signature, char if (t == 0) break; - if (!v) { - log_error("Too few parameters for signature."); - return -EINVAL; - } + if (!v) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Too few parameters for signature."); signature++; p++; @@ -1539,12 +1537,12 @@ static int message_append_cmdline(sd_bus_message *m, const char *signature, char } case SD_BUS_TYPE_UNIX_FD: - log_error("UNIX file descriptor not supported as type."); - return -EINVAL; + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "UNIX file descriptor not supported as type."); default: - log_error("Unknown signature type %c.", t); - return -EINVAL; + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unknown signature type %c.", t); } if (r < 0) @@ -2291,10 +2289,9 @@ static int parse_argv(int argc, char *argv[]) { if (r < 0) return log_error_errno(r, "Failed to parse size '%s': %m", optarg); - if ((uint64_t) (size_t) sz != sz) { - log_error("Size out of range."); - return -E2BIG; - } + if ((uint64_t) (size_t) sz != sz) + return log_error_errno(SYNTHETIC_ERRNO(E2BIG), + "Size out of range."); arg_snaplen = (size_t) sz; break; @@ -2385,10 +2382,10 @@ static int parse_argv(int argc, char *argv[]) { fputs("short\n" "pretty\n", stdout); return 0; - } else { - log_error("Unknown JSON out mode: %s", optarg); - return -EINVAL; - } + } else + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "Unknown JSON out mode: %s", + optarg); break; |