madwifi: napi polling fix
[openwrt/svn-archive/archive.git] / include / shell.sh
index 6ee0cf6030ac5e0a71d7be1c2438c58ee9724caf..f6be6c526f26fb489cc660d7201bce3c3a1117b7 100644 (file)
@@ -13,3 +13,22 @@ isset() {
        eval "var=\"\${$1}\""
        [ -n "$var" ]
 }
+
+trapret() {(
+       local retvals="$1"; shift
+       local cmd="$1"; shift
+       for retval in $(echo $retvals); do
+               local trap_$retval=1
+       done
+       "$cmd" "$@" || {
+               local retval="$?"
+               eval "trapped=\${trap_$retval}"
+               [ -n "$trapped" ] || {
+                       return $retval
+               }
+       }
+)}
+
+md5s() {
+       which md5sum 2>&1 >/dev/null && md5sum "$@" | awk '{print $1}' || md5 "$@"
+}