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

