]> Dogcows Code - chaz/p5-File-KDBX/blobdiff - lib/File/KDBX/Dumper/XML.pm
Remove min_version and clean up a lot of pod
[chaz/p5-File-KDBX] / lib / File / KDBX / Dumper / XML.pm
index 3a9e70ba9a32b5da4d8f7fbf952df99621383492..7dd23d52ea0ef95aa357698ec65d4ffab933ba61 100644 (file)
@@ -62,8 +62,8 @@ the authenticity of header data. This is unnecessary and should not be used with
 format uses HMAC-SHA256 to detect tampering.
 
 L<File::KDBX::Dumper::V3> automatically calculates the header hash an provides it to this module, and plain
-XML files which don't have a KDBX wrapper don't have headers and so should have a header hash. Therefore there
-is probably never any reason to set this manually.
+XML files which don't have a KDBX wrapper don't have headers and so should not have a header hash. Therefore
+there is probably never any reason to set this manually.
 
 =cut
 
@@ -178,8 +178,8 @@ sub _write_xml_binaries {
     my $new_ref = keys %{$self->_binaries_written};
     my $written = $self->_binaries_written;
 
-    my $entries = $kdbx->all_entries(history => true);
-    for my $entry (@$entries) {
+    my $entries = $kdbx->entries(history => 1);
+    while (my $entry = $entries->next) {
         for my $key (keys %{$entry->binaries}) {
             my $binary = $entry->binaries->{$key};
             if (defined $binary->{ref} && defined $kdbx->binaries->{$binary->{ref}}) {
@@ -249,10 +249,10 @@ sub _write_xml_custom_icons {
     my $self = shift;
     my $node = shift;
 
-    my $custom_icons = $self->kdbx->meta->{custom_icons} || {};
+    my $custom_icons = $self->kdbx->custom_icons;
 
-    for my $uuid (sort keys %$custom_icons) {
-        my $icon = $custom_icons->{$uuid};
+    for my $icon (@$custom_icons) {
+        $icon->{uuid} && $icon->{data} or next;
         my $icon_node = $node->addNewChild(undef, 'Icon');
 
         $self->_write_xml_from_pairs($icon_node, $icon,
@@ -296,7 +296,7 @@ sub _write_xml_root {
 
     if (my $group = $kdbx->root) {
         my $group_node = $node->addNewChild(undef, 'Group');
-        $self->_write_xml_group($group_node, $group->_confirmed);
+        $self->_write_xml_group($group_node, $group->_committed);
     }
 
     undef $guard;   # re-lock if needed, as early as possible
@@ -337,12 +337,12 @@ sub _write_xml_group {
 
     for my $entry (@{$group->entries}) {
         my $entry_node = $node->addNewChild(undef, 'Entry');
-        $self->_write_xml_entry($entry_node, $entry->_confirmed);
+        $self->_write_xml_entry($entry_node, $entry->_committed);
     }
 
     for my $group (@{$group->groups}) {
         my $group_node = $node->addNewChild(undef, 'Group');
-        $self->_write_xml_group($group_node, $group->_confirmed);
+        $self->_write_xml_group($group_node, $group->_committed);
     }
 }
 
@@ -423,7 +423,7 @@ sub _write_xml_entry {
             my $history_node = $node->addNewChild(undef, 'History');
             for my $historical (@history) {
                 my $historical_node = $history_node->addNewChild(undef, 'Entry');
-                $self->_write_xml_entry($historical_node, $historical->_confirmed, 1);
+                $self->_write_xml_entry($historical_node, $historical->_committed, 1);
             }
         }
     }
This page took 0.018834 seconds and 4 git commands to generate.