From 1a07f1dff32b3af49e39533e33e8964b59535662 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 1 Sep 2023 00:56:35 +0100 Subject: [PATCH] make_ethtool_modes_h.sh: apply anti-bashism Use 'printf' instead of 'echo -e' and use 'sed' instead of 'cut' to be compatible with shells other than bash and not require cut. Signed-off-by: Daniel Golle --- make_ethtool_modes_h.sh | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/make_ethtool_modes_h.sh b/make_ethtool_modes_h.sh index ec69130..7f5ac7b 100755 --- a/make_ethtool_modes_h.sh +++ b/make_ethtool_modes_h.sh @@ -38,30 +38,29 @@ EOF echo "#include " | "$CC" -E - | \ grep "ETHTOOL_LINK_MODE_[0-9]*base[A-Za-z0-9]*_...._BIT.*" | \ sed -r 's/.*ETHTOOL_LINK_MODE_([0-9]*)base([A-Za-z0-9]*)_(....)_BIT.*/\1 \2 \3/' | \ - sort -u | LC_ALL=C sort -r -g | ( gothalf=0 ; while read speed mode duplex; do + sort -u | LC_ALL=C sort -r -g | ( gothalf=0 ; while read -r speed mode duplex; do if [ "$duplex" = "Half" ]; then if [ "$gothalf" = "1" ]; then - echo -e "$speed \tETHTOOL_MODE_HALF($p_speed, $p_mode)," + printf "%s" "$speed \tETHTOOL_MODE_HALF($p_speed, $p_mode),\n" fi gothalf=1 elif [ "$duplex" = "Full" ]; then if [ "$gothalf" = "1" ]; then if [ "$p_speed" = "$speed" ] && [ "$p_mode" = "$mode" ]; then - echo -e "$speed \tETHTOOL_MODE_BOTH($speed, $mode)," + printf "%d \t%s\n" "$speed" "ETHTOOL_MODE_BOTH($speed, $mode)," else - echo -e "$p_speed \tETHTOOL_MODE_HALF($p_speed, $p_mode)," - echo -e "$speed \tETHTOOL_MODE_FULL($speed, $mode)," + printf "%d \t%s\n" "$p_speed" "ETHTOOL_MODE_HALF($p_speed, $p_mode)," + printf "%d \t%s\n" "$speed" "ETHTOOL_MODE_FULL($speed, $mode)," fi gothalf=0 else - echo -e "$speed \tETHTOOL_MODE_FULL($speed, $mode)," + printf "%d \t%s\n" "$speed" "ETHTOOL_MODE_FULL($speed, $mode)," fi else continue fi p_speed="$speed" p_mode="$mode" - p_duplex="$duplex" - done ; [ "$gothalf" = "1" ] && echo -e "$p_speed \tETHTOOL_MODE_HALF($p_speed, $p_mode)," ) | \ - LC_ALL=C sort -g | cut -d' ' -f2- + done ; [ "$gothalf" = "1" ] && printf "%d \t%s\n" "$p_speed" "ETHTOOL_MODE_HALF($p_speed, $p_mode)," ) | \ + LC_ALL=C sort -g | sed -r 's/[0-9]* (.*)/\1/' echo "};" -- 2.30.2