#! /bin/sh
set -ef

if [ "$#" = "0" ]; then
 ALLRET=1
else
 ALLRET=0
fi
case $PATH in
 *::) : "not *DIR:" ;;
  *:) PATH="$PATH:" ;;
esac
for PROGRAM in "$@"; do
 RET=1
 IFS_SAVE="$IFS"
 IFS=:
 case $PROGRAM in
  */*)
   if [ -f "$PROGRAM" ] && [ -x "$PROGRAM" ]; then
    printf '%s\n' "$PROGRAM"
    RET=0
   fi
   ;;
  *)
   for ELEMENT in $PATH; do
    if [ -z "$ELEMENT" ]; then
     ELEMENT=.
    fi
    if [ -f "$ELEMENT/$PROGRAM" ] && [ -x "$ELEMENT/$PROGRAM" ]; then
     printf '%s\n' "$ELEMENT/$PROGRAM"
     RET=0
     break
    fi
   done
   ;;
 esac
 IFS="$IFS_SAVE"
 if [ "$RET" != "0" ]; then
  ALLRET=1
 fi
done

exit "$ALLRET"
