For sub commands we resolve the real $cmd, $def and its arguments,
thus we should also get the handler from the resolved $def, not the
global one.
No change for normal (consisting of only the first argument)
commands, for them $cmddef == $def.
This sneaked in in a respin/rebase of the series.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
&$preparefunc() if $preparefunc;
- my ($class, $name, $arg_param, $uri_param, $outsub) = @{$cmddef->{$cmd} || []};
+ my ($class, $name, $arg_param, $uri_param, $outsub) = @{$def || []};
$abort->("unknown command '$cmd_str'") if !$class;
my $prefix = "$exename $cmd_str";