Skip to content

Commit f52fe37

Browse files
committed
A demonstration of code bloat using meta_util_is_parameter_set_and_not_null()
` s/meta_util_is_parameter_set_and_not_null *\([A-Za-z_][0-9A-Za-z_]*\)/${\1-}/g ` `"${foo-}"` won't error out upon `set -o nounset` (https://mywiki.wooledge.org/BashFAQ/112) Signed-off-by: Kang-Che Sung <[email protected]>
1 parent 26c6eba commit f52fe37

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

Source Code/GNU Bash Shell Script(full).template.bash

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ init() {
9494
print_help_message(){
9595
printf '# %s #\n' "${RUNTIME_EXECUTABLE_NAME}"
9696

97-
if meta_util_is_parameter_set_and_not_null META_PROGRAM_DESCRIPTION; then
97+
if [ -n "${META_PROGRAM_DESCRIPTION-}" ]; then
9898
printf '%s\n' "${META_PROGRAM_DESCRIPTION}"
9999
printf '\n'
100100
fi
@@ -346,45 +346,45 @@ meta_trap_exit_print_application_information(){
346346
# * Pausing program is desired(META_PROGRAM_PAUSE_BEFORE_EXIT=1)
347347
#
348348
# ...cause it's kinda stupid for a trailing line at end-of-program-output
349-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_NAME\
350-
|| meta_util_is_parameter_set_and_not_null META_APPLICATION_DEVELOPER_NAME\
351-
|| meta_util_is_parameter_set_and_not_null META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE\
352-
|| meta_util_is_parameter_set_and_not_null META_PROGRAM_LICENSE\
353-
|| meta_util_is_parameter_set_and_not_null META_APPLICATION_LICENSE\
354-
|| meta_util_is_parameter_set_and_not_null META_APPLICATION_SITE_URL\
355-
|| meta_util_is_parameter_set_and_not_null META_APPLICATION_ISSUE_TRACKER_URL\
349+
if [ -n "${META_APPLICATION_NAME-}" ]\
350+
|| [ -n "${META_APPLICATION_DEVELOPER_NAME-}" ]\
351+
|| [ -n "${META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE-}" ]\
352+
|| [ -n "${META_PROGRAM_LICENSE-}" ]\
353+
|| [ -n "${META_APPLICATION_LICENSE-}" ]\
354+
|| [ -n "${META_APPLICATION_SITE_URL-}" ]\
355+
|| [ -n "${META_APPLICATION_ISSUE_TRACKER_URL-}" ]\
356356
|| (\
357-
meta_util_is_parameter_set_and_not_null META_PROGRAM_PAUSE_BEFORE_EXIT\
357+
[ -n "${META_PROGRAM_PAUSE_BEFORE_EXIT-}" ]\
358358
&& [ "${META_PROGRAM_PAUSE_BEFORE_EXIT}" -eq 1 ] \
359359
); then
360360
printf -- '------------------------------------\n'
361361
fi
362-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_NAME; then
362+
if [ -n "${META_APPLICATION_NAME-}" ]; then
363363
printf '%s\n' "${META_APPLICATION_NAME}"
364364
fi
365-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_DEVELOPER_NAME; then
365+
if [ -n "${META_APPLICATION_DEVELOPER_NAME-}" ]; then
366366
printf '%s et. al.' "${META_APPLICATION_DEVELOPER_NAME}"
367-
if meta_util_is_parameter_set_and_not_null META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE; then
367+
if [ -n "${META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE-}" ]; then
368368
printf " " # Separator with ${META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE}
369369
else
370370
printf '\n'
371371
fi
372372
fi
373-
if meta_util_is_parameter_set_and_not_null META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE; then
373+
if [ -n "${META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE-}" ]; then
374374
printf '© %s\n' "${META_PROGRAM_COPYRIGHT_ACTIVATED_SINCE}"
375375
fi
376-
if meta_util_is_parameter_set_and_not_null META_PROGRAM_LICENSE; then
376+
if [ -n "${META_PROGRAM_LICENSE-}" ]; then
377377
printf 'Intellectual Property License: %s\n' "${META_PROGRAM_LICENSE}"
378-
elif meta_util_is_parameter_set_and_not_null META_APPLICATION_LICENSE; then
378+
elif [ -n "${META_APPLICATION_LICENSE-}" ]; then
379379
printf 'Intellectual Property License: %s\n' "${META_APPLICATION_LICENSE}"
380380
fi
381-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_SITE_URL; then
381+
if [ -n "${META_APPLICATION_SITE_URL-}" ]; then
382382
printf 'Official Website: %s\n' "${META_APPLICATION_SITE_URL}"
383383
fi
384-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_ISSUE_TRACKER_URL; then
384+
if [ -n "${META_APPLICATION_ISSUE_TRACKER_URL-}" ]; then
385385
printf 'Issue Tracker: %s\n' "${META_APPLICATION_ISSUE_TRACKER_URL}"
386386
fi
387-
if meta_util_is_parameter_set_and_not_null META_PROGRAM_PAUSE_BEFORE_EXIT\
387+
if [ -n "${META_PROGRAM_PAUSE_BEFORE_EXIT-}" ]\
388388
&& [ "${META_PROGRAM_PAUSE_BEFORE_EXIT}" -eq 1 ]; then
389389
local enter_holder
390390

@@ -467,7 +467,7 @@ meta_fsis_setup_runtime_parameters(){
467467
declare -r RUNTIME_PATH_DIRECTORIES
468468

469469
if [ ! -v BASH_SOURCE ]; then
470-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_INSTALL_STYLE\
470+
if [ -n "${META_APPLICATION_INSTALL_STYLE-}" ]\
471471
&& [ "${META_APPLICATION_INSTALL_STYLE}" == SHC ]; then
472472
printf "GNU Bash Shell Script Template: Error: META_APPLICATION_INSTALL_STYLE set to SHC, but is not possible due to unknown script location, make sure the program is not run as intepreter's standard input stream.\\n" 1>&2
473473
exit "${COMMON_RESULT_FAILURE}"
@@ -536,7 +536,7 @@ meta_fsis_setup_software_directories_configuration(){
536536
SDC_SETTINGS_DIR\
537537
SDC_TEMP_DIR
538538

539-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_INSTALL_STYLE; then
539+
if [ -n "${META_APPLICATION_INSTALL_STYLE-}" ]; then
540540
case "${META_APPLICATION_INSTALL_STYLE}" in
541541
FHS)
542542
# Filesystem Hierarchy Standard(F.H.S.) configuration paths
@@ -548,7 +548,7 @@ meta_fsis_setup_software_directories_configuration(){
548548
declare -r SDC_EXECUTABLES_DIR="${FHS_PREFIX_DIR}/bin"
549549
declare -r SDC_LIBRARIES_DIR="${FHS_PREFIX_DIR}/lib"
550550
declare -r SDC_I18N_DATA_DIR="${FHS_PREFIX_DIR}/share/locale"
551-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_IDENTIFIER; then
551+
if [ -n "${META_APPLICATION_IDENTIFIER-}" ]; then
552552
declare -r SDC_SHARED_RES_DIR="${FHS_PREFIX_DIR}/share/${META_APPLICATION_IDENTIFIER}"
553553
declare -r SDC_SETTINGS_DIR="/etc/${META_APPLICATION_IDENTIFIER}"
554554
declare -r SDC_TEMP_DIR="/tmp/${META_APPLICATION_IDENTIFIER}"
@@ -575,7 +575,7 @@ meta_fsis_setup_software_directories_configuration(){
575575
# Scope of Flexible Software Installation Specification
576576
# shellcheck disable=SC1090,SC1091
577577
source "${RUNTIME_EXECUTABLE_DIRECTORY}/PATH_TO_SOFTWARE_INSTALLATION_PREFIX_DIRECTORY.source"
578-
if ! meta_util_is_parameter_set_and_not_null PATH_TO_SOFTWARE_INSTALLATION_PREFIX_DIRECTORY; then
578+
if ! [ -n "${PATH_TO_SOFTWARE_INSTALLATION_PREFIX_DIRECTORY-}" ]; then
579579
printf "GNU Bash Script Template: Error: PATH_TO_SOFTWARE_INSTALLATION_PREFIX_DIRECTORY not defined, can't setup Self-contained Hierarchy Configuration.\\n" 1>&2
580580
exit 1
581581
fi
@@ -643,7 +643,7 @@ meta_fsis_setup_application_metadata(){
643643
META_APPLICATION_ISSUE_TRACKER_URL\
644644
META_APPLICATION_SEEKING_HELP_OPTION
645645

646-
if meta_util_is_parameter_set_and_not_null META_APPLICATION_INSTALL_STYLE; then
646+
if [ -n "${META_APPLICATION_INSTALL_STYLE-}" ]; then
647647
case "${META_APPLICATION_INSTALL_STYLE}" in
648648
FHS)
649649
if [ -v "${SDC_SHARED_RES_DIR}" ] && [ -n "${SDC_SHARED_RES_DIR}" ]; then

0 commit comments

Comments
 (0)