freebsd-dev/usr.sbin/bsdconfig/console
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
console Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
font Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
INDEX
keymap Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
Makefile
repeat Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
saver Similar to r251236, improve the portion of dialog(1) API in dialog.subr 2013-06-02 05:45:25 +00:00
screenmap Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
ttys Improve portion of the dialog(1) API in dialog.subr responsible for 2013-06-01 23:58:44 +00:00
USAGE Add new flags -d' (sets debug=1) and -D file' (sets debugFile) and 2013-04-22 05:02:34 +00:00