Rewrite check4progs from etc/grml/script-functions
[grml-etc-core.git] / etc / grml / script-functions
index 659054c..887cf2c 100644 (file)
@@ -3,7 +3,6 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Fre Apr 06 22:42:04 CEST 2007 [mika]
 ################################################################################
 
 # {{{ set default PATH
@@ -49,15 +48,25 @@ setdialog(){
 # }}}
 
 # {{{ check for availability of program(s)
-check4progs(){
-  local RC=''
-  for arg in $* ; do
-    type -p $arg >/dev/null 2>&1 || RC="$arg"
-  done
-  if [ -n "$RC" ] ; then
-     echo "$RC not installed"
-     return 1
-  fi
+check4progs() {
+    local RTN=0
+    local ARG=''
+    while [ ${#} -gt 0 ]
+    do
+        ARG="${1}"
+        shift
+
+        # check for availability
+        if ! \which "${ARG}" >/dev/null 2>&1
+        then
+            printf "%s: binary not found\n" "${ARG}" >&2
+            RTN=1
+        fi
+
+    done
+
+    # return non zero, if at least one prog is missing!
+    return ${RTN}
 }
 # }}}
 
@@ -77,8 +86,9 @@ stringinstring(){
 
 # {{{ reread boot command line; echo last parameter's argument or return false.
 getbootparam(){
-  stringinstring " $1=" /proc/cmdline || return 1
-  result="${/proc/cmdline##*$1=}"
+  CMDLINE=$(cat /proc/cmdline)
+  stringinstring " $1=" "$CMDLINE" || return 1
+  result="${CMDLINE##*$1=}"
   result="${result%%[   ]*}"
   echo "$result"
   return 0
@@ -87,7 +97,7 @@ getbootparam(){
 
 # {{{ check boot commandline for specified option
 checkbootparam(){
-  stringinstring " $1" /proc/cmdline
+  stringinfile " $1" /proc/cmdline
   return "$?"
 }
 # }}}