]> git.proxmox.com Git - pve-guest-common.git/blobdiff - PVE/AbstractConfig.pm
refactor/cleanup add_to_pending_delete sligthly
[pve-guest-common.git] / PVE / AbstractConfig.pm
index 055bd74027eb092b165cdbe8075f365f9ff5fada..b07ef5936131c95dbf517ac9c683b9c6a0c6b69b 100644 (file)
@@ -99,16 +99,21 @@ sub print_pending_delete {
        return $key;
     };
 
-    join (',', map { $render_key->($_) } keys %$delete_hash);
+    join (',', map { $render_key->($_) } sort keys %$delete_hash);
 }
 
 sub add_to_pending_delete {
     my ($class, $conf, $key, $force) = @_;
 
-    delete $conf->{pending}->{$key};
-    my $pending_delete_hash = $class->parse_pending_delete($conf->{pending}->{delete});
-    $pending_delete_hash->{$key}->{force} = $force;
-    $conf->{pending}->{delete} = $class->print_pending_delete($pending_delete_hash);
+    $conf->{pending} //= {};
+    my $pending = $conf->{pending};
+    my $pending_delete_hash = $class->parse_pending_delete($pending->{delete});
+
+    $pending_delete_hash->{$key} = { force => $force };
+
+    $pending->{delete} = $class->print_pending_delete($pending_delete_hash);
+
+    return $conf;
 }
 
 sub remove_from_pending_delete {