From 15a5bf08d902cb5c5d4a55eea999bd52bcdce931 Mon Sep 17 00:00:00 2001 From: Jonas Date: Thu, 20 May 2010 14:39:45 +0200 Subject: Fix findobjects function. --- localkannel-dispatch | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'localkannel-dispatch') diff --git a/localkannel-dispatch b/localkannel-dispatch index 5926b28..41f6e64 100755 --- a/localkannel-dispatch +++ b/localkannel-dispatch @@ -119,11 +119,13 @@ findobjects() { args="$(echo "$limit" | perl -ne 's/.*?([a-z0-9]+).*?/ $1/g and print')" [ -d "$vardir/$object" ] || return if [ -z "$*" ]; then - cd "$vardir/$object" && find * -maxdepth 1 -type d + cd "$vardir/$object" && find -mindepth 1 -maxdepth 1 -type d -printf '%f\n' elif [ -n "$regex" ]; then - cd "$vardir/$object" && find * -maxdepth 1 -type d -regex "$regex" + cd "$vardir/$object" && find -mindepth 1 -maxdepth 1 -type d -regex "$regex" elif [ -n $args ]; then - cd "$vardir/$object" && ls -1d $args + args_multiline="$(echo "$args" | perl -pe 's/[[:space:]]+/\n/g')" + cd "$vardir/$object" && ! find -mindepth 1 -maxdepth 1 -type d -printf '%f\n' \ + | grep -Fx "$args_multiline" || true else return1 "Internal error in routine \"findobjects\" (illegal limit)!" fi -- cgit v1.2.3