diff options
-rwxr-xr-x | localkannel-dispatch | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/localkannel-dispatch b/localkannel-dispatch index 54a13da..05e00c8 100755 --- a/localkannel-dispatch +++ b/localkannel-dispatch @@ -113,7 +113,8 @@ return1() { vardir="/var/lib/kannel/hello" findobjects() { set -e - type="$1"; shift || return1 "Internal error in routine \"findobjects\" (empty object)!" + type="$1"; shift || return1 "Internal error (findobjects: missing type)!" + [ -n "$type" ] || return1 "Internal error (findobjects: empty type)!" limit="$@" regex="$(echo "$limit" | perl -ne '/^\/(.+)\/$/ and print $1')" args="$(echo "$limit" | perl -ne 's/.*?([a-z0-9]+).*?/ $1/g and print')" @@ -127,16 +128,17 @@ findobjects() { cd "$vardir/$type" && ! find -mindepth 1 -maxdepth 1 -type d -printf '%f\n' \ | grep -Fx "$args_multiline" || true else - return1 "Internal error in routine \"findobjects\" (illegal limit)!" + return1 "Internal error (findobjects: illegal limit)!" fi } addobject() { set -e - type="$1" - name="$2" + 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)!" oldname="$(findobjects "$type" "$name")" || return1 "$oldname" [ -z "$oldname" ] || return1 "$type \"$name\" already exist." - [ -n "$name" ] || return1 "Internal error in routine \"addobject\" (empty name)!" mkdir -p "$vardir/$type/$name" chgrp --reference="$vardir" "$vardir/$type/$name" echo "$name" |