summaryrefslogtreecommitdiff
path: root/localkannel-dispatch
diff options
context:
space:
mode:
authorJonas <dr@jones.dk>2010-05-20 20:32:50 +0200
committerJonas <dr@jones.dk>2010-05-20 20:32:50 +0200
commitb85e67369883d7aa8f759f8e2c4af61c74d4954e (patch)
tree6e9200e7194fe91666cdd4da856ad63f91bb7607 /localkannel-dispatch
parent16542abffa25dadd328a1ddc4dc4fb72cc137a75 (diff)
Simplify variable validation: shift after checking if empty.
Diffstat (limited to 'localkannel-dispatch')
-rwxr-xr-xlocalkannel-dispatch19
1 files 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."
;;