diff options
Diffstat (limited to 'perl-install/resize_fat/info_sector.pm')
-rw-r--r-- | perl-install/resize_fat/info_sector.pm | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/perl-install/resize_fat/info_sector.pm b/perl-install/resize_fat/info_sector.pm index dc459ef6c..c46ae15fc 100644 --- a/perl-install/resize_fat/info_sector.pm +++ b/perl-install/resize_fat/info_sector.pm @@ -6,13 +6,12 @@ use strict; use common qw(:system); use resize_fat::io; -#- Oops, this will be unresizable on big-endian machine. trapped by signature. my $format = "a484 I I I a16"; my @fields = ( 'unused', - 'signature', #- should be 0x61417272 - 'free_clusters', #- -1 for unknown - 'next_cluster', #- most recently allocated cluster + 'signature', # should be 0x61417272 + 'free_clusters', # -1 for unknown + 'next_cluster', # most recently allocated cluster 'unused2', ); @@ -21,15 +20,15 @@ my @fields = ( sub read($) { my ($fs) = @_; - my $info = resize_fat::io::read($fs, $fs->{info_offset}, psizeof($format)); + my $info = resize_fat::io::read($fs, $fs->{offset}, psizeof($format)); @{$fs->{info_sector}}{@fields} = unpack $format, $info; - $fs->{info_sector}{signature} == 0x61417272 or die "Invalid information sector signature\n"; + $fs->{info_sector}->{signature} == 0x61417272 or die "Invalid information sector signature\n"; } sub write($) { my ($fs) = @_; - $fs->{info_sector}{free_clusters} = $fs->{clusters}->{count}->{free}; - $fs->{info_sector}{next_cluster} = 2; + $fs->{info_sector}->{free_clusters} = $fs->{clusters}->{count}->{free}; + $fs->{info_sector}->{next_cluster} = 2; my $info = pack $format, @{$fs->{info_sector}}{@fields}; |