]> Dogcows Code - chaz/p5-File-KDBX/blobdiff - lib/PerlIO/via/File/KDBX/HashBlock.pm
Add better IO support for possible fopen modes
[chaz/p5-File-KDBX] / lib / PerlIO / via / File / KDBX / HashBlock.pm
index ce1b93598cdc6f5f2867fe24fe8a186e29f5882a..e4a772bac55f546c39007024bddb5fd2ff66fc73 100644 (file)
@@ -5,6 +5,7 @@ use warnings;
 use strict;
 
 use Crypt::Digest qw(digest_data);
+use Errno;
 use File::KDBX::Error;
 use File::KDBX::Util qw(:io);
 use IO::Handle;
@@ -46,13 +47,12 @@ sub push {
 sub PUSHED {
     my ($class, $mode) = @_;
 
-    $ENV{DEBUG_STREAM} and print STDERR "PUSHED\t$class\n";
-    my $buf = '';
+    $ENV{DEBUG_STREAM} and print STDERR "PUSHED\t$class (mode: $mode)\n";
     my $self = bless {
         algorithm   => $PUSHED_ARGS{algorithm} || $ALGORITHM,
         block_index => 0,
         block_size  => $PUSHED_ARGS{block_size} || $BLOCK_SIZE,
-        buffer      => \$buf,
+        buffer      => \(my $buf = ''),
         eof         => 0,
         mode        => $mode,
     }, $class;
@@ -120,11 +120,11 @@ sub FLUSH {
     return 0;
 }
 
-sub EOF      {
+sub EOF {
     $ENV{DEBUG_STREAM} and print STDERR "EOF\t$_[0]\n";
     $_[0]->{eof} || $_[0]->ERROR($_[1]);
 }
-sub ERROR    {
+sub ERROR {
     $ENV{DEBUG_STREAM} and print STDERR "ERROR\t$_[0] : ", $_[0]->{error} // 'ok', "\n";
     $ERROR = $_[0]->{error} if $_[0]->{error};
     $_[0]->{error} ? 1 : 0;
This page took 0.01898 seconds and 4 git commands to generate.