freebsd-dev/usr.sbin/bsdconfig/usermgmt
Devin Teske ec7120b5b2 Similar to r251236, improve the portion of dialog(1) API in dialog.subr
responsible for retrieving stored input (for the --inputbox and --password
widgets).

When we (Ron McDowell and I) developed the first version of bsdconfig, it
used temporary files to store responses from dialog(1). That hasn't been
true for a very long time, so the need to always execute some clean-up
function is long-deprecated. The function that used to perform these clean-
up routines for these widgets was f_dialog_inputstr().

We really don't need f_dialog_inputstr() for its originally designed purpose
as all dialog invocations no longer require temporary files.

Just as in r251236, redesign f_dialog_inputstr() in the following four ways:

1. Rename f_dialog_inputstr() to f_dialog_inputstr_fetch()
2. Introduce the new first-argument of $var_to_set to reduce forking
3. Create a corresponding f_dialog_inputstr_store() to abstract storage
4. Offload the sanitization to a new function, f_dialog_line_sanitize()

It should be noted that f_dialog_line_sanitize() -- unlike its cousin from
SVN r251236, f_dialog_data_sanitize() -- trims leading/trailing whitespace
from the user's input. This helps prevent errors and common mistakes caused
by the fact that the new cdialog implementation allows the right-arrow
cursor key to go beyond the last byte of realtime input (adding whitespace
at the end of the typed value).

While we're centralizing the sanitization, let's rewrite f_dialog_input()
while we're here to likewise reduce forking. The f_dialog_input() function
now expects the first argument of $var_to_set instead of producing results
on standard-out.

These changes greatly improve readability and also improve performance.
2013-06-02 05:45:25 +00:00
..
include UI improvements. First, implement --default-item whenever and wherever 2013-04-22 05:52:06 +00:00
share Similar to r251236, improve the portion of dialog(1) API in dialog.subr 2013-06-02 05:45:25 +00:00
groupadd Centralize standard getopts arguments, both for convenience and to correct 2013-05-14 03:21:13 +00:00
groupdel Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
groupedit Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
groupinput Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
INDEX
Makefile
USAGE Add new flags -d' (sets debug=1) and -D file' (sets debugFile) and 2013-04-22 05:02:34 +00:00
useradd Centralize standard getopts arguments, both for convenience and to correct 2013-05-14 03:21:13 +00:00
userdel Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
useredit Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
userinput Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
usermgmt Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00