Am 26.11.2012 03:38, schrieb Dave Young:
>
>
> For cmdline argument with numeric value, add a new function getargnum
> It will get proper value with default value as $1, max value as $2.
> valid result will be echo to stdout, for nul or value not valid it will just
> echo the default value.
>
> Signed-off-by: Dave Young <[email protected]>
> ---
> modules.d/99base/dracut-lib.sh | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> --- dracut.orig/modules.d/99base/dracut-lib.sh
> +++ dracut/modules.d/99base/dracut-lib.sh
> @@ -167,6 +167,25 @@ getargbool() {
> return 0
> }
>
> +# getargnum <defaultval> <maxval> <args...>
> +# Will echo the arg if it's in range [0 - maxval].
> +# If it's not set or it's not valid, will set it <defaultval>.
> +getargnum() {
> + local _b
> + unset _b
> + local _default
> + local _max
> + _default=$1; shift
> + _max=$1; shift
> + _b=$(getarg "$@")
> + [ $? -ne 0 -a -z "$_b" ] && _b=$_default
> + if [ -n "$_b" ]; then
> + [[ "$_b" =~ ^[0-9]+$ ]] && _b=$(($_b)) && \
we can't use "=~" because it's not posix shell. We restricted ourselves to dash
syntax in the initramfs. sorry.
> + [[ $_b -ge 0 && $_b -le $_max ]] && echo $_b && return
> + fi
> + echo $_default
> +}
> +
> _dogetargs() {
> debug_off
> local _o _found _key
>
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html