X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=funcs%2Fgsu;fp=funcs%2Fgsu;h=75e569cb0a00789badb00735bf3a36f8391ce6db;hb=b3e4039f76f3af4dc2c11642e9edd8309161951c;hp=b80fc919659c008420cc54d79890ea7d14ae4d7f;hpb=bc4497df245d5da1b1db0f78c7a071227436ac84;p=gsu.git diff --git a/funcs/gsu b/funcs/gsu index b80fc91..75e569c 100644 --- a/funcs/gsu +++ b/funcs/gsu @@ -14,6 +14,7 @@ E_GSU_BAD_CONFIG_VAR invalid config variable E_GSU_NEED_VALUE value required but not given E_GSU_BAD_BOOL bad value for boolian option E_GSU_BAD_OPTION_TYPE invalid option type +E_GSU_BAD_ARG_COUNT invalid number of arguments E_NO_DEFAULT missing default value $gsu_errors " @@ -44,6 +45,29 @@ gsu_is_a_number() } export -f gsu_is_a_number +# Usage: gsu_check_arg_count [] +# +# If only ist given, then must equal . +# Otherwise, .. is treated as a range and it is checked +# that lies between and inclusively. +gsu_check_arg_count() +{ + ret=-$E_GSU_BAD_ARG_COUNT + if [[ $# -eq 2 ]]; then # only num1 is given + result="exactly $2 args needed, $1 given" + [[ $1 -ne $2 ]] && return + ret=$GSU_SUCCESS + return + fi + # num1 and num2 given + result="need at least $2 args, $1 given" + [[ $1 -lt $2 ]] && return + result="need at most $3 args, $1 given" + [[ $1 -gt $3 ]] && return + ret=$GSU_SUCCESS +} +export -f gsu_check_arg_count + gsu_short_msg() { echo "$1" 1>&2 @@ -62,6 +86,8 @@ gsu_date_msg() } export -f gsu_date_msg + + _gsu_banner_msg() { local txt="*** $_gsu_self --"