]> Dogcows Code - chaz/p5-File-KDBX/blobdiff - lib/File/KDBX/Loader/XML.pm
Prereq Time::Piece 1.33 to fix KDBX4 datetimes
[chaz/p5-File-KDBX] / lib / File / KDBX / Loader / XML.pm
index 1931153636d59b9626e6251934f3d38a3cc89f42..68d1abeb1125dd71063fa6ffb4f31b6bd7e7cbbb 100644 (file)
@@ -11,7 +11,7 @@ use File::KDBX::Error;
 use File::KDBX::Safe;
 use File::KDBX::Util qw(:class :int :text gunzip erase_scoped);
 use Scalar::Util qw(looks_like_number);
-use Time::Piece;
+use Time::Piece 1.33;
 use XML::LibXML::Reader;
 use boolean;
 use namespace::clean;
@@ -496,7 +496,7 @@ sub _read_xml_content {
     my $decoded = eval { _decode_primitive($content, $type) };
     if (my $err = $@) {
         ref $err and $err->details(node => $reader->nodePath, line => $reader->lineNumber);
-        throw $err
+        throw $err;
     }
 
     return $decoded;
@@ -536,10 +536,9 @@ sub _decode_datetime {
         $binary .= \0 x (8 - length($binary)) if length($binary) < 8;
         my ($seconds_since_ad1) = unpack_Ql($binary);
         my $epoch = $seconds_since_ad1 - TIME_SECONDS_AD1_TO_UNIX_EPOCH;
-        return Time::Piece->new($epoch);
+        return gmtime($epoch);
     }
 
-
     my $dt = eval { Time::Piece->strptime($_, '%Y-%m-%dT%H:%M:%SZ') };
     if (my $err = $@) {
         throw 'Failed to parse datetime', text => $_, error => $err;
This page took 0.018292 seconds and 4 git commands to generate.