diff --git a/lib/ulib/base.args b/lib/ulib/base.args index d09f1bd..34790a6 100644 --- a/lib/ulib/base.args +++ b/lib/ulib/base.args @@ -86,9 +86,10 @@ function __po_parse_optdescs() { elif [[ "$optdesc_" == *:: ]]; then option_="${optdesc_%::}" if [[ "$2" == *=* ]]; then - # la valeur mentionnée est toujours ignorée - name_="${2%%=*}" - [ -n "$reset_" ] && eval "$name_=" + # la valeur mentionnée est toujours ignorée. le '=' à la + # fin est utilisé par __po_process_options() ci-dessous. + name_="${2%%=*}=" + [ -n "$reset_" ] && eval "$name_" else name_="$2" [ -n "$reset_" ] && eval "$name_=()" @@ -97,9 +98,10 @@ function __po_parse_optdescs() { elif [[ "$optdesc_" == *: ]]; then option_="${optdesc_%:}" if [[ "$2" == *=* ]]; then - # la valeur mentionnée est toujours ignorée - name_="${2%%=*}" - [ -n "$reset_" ] && eval "$name_=" + # la valeur mentionnée est toujours ignorée. le '=' à la + # fin est utilisé par __po_process_options() ci-dessous. + name_="${2%%=*}=" + [ -n "$reset_" ] && eval "$name_" else name_="$2" [ -n "$reset_" ] && eval "$name_=()"