I pulled some fixes out of the verbose patch so hopefully I can get them
in while folks are trying out the more complex patch.

Plus one change to usage from jmc@.  His other option was to move the
[-F | -d] into the man page, but we can just complain more specifically
if they try to use incompatible arguments and keep the documentation
simpler.

Comments, OK?


--- usr.sbin/fw_update/fw_update.sh.orig        Mon Jan 10 19:25:52 2022
+++ usr.sbin/fw_update/fw_update.sh     Mon Jan 10 19:51:05 2022
@@ -95,7 +95,7 @@
                                SECONDS=0
                                sleep 1
                        else
-                               kill -INT -"$FTPPID"
+                               kill -INT -"$FTPPID" 2>/dev/null
                                _error=" (timed out)"
                        fi
                else
@@ -201,14 +201,14 @@
        set -sA _devices -- $(
            firmware_in_dmesg
            for _d in $( installed_firmware '*' '-firmware-' '*' ); do
-               echo "$( firmware_devicename "$_d" )"
+               firmware_devicename "$_d"
            done
        )
 
        [ "${_devices[*]:-}" ] || return 0
        for _d in "${_devices[@]}"; do
-               [[ $_last = $_d ]] && continue
-               echo $_d
+               [ "$_last" = "$_d" ] && continue
+               echo "$_d"
                _last="$_d"
        done
 }
@@ -286,7 +286,7 @@
 }
 
 usage() {
-       echo "usage: ${0##*/} [-d | -F] [-av] [-p path] [driver | file ...]"
+       echo "usage: ${0##*/} [-adFnv] [-p path] [driver | file ...]"
        exit 2
 }
 
@@ -352,11 +352,11 @@
 set -sA devices -- "$@"
 
 if "$DELETE"; then
-       [ "$OPT_F" ] && usage 22
+       [ "$OPT_F" ] && echo "Cannot use -F and -d" >&2 && usage 22
 
        set -A installed
        if [ "${devices[*]:-}" ]; then
-               "$ALL" && usage 22
+               "$ALL" && echo "Cannot use -a and devices/files" >&2 && usage 22
 
                set -A installed -- $(
                    for d in "${devices[@]}"; do
@@ -389,7 +389,7 @@
                done
        fi
 
-       deleted="${deleted:+${deleted#,}}"
+       deleted="${deleted#,}"
        echo "${0:##*/}: deleted ${deleted:-none}";
 
        exit
@@ -403,7 +403,7 @@
 CFILE="$LOCALSRC/$CFILE"
 
 if [ "${devices[*]:-}" ]; then
-       "$ALL" && usage 22
+       "$ALL" && echo "Cannot use -a and devices/files" >&2 && usage 22
 else
        "$VERBOSE" && echo -n "Detecting firmware ..."
        set -sA devices -- $( detect_firmware )

Reply via email to