#!/bin/sh
# WARNING: This file was auto-generated. Do not edit!
echon() {
  echo -n "$*"
}
set -e
PATH="/bin:/usr/bin:/usr/local/bin:$PATH"
export PATH
program=`basename $0`
cd "${SVSCANDIR-/service}"

fatal() {
  echo "$program: Fatal error: $@" >&2
  exit 1
}

usage() {
  args=$1; min=$2; max=$3; shift 3
  if [ $args -lt $min -o $args -gt $max ]; then
    echo "$0: usage: $program $@" >&2
    exit 1
  fi
}

if [ "$1" = -q ]; then
  exec >/dev/null
  shift
fi

usage $# 1 9999 "[-q] service [service ...]"

stop() {
  touch "$1"/down
  if svc-isup "$1"; then
    svc -d "$1"
    if svc-waitdown "$1"; then
      echon "$1 "
    else
      fatal "Failed to stop '$1'."
    fi
  else
    echon "$1 (already down) "
  fi
}

for svc in "$@"; do

  if ! [ -d "$svc" -o -L "$svc" ]; then
    fatal "Service '$svc' does not exist."
  fi

  echon "Stopping $svc: "

  stop "$svc"

  if [ -d "$svc/log" ]; then
    stop "$svc/log"
  fi

  echo "done."

done
