From 36a36b6757555ede99b8b72325437a208a8d4480 Mon Sep 17 00:00:00 2001 Message-Id: <36a36b6757555ede99b8b72325437a208a8d4480.1715482563.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sat, 28 Jun 2008 12:59:45 +0100 Subject: [PATCH] Tighter input checking in scripts/setup Organization: Straylight/Edgeware From: Richard Kettlewell --- scripts/setup.in | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/scripts/setup.in b/scripts/setup.in index 48f87c2..68d9a4a 100755 --- a/scripts/setup.in +++ b/scripts/setup.in @@ -151,23 +151,31 @@ if [ -z "$roots" ]; then echo "(enter one or more directories separated by spaces)" read -r roots ok=true + anyroots=false for root in $roots; do if [ ! -d $root ]; then echo "'$root' does not exist" ok=false + else + anyroots=true fi done - if $ok; then + if $anyroots && $ok; then break fi done fi if [ -z "$encoding" ]; then - echo - echo "What filesystem encoding should I assume for track names?" - echo "(e.g. UTF-8, ISO-8859-1, ...)" - read -r encoding + while :; do + echo + echo "What filesystem encoding should I assume for track names?" + echo "(e.g. UTF-8, ISO-8859-1, ...)" + read -r encoding + if [ ! -z "$encoding" ]; then + break + fi + done fi if [ -z "$port" ]; then @@ -180,7 +188,7 @@ if [ -z "$port" ]; then none ) break ;; - [^0-9] ) + [^0-9] | "" ) echo "'$port' is not a valid port number" continue ;; @@ -225,7 +233,7 @@ if [ "x$play" = xnetwork ]; then none ) break ;; - [^0-9] ) + [^0-9] | "" ) echo "'$mcast_port' is not a valid port number" continue ;; @@ -269,7 +277,7 @@ fi echo echo "Proposed DisOrder setup:" echo " Music directory: $roots" -if [ $port = none ]; then +if [ "$port" = none ]; then echo " Do not listen on a TCP port" else echo " TCP port to listen on: $port" -- [mdw]