From f5728af1452c66d691b042a1fe27d588d6bd4ce5 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Tue, 26 Nov 2002 17:03:02 +0000 Subject: [PATCH] Display the BIOS version (from dmidecode). Not used for now, but may be later. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1650 7894878c-1315-0410-8ee3-d5d059ff63e0 --- prog/detect/sensors-detect | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index e34eed2c..426f5e0f 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -2900,17 +2900,37 @@ sub system_safeness_by_dmi return 0; } - my $line; - while (defined ($line = ) && $line !~ m/^\s*System Information/) {} - while (defined ($line = ) && $line !~ m/^\s*Vendor:/) {} + my ($dmitype, $biosversion, $systemvendor); + while () + { + if (m/^\s*DMI type (\d+),/) + { + $dmitype = $1; + next; + } + next unless defined $dmitype; + if ($dmitype == 1 && m/^\s*Vendor: (.*)$/) + { + $systemvendor = $1; + } + elsif ($dmitype == 0 && m/^\s*Version: (.*)$/) + { + $biosversion = $1; + } + last if (defined $biosversion && defined $systemvendor); + } close (DMI); - if ((defined $line) && ($line =~ m/^\s*Vendor: (.*)$/) && ($1 !~ /^\s*$/)) + if (defined $systemvendor && $systemvendor !~ m/^\s*$/) { - my $vendor = $1; - $vendor =~ s/\s*$//; - print " System vendor (DMI): $vendor\n"; - return 'IBM' if $vendor =~ /\bIBM\b/; + $systemvendor =~ s/\s*$//; + print " System vendor (DMI): $systemvendor\n"; + if (defined $biosversion && $biosversion !~ m/^\s*$/) + { + $biosversion =~ s/\s*$//; + print " BIOS version (DMI): $biosversion\n"; + } + return 'IBM' if $systemvendor =~ /\bIBM\b/; return '1'; }