X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/distorted-keys/blobdiff_plain/599c8f754492a6555503fedb8a2662ec229fb8e8..e787e19c99a9df4f49ac77237c58d43df3829e9f:/keys.in diff --git a/keys.in b/keys.in index 7915a4f..2676d56 100755 --- a/keys.in +++ b/keys.in @@ -24,83 +24,27 @@ ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. set -e - -quis=${0##*/} -PACKAGE=@PACKAGE@ -VERSION=@VERSION@ - -: ${KEYS=@pkgconfdir@} +: ${ETC=@pkgconfdir@} +: ${KEYS=@pkgstatedir@} : ${KEYSLIB=@pkglibdir@} -export KEYS KEYSLIB +export ETC KEYS KEYSLIB -###-------------------------------------------------------------------------- -### Help. +. "$KEYSLIB"/keyfunc.sh usage="usage: $quis COMMAND [ARGUMENTS ...]" +prefix=keys -version () { - echo "$PACKAGE version $VERSION" -} - -help () { - rc=0 - version - case $# in - 0) - cat <&2 "$quis: unrecognized command \`$i'" - rc=1 - continue - elif ! KEYS_HELP=t "$KEYSLIB"/"$i"; then - rc=1 - fi - done - ;; - esac - return $rc -} - -###-------------------------------------------------------------------------- -### Command dispatch. - +## Parse options. while getopts "hv" opt; do case "$opt" in - h) help; exit ;; + h) cmd_help; exit ;; v) version; exit ;; - *) echo >&2 "$usage"; exit 1 ;; + *) usage_err ;; esac done -shift $((OPTIND - 1)) - -case $# in 0) echo >&2 "$usage"; exit 1 ;; esac -cmd=$1; shift -case "$cmd" in help) help "$@"; exit ;; esac -if [ ! -x "$KEYSLIB"/"$cmd" ]; then - echo >&2 "$quis: unrecognized command \`$cmd'" - exit 1 -fi +shift $(( $OPTIND - 1 )) -unset KEYS_HELP -exec "$KEYSLIB"/"$cmd" "$@" +## Dispatch. +dispatch "$@" ###----- That's all, folks --------------------------------------------------