From d67087fc01735754fc96a724bee345d0acf8fcac Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Tue, 12 Aug 2008 22:19:24 +0000 Subject: [PATCH] Fix bytes parsing --- bacula-backup/bacula-backup-lib.pl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/bacula-backup/bacula-backup-lib.pl b/bacula-backup/bacula-backup-lib.pl index 9756910c1..3cba5e734 100644 --- a/bacula-backup/bacula-backup-lib.pl +++ b/bacula-backup/bacula-backup-lib.pl @@ -896,6 +896,7 @@ foreach my $l (split(/\r?\n/, $status)) { elsif ($l =~ /^Terminated\s+Jobs/i) { $sect = 3; } if ($sect == 1 && $l =~ /^\s*(\S+)\s+(\S+)\s+(\d+)\s+(\S+\s+\S+)\s+(\S+)\s+(\S+)\s*$/) { + # Scheduled job push(@sched, { 'level' => &full_level("$1"), 'type' => $2, 'pri' => $3, @@ -904,18 +905,21 @@ foreach my $l (split(/\r?\n/, $status)) { 'volume' => $6 }); } elsif ($sect == 2 && $l =~ /^\s*(\d+)\s+(\S+)\s+(\S+)\.(\d+\-\d+\-\S+)\s+(.*)/) { + # Running job push(@run, { 'id' => $1, 'level' => &full_level("$2"), 'name' => &job_name("$3"), 'status' => $5 }); } elsif ($sect == 2 && $l =~ /^\s*(\d+)\s+(\S+)\.(\d+\-\d+\-\S+)\s+(.*)/) { + # Running job push(@run, { 'id' => $1, 'level' => "Restore", 'name' => &job_name("$2"), 'status' => $4 }); } elsif ($sect == 3 && $l =~ /^\s*(\d+)\s+(\S+)\s+([0-9,]+)\s+([0-9,]+\.[0-9,]+\s+\S+|\d+)\s+(\S+)\s+(\S+\s+\S+)\s+(\S+)\s*$/){ + # Terminated job push(@done, { 'id' => $1, 'level' => &full_level("$2"), 'files' => &remove_comma("$3"), @@ -1063,16 +1067,16 @@ sub remove_comma { local ($n) = @_; $n =~ s/,//g; -if ($n =~ /^(\d+)\s*k/i) { +if ($n =~ /^([0-9\.]+)\s*k/i) { $n = $1*1024; } -elsif ($n =~ /^(\d+)\s*M/i) { +elsif ($n =~ /^([0-9\.]+)\s*M/i) { $n = $1*1024*1024; } -elsif ($n =~ /^(\d+)\s*G/i) { +elsif ($n =~ /^([0-9\.]+)\s*G/i) { $n = $1*1024*1024*1024; } -elsif ($n =~ /^(\d+)\s*T/i) { +elsif ($n =~ /^([0-9\.]+)\s*T/i) { $n = $1*1024*1024*1024*1024; } return $n;