[PATCH iproute2] devlink: Convert conditional in dl_argv_handle_port() to switch()

Subsystems: the rest

STALE3594d

3 messages, 3 authors, 2016-10-17 · open the first message on its own page

[PATCH iproute2] devlink: Convert conditional in dl_argv_handle_port() to switch()

From: Hangbin Liu <hidden>
Date: 2016-10-09 02:16:21

Discovered by Phil's covscan. The final return statement is never reached.
This is not inherently clear from looking at the code, so change the
conditional to a switch() statement which should clarify this.

CC: Phil Sutter <phil@nwl.cc>
Signed-off-by: Hangbin Liu <redacted>
---
 devlink/devlink.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/devlink/devlink.c b/devlink/devlink.c
index e91dc50..ccca0fb 100644
--- a/devlink/devlink.c
+++ b/devlink/devlink.c
@@ -524,19 +524,18 @@ static int dl_argv_handle_port(struct dl *dl, char **p_bus_name,
 		return -EINVAL;
 	}
 	slash_count = strslashcount(str);
-	if (slash_count != 2 && slash_count != 0) {
+	switch (slash_count) {
+	case 0:
+		return __dl_argv_handle_port_ifname(dl, str, p_bus_name,
+						    p_dev_name, p_port_index);
+	case 2:
+		return __dl_argv_handle_port(str, p_bus_name,
+					     p_dev_name, p_port_index);
+	default:
 		pr_err("Wrong port identification string format.\n");
 		pr_err("Expected \"bus_name/dev_name/port_index\" or \"netdev_ifname\".\n");
 		return -EINVAL;
 	}
-	if (slash_count == 2) {
-		return __dl_argv_handle_port(str, p_bus_name,
-					     p_dev_name, p_port_index);
-	} else if (slash_count == 0) {
-		return __dl_argv_handle_port_ifname(dl, str, p_bus_name,
-						    p_dev_name, p_port_index);
-	}
-	return 0;
 }
 
 static int dl_argv_handle_both(struct dl *dl, char **p_bus_name,
-- 
2.5.5

Re: [PATCH iproute2] devlink: Convert conditional in dl_argv_handle_port() to switch()

From: Phil Sutter <phil@nwl.cc>
Date: 2016-10-09 09:07:10

On Sun, Oct 09, 2016 at 10:14:18AM +0800, Hangbin Liu wrote:
Discovered by Phil's covscan. The final return statement is never reached.
This is not inherently clear from looking at the code, so change the
conditional to a switch() statement which should clarify this.

CC: Phil Sutter <phil@nwl.cc>
Signed-off-by: Hangbin Liu <redacted>
Acked-by: Phil Sutter <phil@nwl.cc>

Re: [PATCH iproute2] devlink: Convert conditional in dl_argv_handle_port() to switch()

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2016-10-17 12:31:05

On Sun,  9 Oct 2016 10:14:18 +0800
Hangbin Liu [off-list ref] wrote:
Discovered by Phil's covscan. The final return statement is never reached.
This is not inherently clear from looking at the code, so change the
conditional to a switch() statement which should clarify this.

CC: Phil Sutter <phil@nwl.cc>
Signed-off-by: Hangbin Liu <redacted>
Applied thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help