diff options
Diffstat (limited to 'kernel/xpp/utils/zconf/Zaptel/Xpp/Line.pm')
-rw-r--r-- | kernel/xpp/utils/zconf/Zaptel/Xpp/Line.pm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/xpp/utils/zconf/Zaptel/Xpp/Line.pm b/kernel/xpp/utils/zconf/Zaptel/Xpp/Line.pm index e3e04f0..0014aed 100644 --- a/kernel/xpp/utils/zconf/Zaptel/Xpp/Line.pm +++ b/kernel/xpp/utils/zconf/Zaptel/Xpp/Line.pm @@ -39,15 +39,19 @@ sub create_all($$) { die "Failed globbing '$procdir/*_info'" unless defined $infofile; my $type = $xpd->type; open(F, "$infofile") || die "Failed opening '$infofile': $!"; + my $battery_info = 0; while (<F>) { chomp; if($type eq 'FXO') { - if(s/^\s*battery\s*:\s*//) { + $battery_info = 1 if /^Battery:/; + if($battery_info && s/^\s*on\s*:\s*//) { my @batt = split; foreach my $l (@lines) { die unless @batt; - $l->{BATTERY} = shift @batt; + my $state = shift @batt; + $l->{BATTERY} = ($state eq '+') ? 1 : 0; } + $battery_info = 0; die if @batt; } } |