@@ -993,13 +993,13 @@ fn smbios_info() {
993993 if let Some ( version) = dmidecode_string_val ( & data. version ( ) ) {
994994 // Assumes it's ASCII, which is guaranteed by SMBIOS
995995 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)
999999 {
10001000 println ! ( " Version: {:?} ({})" , version_config, version) ;
10011001 } else {
1002- println ! ( " Version: {} " , version) ;
1002+ println ! ( " Version: '{}' " , version) ;
10031003 }
10041004 }
10051005 if let Some ( manufacturer) = dmidecode_string_val ( & data. manufacturer ( ) ) {
@@ -1014,10 +1014,37 @@ fn smbios_info() {
10141014 if let Some ( sku_number) = dmidecode_string_val ( & data. sku_number ( ) ) {
10151015 println ! ( " SKU Number: {}" , sku_number) ;
10161016 }
1017+ if let Some ( sn) = dmidecode_string_val ( & data. serial_number ( ) ) {
1018+ println ! ( " Serial Number:{}" , sn) ;
1019+ }
10171020 if let Some ( family) = dmidecode_string_val ( & data. family ( ) ) {
10181021 println ! ( " Family: {}" , family) ;
10191022 }
10201023 }
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+ }
10211048 _ => { }
10221049 }
10231050 }
0 commit comments