The piece of code which processes the command line arguments and
populates NETIFS based on them is really unobvious. Rewrite it so that
the intention is clear and the code is easy to follow.

Suggested-by: Petr Machata <[email protected]>
Signed-off-by: Ioana Ciornei <[email protected]>
---
Changes in v2:
- added back 'count=0'

 tools/testing/selftests/net/forwarding/lib.sh | 21 ++++++++++---------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh 
b/tools/testing/selftests/net/forwarding/lib.sh
index d8cc4c64148d..d2bdbff68075 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -467,17 +467,18 @@ if [ "${DRIVER_TEST_CONFORMANT}" = "yes" ]; then
        TARGETS[$remote_netif]="$REMOTE_TYPE:$REMOTE_ARGS"
 else
        count=0
+       # Prime NETIFS from the command line, but retain if none given.
+       if [[ $# -gt 0 ]]; then
+               unset NETIFS
+               declare -A NETIFS
 
-       while [[ $# -gt 0 ]]; do
-               if [[ "$count" -eq "0" ]]; then
-                       unset NETIFS
-                       declare -A NETIFS
-               fi
-               count=$((count + 1))
-               NETIFS[p$count]="$1"
-               TARGETS[$1]="local:"
-               shift
-       done
+               while [[ $# -gt 0 ]]; do
+                       count=$((count + 1))
+                       NETIFS[p$count]="$1"
+                       TARGETS[$1]="local:"
+                       shift
+               done
+       fi
 fi
 
 ##############################################################################
-- 
2.25.1


Reply via email to