From a49c116e631b7a2d04bff6e65cbd9fe03cd9afc4 Mon Sep 17 00:00:00 2001 From: Jonas Date: Thu, 20 May 2010 15:07:19 +0200 Subject: Improve variable validation in object functions. --- localkannel-dispatch | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'localkannel-dispatch') 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" -- cgit v1.2.3