diff options
author | dteske <dteske@FreeBSD.org> | 2012-09-20 23:44:13 +0000 |
---|---|---|
committer | dteske <dteske@FreeBSD.org> | 2012-09-20 23:44:13 +0000 |
commit | f628c47944e7370c8d8c16cdcc6f98871a48be02 (patch) | |
tree | 6eb395555fa780676e51155e913c807210bdc403 /usr.sbin/bsdconfig/usermgmt | |
parent | 3a2b0e2811fa295dd198978ef2dcb53b37c2570d (diff) | |
download | FreeBSD-src-f628c47944e7370c8d8c16cdcc6f98871a48be02.zip FreeBSD-src-f628c47944e7370c8d8c16cdcc6f98871a48be02.tar.gz |
Change all invocations of dialog(1) to no-longer require temporary files.
This allows bsdconfig to -- like bsdinstall -- operate from read-only media.
Reviewed by: adrian (co-mentor)
Approved by: adrian (co-mentor)
Diffstat (limited to 'usr.sbin/bsdconfig/usermgmt')
-rwxr-xr-x | usr.sbin/bsdconfig/usermgmt/groupinput | 6 | ||||
-rw-r--r-- | usr.sbin/bsdconfig/usermgmt/share/group_input.subr | 57 | ||||
-rw-r--r-- | usr.sbin/bsdconfig/usermgmt/share/user_input.subr | 147 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/usermgmt/userinput | 7 | ||||
-rwxr-xr-x | usr.sbin/bsdconfig/usermgmt/usermgmt | 9 |
5 files changed, 162 insertions, 64 deletions
diff --git a/usr.sbin/bsdconfig/usermgmt/groupinput b/usr.sbin/bsdconfig/usermgmt/groupinput index e1df614..2991d33 100755 --- a/usr.sbin/bsdconfig/usermgmt/groupinput +++ b/usr.sbin/bsdconfig/usermgmt/groupinput @@ -228,7 +228,7 @@ while :; do \"\$hline\" \ $menu_items ) - eval $DIALOG \ + dialog_menu=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -236,9 +236,11 @@ while :; do --cancel-label \"\$msg_cancel\" \ --menu \"\$menu_text\" $size \ $menu_items \ - 2> $DIALOG_TMPDIR/dialog.menu.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" mtag=$( f_dialog_menutag ) f_dprintf "retval=$retval mtag=[$mtag]" diff --git a/usr.sbin/bsdconfig/usermgmt/share/group_input.subr b/usr.sbin/bsdconfig/usermgmt/share/group_input.subr index 0c61696..e3d59d0 100644 --- a/usr.sbin/bsdconfig/usermgmt/share/group_input.subr +++ b/usr.sbin/bsdconfig/usermgmt/share/group_input.subr @@ -84,14 +84,19 @@ f_dialog_menu_group_list() \"\$hline\" \ $menu_list ) - eval $DIALOG \ + local dialog_menu + dialog_menu=$( eval $DIALOG \ --clear --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ --ok-label \"\$msg_ok\" \ --cancel-label \"\$msg_cancel\" \ --menu \"\" $size $menu_list \ - 2> "$DIALOG_TMPDIR/dialog.menu.$$" + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) + local retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" + return $retval } # f_dialog_input_group_name [$group_name] @@ -121,7 +126,8 @@ f_dialog_input_group_name() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -129,9 +135,11 @@ f_dialog_input_group_name() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -204,7 +212,8 @@ f_dialog_input_group_password() # local retval _password1 _password2 while :; do - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -212,15 +221,17 @@ f_dialog_input_group_password() --cancel-label \"\$msg_cancel\" \ --insecure \ --passwordbox \"\$msg\" $size \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _password1=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No [ $retval -eq $SUCCESS ] || return $retval - eval $DIALOG \ + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -228,9 +239,11 @@ f_dialog_input_group_password() --cancel-label \"\$msg_cancel\" \ --insecure \ --passwordbox \"\$rmsg\" $rsize \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _password2=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -281,7 +294,8 @@ f_dialog_input_group_gid() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -289,9 +303,11 @@ f_dialog_input_group_gid() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -327,6 +343,7 @@ f_dialog_input_group_members() '2' '$msg_enter_group_members_manually' " # END-QUOTE + local dialog_menu while :; do msg="$msg_group_members:" menu_size=$( eval f_dialog_menu_size \ @@ -335,7 +352,7 @@ f_dialog_input_group_members() \"\$msg\" \ \"\$hline\" \ $menu_list ) - eval $DIALOG \ + dialog_menu=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -343,8 +360,10 @@ f_dialog_input_group_members() --cancel-label \"\$msg_cancel\" \ --menu \"\$msg\" $menu_size \ $menu_list \ - 2> $DIALOG_TMPDIR/dialog.menu.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" menu_choice=$( f_dialog_menutag ) f_dprintf "retval=$retval menu_choice=[$menu_choice]" @@ -373,7 +392,8 @@ f_dialog_input_group_members() \"\" \ \"\$hline\" \ $checklist_users ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --separate-output \ @@ -382,8 +402,10 @@ f_dialog_input_group_members() --cancel-label \"\$msg_cancel\" \ --checklist \"\$msg\" $size \ $checklist_users \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _group_members=$( f_dialog_inputstr | tr '\n' ' ' | sed -e 's/[[:space:]]\{1,\}/,/g;s/^,//;s/,$//' ) @@ -405,7 +427,8 @@ f_dialog_input_group_members() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -413,9 +436,11 @@ f_dialog_input_group_members() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _group_members=$( f_dialog_inputstr ) # Return to previous menu if user has either diff --git a/usr.sbin/bsdconfig/usermgmt/share/user_input.subr b/usr.sbin/bsdconfig/usermgmt/share/user_input.subr index d27b9be..8b356b6 100644 --- a/usr.sbin/bsdconfig/usermgmt/share/user_input.subr +++ b/usr.sbin/bsdconfig/usermgmt/share/user_input.subr @@ -109,14 +109,19 @@ f_dialog_menu_user_list() \"\$hline\" \ $menu_list ) - eval $DIALOG \ + local dialog_menu + dialog_menu=$( eval $DIALOG \ --clear --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ --ok-label \"\$msg_ok\" \ --cancel-label \"\$msg_cancel\" \ --menu \"\" $size $menu_list \ - 2> "$DIALOG_TMPDIR/dialog.menu.$$" + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) + local retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" + return $retval } # f_dialog_input_member_groups [$member_groups] @@ -155,7 +160,8 @@ f_dialog_input_member_groups() \"\" \ \"\$hline\" \ $checklist_groups ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --separate-output \ @@ -164,9 +170,11 @@ f_dialog_input_member_groups() --cancel-label \"\$msg_cancel\" \ --checklist \"\$msg\" $size \ $checklist_groups \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _member_groups=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -223,7 +231,8 @@ f_dialog_input_name() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -231,9 +240,11 @@ f_dialog_input_name() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -306,7 +317,8 @@ f_dialog_input_password() # local retval _password1 _password2 while :; do - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -314,15 +326,17 @@ f_dialog_input_password() --cancel-label \"\$msg_cancel\" \ --insecure \ --passwordbox \"\$msg\" $size \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _password1=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No [ $retval -eq $SUCCESS ] || return $retval - eval $DIALOG \ + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -330,9 +344,11 @@ f_dialog_input_password() --cancel-label \"\$msg_cancel\" \ --insecure \ --passwordbox \"\$rmsg\" $rsize \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _password2=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -384,7 +400,8 @@ f_dialog_input_gecos() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -392,9 +409,11 @@ f_dialog_input_gecos() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -427,7 +446,8 @@ f_dialog_input_uid() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -435,9 +455,11 @@ f_dialog_input_uid() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -470,7 +492,8 @@ f_dialog_input_gid() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -478,9 +501,11 @@ f_dialog_input_gid() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -513,7 +538,8 @@ f_dialog_input_class() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -521,9 +547,11 @@ f_dialog_input_class() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -569,7 +597,8 @@ f_dialog_input_change() \"\$hline\" \ $menu_list ) - eval $DIALOG \ + local dialog_menu + dialog_menu=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -577,8 +606,10 @@ f_dialog_input_change() --cancel-label \"\$msg_cancel\" \ --menu \"\$msg\" $menu_size \ $menu_list \ - 2> $DIALOG_TMPDIR/dialog.menu.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" date_type=$( f_dialog_menutag ) f_dprintf "retval=$retval date_type=[$date_type]" @@ -602,7 +633,8 @@ f_dialog_input_change() "$DIALOG_BACKTITLE" \ "$msg" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -610,8 +642,10 @@ f_dialog_input_change() --cancel-label \"\$msg_cancel\" \ --calendar \"\$msg\" $calendar_size \ $_input_date \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_date=$( f_dialog_inputstr ) f_dprintf "retval=$retval ret_date=[$ret_date]" @@ -626,7 +660,8 @@ f_dialog_input_change() "$DIALOG_BACKTITLE" \ "$msg" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -634,8 +669,10 @@ f_dialog_input_change() --cancel-label \"\$msg_cancel\" \ --timebox \"\$msg\" $timebox_size \ $_input_time \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_time=$( f_dialog_inputstr ) f_dprintf "retval=$retval ret_time=[$ret_time]" @@ -666,7 +703,8 @@ f_dialog_input_change() "$ret_days" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -674,8 +712,10 @@ f_dialog_input_change() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$ret_days\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_days=$( f_dialog_inputstr ) # Return to menu if either ESC or Cancel/No @@ -707,7 +747,8 @@ f_dialog_input_change() "$msg" \ "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -715,9 +756,11 @@ f_dialog_input_change() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_secs=$( f_dialog_inputstr ) # Return to menu if either ESC or Cancel/No @@ -779,7 +822,8 @@ f_dialog_input_expire() \"\$hline\" \ $menu_list ) - eval $DIALOG \ + local dialog_menu + dialog_menu=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -787,8 +831,10 @@ f_dialog_input_expire() --cancel-label \"\$msg_cancel\" \ --menu \"\$msg\" $menu_size \ $menu_list \ - 2> $DIALOG_TMPDIR/dialog.menu.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" date_type=$( f_dialog_menutag ) f_dprintf "retval=$retval date_type=[$date_type]" @@ -812,7 +858,8 @@ f_dialog_input_expire() "$DIALOG_BACKTITLE" \ "$msg" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -820,8 +867,10 @@ f_dialog_input_expire() --cancel-label \"\$msg_cancel\" \ --calendar \"\$msg\" $calendar_size \ $_input_date \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_date=$( f_dialog_inputstr ) f_dprintf "retval=$retval ret_date=[$ret_date]" @@ -836,7 +885,7 @@ f_dialog_input_expire() "$DIALOG_BACKTITLE" \ "$msg" \ "$hline" ) - eval $DIALOG \ + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -844,8 +893,10 @@ f_dialog_input_expire() --cancel-label \"\$msg_cancel\" \ --timebox \"\$msg\" $timebox_size \ $_input_time \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_time=$( f_dialog_inputstr ) f_dprintf "retval=$retval ret_time=[$ret_time]" @@ -876,7 +927,8 @@ f_dialog_input_expire() "$ret_days" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -884,8 +936,10 @@ f_dialog_input_expire() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$ret_days\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_days=$( f_dialog_inputstr ) # Return to menu if either ESC or Cancel/No @@ -917,7 +971,8 @@ f_dialog_input_expire() "$msg" \ "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -925,9 +980,11 @@ f_dialog_input_expire() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" ret_secs=$( f_dialog_inputstr ) # Return to menu if either ESC or Cancel/No @@ -976,7 +1033,8 @@ f_dialog_input_home_dir() "$_input" \ "$hline" ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -984,9 +1042,11 @@ f_dialog_input_home_dir() --cancel-label \"\$msg_cancel\" \ --inputbox \"\$msg\" $size \ \"\$_input\" \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No @@ -1153,7 +1213,8 @@ f_dialog_input_shell() \"\$hline\" \ $shell_list ) - eval $DIALOG \ + local dialog_inputbox + dialog_inputbox=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -1161,9 +1222,11 @@ f_dialog_input_shell() --cancel-label \"\$msg_cancel\" \ --radiolist \"\$prompt\" $size \ $shell_list \ - 2> $DIALOG_TMPDIR/dialog.inputbox.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox" _input=$( f_dialog_inputstr ) # Return if user has either pressed ESC or chosen Cancel/No diff --git a/usr.sbin/bsdconfig/usermgmt/userinput b/usr.sbin/bsdconfig/usermgmt/userinput index 7cabfdc..aca8aed 100755 --- a/usr.sbin/bsdconfig/usermgmt/userinput +++ b/usr.sbin/bsdconfig/usermgmt/userinput @@ -391,7 +391,8 @@ while :; do \"\$hline\" \ $menu_items ) - eval $DIALOG \ + local dialog_menu + dialog_menu=$( eval $DIALOG \ --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ @@ -399,9 +400,11 @@ while :; do --cancel-label \"\$msg_cancel\" \ --menu \"\$menu_text\" $size \ $menu_items \ - 2> $DIALOG_TMPDIR/dialog.menu.$$ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" mtag=$( f_dialog_menutag ) f_dprintf "retval=$retval mtag=[$mtag]" diff --git a/usr.sbin/bsdconfig/usermgmt/usermgmt b/usr.sbin/bsdconfig/usermgmt/usermgmt index b4905b3..0bfb0c0 100755 --- a/usr.sbin/bsdconfig/usermgmt/usermgmt +++ b/usr.sbin/bsdconfig/usermgmt/usermgmt @@ -69,14 +69,19 @@ dialog_menu_main() \"\$hline\" \ $menu_list ) - eval $DIALOG \ + local dialog_menu + dialog_menu=$( eval $DIALOG \ --clear --title \"\$DIALOG_TITLE\" \ --backtitle \"\$DIALOG_BACKTITLE\" \ --hline \"\$hline\" \ --ok-label \"\$msg_ok\" \ --cancel-label \"\$msg_cancel\" \ --menu \"\" $size $menu_list \ - 2> "$DIALOG_TMPDIR/dialog.menu.$$" + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) + local retval=$? + setvar DIALOG_MENU_$$ "$dialog_menu" + return $retval } ############################################################ MAIN |