script-functions: replace type -p with which
[grml-etc-core.git] / etc / grml / script-functions
index 61c24d9..1786072 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
@@ -52,7 +51,7 @@ setdialog(){
 check4progs(){
   local RC=''
   for arg in $* ; do
-    type -p $arg >/dev/null 2>&1 || RC="$arg"
+    which $arg >/dev/null 2>&1 || RC="$arg"
   done
   if [ -n "$RC" ] ; then
      echo "$RC not installed"
@@ -141,5 +140,47 @@ mount_sys(){
 }
 # }}}
 
+# char *reverse_list(list) {{{
+#
+#   Returns the reversed order of list
+#
+reverse_list() {
+  local ret
+  ret=''
+  while [ "$#" -gt 0 ] ; do
+    if [ -z "${ret}" ] ; then
+      ret="$1"
+    else
+      ret="$1 ${ret}"
+    fi
+    shift
+  done
+  printf '%s' "${ret}"
+}
+#}}}
+
+# bool is_older_than(reference, files/dirs to check) {{{
+#
+#   return 0 if any of the files/dirs are newer than
+#   the reference file
+#
+#   EXAMPLE: if is_older_than a.out *.o ; then ...
+is_older_than() {
+  local x
+  local ref="$1"
+  shift
+
+  for x in "$@" ; do
+    [ "${x}" -nt "${ref}" ] && return 0
+
+    if [ -d "${x}" ] ; then
+      is_older_than "${ref}" "${x}"/* && return 0
+    fi
+  done
+
+  return 1
+}
+#}}}
+
 ## END OF FILE #################################################################
 # vim:foldmethod=marker tw=80 ai expandtab shiftwidth=2 tabstop=2