Changeset 933 for trunk/dmi.c
- Timestamp:
- 03/13/10 18:28:29 (2 years ago)
- File:
-
- 1 edited
-
trunk/dmi.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dmi.c
r916 r933 32 32 DMI_BB_PRODUCT, 33 33 DMI_BB_VERSION, 34 DMI_ID_INVALID /* This must always be the last entry*/34 DMI_ID_INVALID, /* This must always be the last entry! */ 35 35 }; 36 36 37 /* The short_id for baseboard starts with "m" as in mainboard to leave 38 "b" available for BIOS */ 37 /* 38 * The short_id for baseboard starts with "m" as in mainboard to leave 39 * "b" available for BIOS. 40 */ 39 41 const char *dmidecode_names[DMI_ID_INVALID] = { 40 42 "system-manufacturer", … … 43 45 "baseboard-manufacturer", 44 46 "baseboard-product-name", 45 "baseboard-version" 47 "baseboard-version", 46 48 }; 47 49 … … 52 54 char *dmistrings[DMI_ID_INVALID]; 53 55 54 /* strings longer than 4096 in DMI are just insane*/56 /* Strings longer than 4096 in DMI are just insane. */ 55 57 #define DMI_MAX_ANSWER_LEN 4096 56 58 … … 60 62 char *result; 61 63 char answerbuf[DMI_MAX_ANSWER_LEN]; 62 char commandline[DMI_COMMAND_LEN_MAX+40]; 64 char commandline[DMI_COMMAND_LEN_MAX + 40]; 65 63 66 snprintf(commandline, sizeof(commandline), 64 67 "%s -s %s", dmidecode_command, string_name); … … 83 86 } 84 87 85 /* chomp trailing newline*/88 /* Chomp trailing newline. */ 86 89 if (answerbuf[0] != 0 && 87 90 answerbuf[strlen(answerbuf) - 1] == '\n') … … 100 103 int i; 101 104 char *chassis_type; 105 102 106 has_dmi_support = 1; 103 107 for (i = 0; i < DMI_ID_INVALID; i++) { … … 132 136 int anchored = 0; 133 137 int patternlen; 138 134 139 printf_debug("matching %s against %s\n", value, pattern); 135 /* The empty string is part of all strings */140 /* The empty string is part of all strings! */ 136 141 if (pattern[0] == 0) 137 142 return 1; … … 146 151 int valuelen = strlen(value); 147 152 patternlen--; 148 if (patternlen > valuelen)153 if (patternlen > valuelen) 149 154 return 0; 150 155 151 156 /* full string match: require same length */ 152 if (anchored && (valuelen != patternlen))157 if (anchored && (valuelen != patternlen)) 153 158 return 0; 154 159 … … 167 172 { 168 173 int i; 174 169 175 if (!has_dmi_support) 170 176 return 0; 171 177 172 for (i = 0; i < DMI_ID_INVALID; i++)173 if (dmi_compare(dmistrings[i], pattern))178 for (i = 0; i < DMI_ID_INVALID; i++) 179 if (dmi_compare(dmistrings[i], pattern)) 174 180 return 1; 175 181
Note: See TracChangeset
for help on using the changeset viewer.
