diff options
author | Kate Ward <kate.ward@forestent.com> | 2017-10-19 12:57:09 +0200 |
---|---|---|
committer | Kate Ward <kate.ward@forestent.com> | 2017-10-19 12:57:09 +0200 |
commit | 78740ed6347816adcd7e863b0eb32099464a40a7 (patch) | |
tree | 073a6529540afcddcd042807f027b4e37bc1dc00 | |
parent | f5126eef3939df4d8d16aad5eeb03522feff7a64 (diff) | |
download | shflags-78740ed6347816adcd7e863b0eb32099464a40a7.tar.gz |
Fixed bug in _flags_columns() for when `stty size` gives unexpected output.
-rw-r--r-- | doc/CHANGES-1.2.md | 7 | ||||
-rw-r--r-- | shflags | 17 |
2 files changed, 15 insertions, 9 deletions
diff --git a/doc/CHANGES-1.2.md b/doc/CHANGES-1.2.md index 8f61e5c..c89cc70 100644 --- a/doc/CHANGES-1.2.md +++ b/doc/CHANGES-1.2.md @@ -1,5 +1,12 @@ # Changes in shFlags +## Changes with 1.2.3 + +Fixed bug in `_flags_columns()` where `stty size` sometimes gave unexpected output, causing the function to not work. + +Replaced `test_runner` with upstream from https://github.com/kward/shlib. + + ## Changes with 1.2.2 Ran all scripts through [ShellCheck](http://www.shellcheck.net/). @@ -561,24 +561,23 @@ _flags_itemInList() { # # Output: # integer: width in columns of the current screen. -_flags_columns() -{ +_flags_columns() { if [ -z "${__flags_columns}" ]; then - # Determine the value and store it. if eval stty size >/dev/null 2>&1; then # stty size worked :-) # shellcheck disable=SC2046 set -- `stty size` - __flags_columns=$2 - elif eval tput cols >/dev/null 2>&1; then + __flags_columns="${2:-}" + fi + fi + if [ -z "${__flags_columns}" ]; then + if eval tput cols >/dev/null 2>&1; then # shellcheck disable=SC2046 set -- `tput cols` - __flags_columns=$1 - else - __flags_columns=80 # Default terminal width. + __flags_columns="${1:-}" fi fi - echo ${__flags_columns} + echo "${__flags_columns:-80}" } # Validate a boolean. |