From: Thomas Lamprecht Date: Mon, 22 Jan 2018 10:00:07 +0000 (+0100) Subject: CLIHandler: use resolved command definition X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=commitdiff_plain;h=b8dc43668bb64a28dd00b14022302ec8d932deff;ds=sidebyside CLIHandler: use resolved command definition 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 --- diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm index caa7ca6..45c0427 100644 --- a/src/PVE/CLIHandler.pm +++ b/src/PVE/CLIHandler.pm @@ -485,7 +485,7 @@ my $handle_cmd = sub { &$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";