#!/bin/sh

. ${SYSDEP_BASE_DIRECTORY}/sysdep-subs || exit 1

PROGRAM_NAME="sd-configbin"

debug()
{
  SYSDEP_DEBUG "${PROGRAM_NAME}: $1"
}

if [ $# -ne 2 ]
then
  ${SYSDEP_UTIL_ECHO} "${PROGRAM_NAME}: usage: bin flags" 1>&2
  ${SYSDEP_UTIL_EXIT} 1
fi

CONFIG_BINARY="$1"
CONFIG_BINARY_FLAGS="$2"

#
# Search in each element of ${PATH} and execute config binary using
# absolute path.
#

for PATH_ELEMENT in ${SYSDEP_STDBIN}
do
  if [ ! -x ${PATH_ELEMENT}/${CONFIG_BINARY} ]
  then
    debug "${PATH_ELEMENT}/${CONFIG_BINARY} not executable or nonexistent"
  else
    debug "executing ${PATH_ELEMENT}/${CONFIG_BINARY} ${CONFIG_BINARY_FLAGS}"
    ${PATH_ELEMENT}/${CONFIG_BINARY} ${CONFIG_BINARY_FLAGS} 2>/dev/null
    RETURN_CODE=$?
    if [ ${RETURN_CODE} -eq 0 ]
    then
      debug "execution successful"
    else
      debug "execution failed"
    fi
    ${SYSDEP_UTIL_EXIT} ${RETURN_CODE}
  fi
done

debug "could not locate or execute ${CONFIG_BINARY}"
${SYSDEP_UTIL_EXIT} 1
