#!/bin/bash
#
# Delete a subscribed newsgroup.
#

if [ -z "$@" ]; then
  echo "Usage: `basename $0` newsgroup ..." >&2
  exit 1
fi

SNROOT=/var/spool/sn
PATH=/usr/lib/sn:$PATH
export SNROOT PATH

function fail () { echo "$@" >&2; exit 2 }

cd $SNROOT || fail "Can't cd to $SNROOT"

function findserver () {
  ( cd $1/.outgoing 2>/dev/null && basename `\`which pwd\`` ); :
}

function testserver () {
  local g
  local s
  local alone=
  for g in *; do
    s=`findserver $g`
    [ "$s" = "$1" ] && return 1
  done
  return 0
}

for group in "$@"; do
  snexpire -0d $group 2>/dev/null
  if [ -e $SNROOT/$group/.outgoing ]; then
    server=`findserver $group`
  else
    server=
  fi
  rm -rf $SNROOT/$group
  if [ "$server" ]; then
    testserver $server && rm -rf "$server"
  fi
done
:
