@@ -993,13 +993,13 @@ fn smbios_info() {
993
993
if let Some ( version) = dmidecode_string_val ( & data. version ( ) ) {
994
994
// Assumes it's ASCII, which is guaranteed by SMBIOS
995
995
let config_digit0 = & version[ 0 ..1 ] ;
996
- let config_digit0 = u8:: from_str_radix ( config_digit0, 16 ) . unwrap ( ) ;
997
- if let Some ( version_config) =
998
- <ConfigDigit0 as FromPrimitive >:: from_u8 ( config_digit0 )
996
+ let config_digit0 = u8:: from_str_radix ( config_digit0, 16 ) ;
997
+ if let Ok ( version_config) =
998
+ config_digit0 . map ( <ConfigDigit0 as FromPrimitive >:: from_u8)
999
999
{
1000
1000
println ! ( " Version: {:?} ({})" , version_config, version) ;
1001
1001
} else {
1002
- println ! ( " Version: {} " , version) ;
1002
+ println ! ( " Version: '{}' " , version) ;
1003
1003
}
1004
1004
}
1005
1005
if let Some ( manufacturer) = dmidecode_string_val ( & data. manufacturer ( ) ) {
@@ -1014,10 +1014,37 @@ fn smbios_info() {
1014
1014
if let Some ( sku_number) = dmidecode_string_val ( & data. sku_number ( ) ) {
1015
1015
println ! ( " SKU Number: {}" , sku_number) ;
1016
1016
}
1017
+ if let Some ( sn) = dmidecode_string_val ( & data. serial_number ( ) ) {
1018
+ println ! ( " Serial Number:{}" , sn) ;
1019
+ }
1017
1020
if let Some ( family) = dmidecode_string_val ( & data. family ( ) ) {
1018
1021
println ! ( " Family: {}" , family) ;
1019
1022
}
1020
1023
}
1024
+ DefinedStruct :: BaseBoardInformation ( data) => {
1025
+ println ! ( "BaseBoard Information" ) ;
1026
+ if let Some ( version) = dmidecode_string_val ( & data. version ( ) ) {
1027
+ // Assumes it's ASCII, which is guaranteed by SMBIOS
1028
+ let config_digit0 = & version[ 0 ..1 ] ;
1029
+ let config_digit0 = u8:: from_str_radix ( config_digit0, 16 ) ;
1030
+ if let Ok ( version_config) =
1031
+ config_digit0. map ( <ConfigDigit0 as FromPrimitive >:: from_u8)
1032
+ {
1033
+ println ! ( " Version: {:?} ({})" , version_config, version) ;
1034
+ } else {
1035
+ println ! ( " Version: '{}'" , version) ;
1036
+ }
1037
+ }
1038
+ if let Some ( manufacturer) = dmidecode_string_val ( & data. manufacturer ( ) ) {
1039
+ println ! ( " Manufacturer: {}" , manufacturer) ;
1040
+ }
1041
+ if let Some ( product_name) = dmidecode_string_val ( & data. product ( ) ) {
1042
+ println ! ( " Product: {}" , product_name) ;
1043
+ }
1044
+ if let Some ( sn) = dmidecode_string_val ( & data. serial_number ( ) ) {
1045
+ println ! ( " Serial Number:{}" , sn) ;
1046
+ }
1047
+ }
1021
1048
_ => { }
1022
1049
}
1023
1050
}
0 commit comments