From eff4a1e106d4e596ae92c940151c15af2a811581 Mon Sep 17 00:00:00 2001 From: Leeland Heins Date: Wed, 16 Jan 2019 13:35:54 -0600 Subject: [PATCH] Bug fixes --- PO.pm | 6 ++++++ ProDOS.pm | 2 ++ 2 files changed, 8 insertions(+) diff --git a/PO.pm b/PO.pm index fed821c..f3aaf34 100644 --- a/PO.pm +++ b/PO.pm @@ -130,6 +130,12 @@ sub read_blk { return 0; } +sub clear_buf { + my ($buf) = @_; + + $$buf = pack "C*", 0x00 x 512; +} + # # Write Track/Sector # diff --git a/ProDOS.pm b/ProDOS.pm index 67aa977..7777834 100644 --- a/ProDOS.pm +++ b/ProDOS.pm @@ -1011,6 +1011,7 @@ sub read_file { my $blkno = 1; foreach my $blk (@blks) { #print "blkno=$blkno blk=$blk\n"; + clear_buf(\$buf2); if (read_blk($pofile, $blk, \$buf2)) { dump_blk($buf2) if $debug; my @bytes = unpack "C*", $buf2; @@ -1083,6 +1084,7 @@ sub get_vol_bit_map { my $trk = 0; for (my $blk = $bit_map_pointer; $blk < $bit_map_pointer + $num_vol_bit_map_blks; $blk++) { + clear_buf(\$buf); if (read_blk($pofile, $bit_map_pointer, \$buf)) { dump_blk($buf) if $debug; my (@blks) = parse_vol_bit_map($buf, $debug);