From b85e67369883d7aa8f759f8e2c4af61c74d4954e Mon Sep 17 00:00:00 2001 From: Jonas Date: Thu, 20 May 2010 20:32:50 +0200 Subject: Simplify variable validation: shift after checking if empty. --- localkannel-dispatch | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/localkannel-dispatch b/localkannel-dispatch index 7343b67..00cc6e3 100755 --- a/localkannel-dispatch +++ b/localkannel-dispatch @@ -113,8 +113,7 @@ return1() { vardir="/var/lib/kannel/hello" findobjects() { set -e - type="$1"; shift || return1 "Internal error (findobjects: missing type)!" - [ -n "$type" ] || return1 "Internal error (findobjects: empty type)!" + type="$1"; [ -n "$type" ] || return1 "Internal error (findobjects: empty type)!"; shift limit="$@" regex="$(echo "$limit" | perl -ne '/^\/(.+)\/$/ and print $1')" args="$(echo "$limit" | perl -ne 's/.*?([a-z0-9]+).*?/ $1/g and print')" @@ -133,10 +132,8 @@ findobjects() { } addobject() { set -e - type="$1"; shift || return1 "Internal error (addobject: missing type)!" - [ -n "$type" ] || return1 "Internal error (addobject: empty type)!" - name="$1"; shift || return1 "Internal error (addobject: missing name)!" - [ -n "$name" ] || return1 "Internal error (addobject: empty name)!" + type="$1"; [ -n "$type" ] || return1 "Internal error (addobject: empty type)!"; shift + name="$1"; [ -n "$name" ] || return1 "Internal error (addobject: empty name)!"; shift oldname="$(findobjects "$type" "$name")" || return1 "$oldname" [ -z "$oldname" ] || return1 "$type \"$name\" already exist." mkdir -p "$vardir/$type/$name" @@ -145,10 +142,8 @@ addobject() { } delobject() { set -e - type="$1"; shift || return1 "Internal error (delobject: missing type)!" - [ -n "$type" ] || return1 "Internal error (delobject: empty type)!" - name="$1"; shift || return1 "Internal error (delobject: missing name)!" - [ -n "$name" ] || return1 "Internal error (delobject: empty name)!" + type="$1"; [ -n "$type" ] || return1 "Internal error (delobject: empty type)!"; shift + name="$1"; [ -n "$name" ] || return1 "Internal error (delobject: empty name)!"; shift oldname="$(findobjects "$type" "$name")" || return1 "$oldname" [ -n "$oldname" ] || return1 "No $type named \"$name\" (typo? or perhaps already deleted?)." rmdir1 "$vardir/$type/$name" @@ -176,7 +171,7 @@ case "$app" in add|create) case "$1" in user|group) - objecttype="$1"; shift || exit1 "Internal error while adding object." + objecttype="$1"; shift objectname="$(addobject "$objecttype" "$@")" || exit1 "Failed adding $objecttype${objectname+: $objectname}!" /usr/local/sbin/localsendsms "$to" "$objecttype \"$objectname\" added." ;; @@ -188,7 +183,7 @@ case "$app" in del|delete|remove) case "$1" in user|group) - objecttype="$1"; shift || exit1 "Internal error while deleting object." + objecttype="$1"; shift objectname="$(delobject "$objecttype" "$@")" || exit1 "Failed deleting $objecttype${objectname+: $objectname}!" /usr/local/sbin/localsendsms "$to" "$objecttype \"$objectname\" deleted." ;; -- cgit v1.2.3