]> git.proxmox.com Git - pve-zsync.git/commitdiff
cleanup ugly hash usage
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 24 Aug 2018 09:40:46 +0000 (11:40 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 24 Aug 2018 09:45:39 +0000 (11:45 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
pve-zsync

index e9122867762de5f924e7e8562f9bae3f22d81cc4..10d6bac8bfa6cc355b14e6409148d1a88f4b5f59 100755 (executable)
--- a/pve-zsync
+++ b/pve-zsync
@@ -201,39 +201,40 @@ sub read_cron {
 sub parse_argv {
     my (@arg) = @_;
 
-    my $param = {};
-    $param->{dest} = undef;
-    $param->{source} = undef;
-    $param->{verbose} = undef;
-    $param->{limit} = undef;
-    $param->{maxsnap} = undef;
-    $param->{name} = undef;
-    $param->{skip} = undef;
-    $param->{method} = undef;
-    $param->{source_user} = undef;
-    $param->{dest_user} = undef;
-
-    my ($ret, $ar) = GetOptionsFromArray(\@arg,
-                                        'dest=s' => \$param->{dest},
-                                        'source=s' => \$param->{source},
-                                        'verbose' => \$param->{verbose},
-                                        'limit=i' => \$param->{limit},
-                                        'maxsnap=i' => \$param->{maxsnap},
-                                        'name=s' => \$param->{name},
-                                        'skip' => \$param->{skip},
-                                        'method=s' => \$param->{method},
-                                        'source-user=s' => \$param->{source_user},
-                                        'dest-user=s' => \$param->{dest_user});
-
-    if ($ret == 0) {
-       die "can't parse options\n";
-    }
+    my $param = {
+       dest => undef,
+       source => undef,
+       verbose => undef,
+       limit => undef,
+       maxsnap => undef,
+       name => undef,
+       skip => undef,
+       method => undef,
+       source_user => undef,
+       dest_user => undef,
+    };
 
-    $param->{name} = "default" if !$param->{name};
-    $param->{maxsnap} = 1 if !$param->{maxsnap};
-    $param->{method} = "ssh" if !$param->{method};
-    $param->{source_user} = "root" if(!$param->{source_user});
-    $param->{dest_user} = "root" if(!$param->{dest_user});
+    my ($ret) = GetOptionsFromArray(
+       \@arg,
+       'dest=s' => \$param->{dest},
+       'source=s' => \$param->{source},
+       'verbose' => \$param->{verbose},
+       'limit=i' => \$param->{limit},
+       'maxsnap=i' => \$param->{maxsnap},
+       'name=s' => \$param->{name},
+       'skip' => \$param->{skip},
+       'method=s' => \$param->{method},
+       'source-user=s' => \$param->{source_user},
+       'dest-user=s' => \$param->{dest_user}
+    );
+
+    die "can't parse options\n" if $ret == 0;
+
+    $param->{name} //= "default";
+    $param->{maxsnap} //= 1;
+    $param->{method} //= "ssh";
+    $param->{source_user} //= "root";
+    $param->{dest_user} //= "root";
 
     return $param;
 }
@@ -266,14 +267,10 @@ sub encode_cron {
        my $param = parse_argv(@arg);
 
        if ($param->{source} && $param->{dest}) {
-           $cfg->{$param->{source}}->{$param->{name}}->{dest} = $param->{dest};
-           $cfg->{$param->{source}}->{$param->{name}}->{verbose} = $param->{verbose};
-           $cfg->{$param->{source}}->{$param->{name}}->{limit} = $param->{limit};
-           $cfg->{$param->{source}}->{$param->{name}}->{maxsnap} = $param->{maxsnap};
-           $cfg->{$param->{source}}->{$param->{name}}->{skip} = $param->{skip};
-           $cfg->{$param->{source}}->{$param->{name}}->{method} = $param->{method};
-           $cfg->{$param->{source}}->{$param->{name}}->{source_user} = $param->{source_user};
-           $cfg->{$param->{source}}->{$param->{name}}->{dest_user} = $param->{dest_user};
+           my $source = delete $param->{source};
+           my $name = delete $param->{name};
+
+           $cfg->{$source}->{$name} = $param;
        }
     }