From 5102a3ed6cf2d4b1addecf52495faafc04107cc5 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 18 Jul 2010 15:30:18 +0200 Subject: [PATCH] gsu: Change semantics of gsu_check_arg_count(). It's kind of ugly having to specify an artificial upper bound on the arg count if the allowed number of arguments is unlimited. --- funcs/gsu | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/funcs/gsu b/funcs/gsu index 8cfa4de..b409bc5 100644 --- a/funcs/gsu +++ b/funcs/gsu @@ -45,17 +45,25 @@ gsu_is_a_number() } export -f gsu_is_a_number +# Check number of arguments. +# # 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. +# Check that is between and inclusively. +# If only ist given, num2 is assumed to be infinity. +# +# Examples: +# 0 0 no argument allowed +# 1 1 exactly one argument required +# 0 2 at most two arguments admissible +# 2 at least two arguments reqired +# 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 + result="at least $2 args required, $1 given" + [[ $1 -lt $2 ]] && return ret=$GSU_SUCCESS return fi -- 2.39.2