[pve-devel] applied: [PATCH common v2 3/9] cli: refactor comand name helper
Wolfgang Bumiller
w.bumiller at proxmox.com
Fri Dec 29 12:33:03 CET 2017
applied
On Mon, Dec 18, 2017 at 10:21:37AM +0100, Thomas Lamprecht wrote:
> use shorter and also a bit faster methods to expand and get comand
> names
>
> Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> ---
>
> src/PVE/CLIHandler.pm | 25 +++----------------------
> 1 file changed, 3 insertions(+), 22 deletions(-)
>
> diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm
> index f50611d..c382969 100644
> --- a/src/PVE/CLIHandler.pm
> +++ b/src/PVE/CLIHandler.pm
> @@ -24,33 +24,14 @@ my $expand_command_name = sub {
> my ($def, $cmd) = @_;
>
> if (!$def->{$cmd}) {
> - my $expanded;
> - for my $k (keys(%$def)) {
> - if ($k =~ m/^$cmd/) {
> - if ($expanded) {
> - $expanded = undef; # more than one match
> - last;
> - } else {
> - $expanded = $k;
> - }
> - }
> - }
> - $cmd = $expanded if $expanded;
> + my @expanded = grep { /^\Q$cmd\E/ } keys %$def;
> + return $expanded[0] if scalar(@expanded) == 1; # enforce exact match
> }
> return $cmd;
> };
>
> my $complete_command_names = sub {
> - my $res = [];
> -
> - return if ref($cmddef) ne 'HASH';
> -
> - foreach my $cmd (keys %$cmddef) {
> - next if $cmd eq 'help';
> - push @$res, $cmd;
> - }
> -
> - return $res;
> + return [ sort keys %$cmddef ];
> };
>
> __PACKAGE__->register_method ({
> --
> 2.11.0
More information about the pve-devel
mailing list