Bryan Kadzban wrote:
Bruce Dubbs wrote:
unset COLUMNS
. /lib/services/init_functions
<...>
This is pretty minor. Is this change worth doing?
Is it easier to just recalculate ROWS (...if needed; entirely possibly not
although I don't know what might use it) and COLUMNS? That ends up being a
separate copy of the script code though, so entirely possibly not-worthwhile.
Not sure how many fonts have different character sizes, but it *probably*
makes sense to handle that.
ROWS is not used by the scripts. The offending code is:
if [ -z "${COLUMNS}" ]; then
COLUMNS=$(stty size)
COLUMNS=${COLUMNS##* }
fi
# When using remote connections, such as a serial port, stty size
# returns 0
if [ "${COLUMNS}" = "0" ]; then
COLUMNS=80
fi
## Measurements for positioning result messages
COL=$((${COLUMNS} - 8))
WCOL=$((${COL} - 2))
SET_COL="\\033[${COL}G" # at the $COL char
SET_WCOL="\\033[${WCOL}G" # at the $WCOL char
This is sourced at the beginning of each boot script.
If the script changes the real value of ${COLUMNS} after the
init-functions file is sourced, then it will be wrong for subsequent output.
On my system, the default font is small. It has 240 characters on a 15
inch wide (horizontal, not diagonal) screen. The default font is too
small for my eyes so I use a ter-128n font (Terminius Font 14x28 pixel
character size). That reduces the screen to 137 columns during the
console script. The commands at the top merely reset the COLUMNS
variable and adjust the output positioning on the screen.
The bottom line is that the problem only occurs if the FONT variable is
set for the console script and only affects the position [ OK ] or
[FAIL] result on the screen for that one script.
I would guess the time for the script to re-source the init_functions
file is in the single digit milliseconds.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page