Commit 5045d9c0 authored by Emeric Verschuur's avatar Emeric Verschuur

[bashopts] Update version with the fix of enumeration type to support values with spaces

parent 31b89989
# Copyright 2017 Emeric Verschuur <emeric@mbedsys.org>
# Copyright 2017-2018 Emeric Verschuur <emeric@mbedsys.org>
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
......@@ -19,7 +19,7 @@
set -e
BASHOPTS_VERSION=2.1.0
BASHOPTS_VERSION=2.1.1
bashopts_exit_handle() {
local err=$?
......@@ -256,7 +256,7 @@ bashopts_declare() {
-l) options[long_opt]=$1; shift;;
-d) options[description]=$1; shift;;
-t) options[type]=$1; shift;;
-e) options_enum_values+=($1); shift;;
-e) options_enum_values+=("$1");shift;;
-m) options[method]=$1; shift;;
-k) options[check]=$1; shift;;
-s) options[setting]="true";;
......@@ -280,7 +280,7 @@ bashopts_declare() {
if [ ${#options_enum_values[@]} -lt 2 ]; then
bashopts_log C "bashopts_declare: ${options[name]} enumeration need at least two elements (two '-e <val>' calls at least)"
fi
options[enum_values]="$(IFS=$'\n'; echo "${options_enum_values[*]}")"
options[enum_values]="$(printf "%s\n" "${options_enum_values[@]}")"
;;
s|str|string)
options[type]="string"
......@@ -387,9 +387,12 @@ bashopts_math_min() {
# join array element
bashopts_join_by() {
local IFS="$1"
shift || bashopts_log C "Usage: bashopts_join_by <character> [elt1 [elt2...]]"
echo "$*"
local sep="$1"
shift || bashopts_log C "Usage: bashopts_join_by <separator> [elt1 [elt2...]]"
printf "%s" "$1"
test $# -gt 1 || return 0
shift
printf "$sep%s" "$@"
}
# dump an option value by its name
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment