Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Dec 2016 01:35:26 +0000 (UTC)
From:      Devin Teske <dteske@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r309963 - head/usr.sbin/bsdinstall/scripts
Message-ID:  <201612130135.uBD1ZQPn041907@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dteske
Date: Tue Dec 13 01:35:26 2016
New Revision: 309963
URL: https://svnweb.freebsd.org/changeset/base/309963

Log:
  The --no-items and --stdout options are non-standard and should be avoided
  
  From the dialog(1) manual:
  using [--stdout] in portable scripts is not recommended

Modified:
  head/usr.sbin/bsdinstall/scripts/wlanconfig

Modified: head/usr.sbin/bsdinstall/scripts/wlanconfig
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/wlanconfig	Tue Dec 13 00:27:56 2016	(r309962)
+++ head/usr.sbin/bsdinstall/scripts/wlanconfig	Tue Dec 13 01:35:26 2016	(r309963)
@@ -90,8 +90,13 @@ dialog_country_select()
 	# Parse available countries/regdomains
 	#
 	input=$( ifconfig "$WLAN_IFACE" list countries | sed -e 's/DEBUG//gi' )
-	regdomains=$( echo $input | sed -e 's/.*domains://' | tr ' ' '\n' |
-		sort | tr '\n' ' ' )
+	regdomains=$( echo "$input" | awk '
+		sub(/.*domains:/, ""), /[^[:alnum:][[:space:]]/ {
+			n = split($0, domains)
+			for (i = 1; i <= n; i++)
+				printf "'\''%s'\'' '\'\''", domains[i]
+		}
+	' )
 	countries=$( echo "$input" | awk '
 		sub(/Country codes:/, ""), sub(/Regulatory.*/, "") {
 			while (match($0, /[[:upper:]][[:upper:][:digit:]] /)) {
@@ -108,17 +113,18 @@ dialog_country_select()
 
 	f_dialog_title "Regdomain selection"
 	prompt="Select your regdomain."
-	f_dialog_menu_size height width rows "$DIALOG_TITLE" \
-		"$DIALOG_BACKTITLE" "$prompt" "" $regdomains
-	regdomain=$( sh -c "$DIALOG \
-		--title \"$DIALOG_TITLE\" \
-		--backtitle \"$DIALOG_BACKTITLE\" \
-		--cancel-label \"$msg_skip\" \
-		--default-item \"$default_regdomain\" \
-		--no-items \
-		--stdout \
-		--menu \"$prompt\" \
-		$height $width $rows $regdomains"
+	eval f_dialog_menu_size height width rows \
+		\"\$DIALOG_TITLE\" \"\$DIALOG_BACKTITLE\" \
+		\"\$prompt\" \"\" $regdomains
+	regdomain=$( eval $DIALOG \
+		--title \"\$DIALOG_TITLE\" \
+		--backtitle \"\$DIALOG_BACKTITLE\" \
+		--cancel-label \"\$msg_skip\" \
+		--default-item \"\$default_regdomain\" \
+		--menu \"\$prompt\" \
+		$height $width $rows \
+		$regdomains \
+		2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
 	)
 
 	f_dialog_title "Country selection"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612130135.uBD1ZQPn041907>