DF-1093 / fix.diff
diff --git a/sys/bus/ppbus/ppbconf.c b/sys/bus/ppbus/ppbconf.c index 0000000..1111111 100644 --- a/sys/bus/ppbus/ppbconf.c +++ b/sys/bus/ppbus/ppbconf.c @@ -237,38 +237,48 @@ str[i] = (str[i] == ';') ? '\0' : str[i]; if ((token = search_token(str, len, "MFG")) != NULL || - (token = search_token(str, len, "MANUFACTURER")) != NULL) + (token = search_token(str, len, "MANUFACTURER")) != NULL) { + char *val = search_token(token, UNKNOWN_LENGTH, ":"); kprintf("ppbus%d: <%s", unit, - search_token(token, UNKNOWN_LENGTH, ":") + 1); - else + val != NULL ? val + 1 : ""); + } else kprintf("ppbus%d: <unknown", unit); if ((token = search_token(str, len, "MDL")) != NULL || - (token = search_token(str, len, "MODEL")) != NULL) - kprintf(" %s", - search_token(token, UNKNOWN_LENGTH, ":") + 1); - else + (token = search_token(str, len, "MODEL")) != NULL) { + char *val = search_token(token, UNKNOWN_LENGTH, ":"); + kprintf(" %s", val != NULL ? val + 1 : ""); + } else kprintf(" unknown"); - if ((token = search_token(str, len, "VER")) != NULL) - kprintf("/%s", - search_token(token, UNKNOWN_LENGTH, ":") + 1); - - if ((token = search_token(str, len, "REV")) != NULL) - kprintf(".%s", - search_token(token, UNKNOWN_LENGTH, ":") + 1); + if ((token = search_token(str, len, "VER")) != NULL) { + char *val = search_token(token, UNKNOWN_LENGTH, ":"); + if (val != NULL) + kprintf("/%s", val + 1); + } + + if ((token = search_token(str, len, "REV")) != NULL) { + char *val = search_token(token, UNKNOWN_LENGTH, ":"); + if (val != NULL) + kprintf(".%s", val + 1); + } kprintf(">"); if ((token = search_token(str, len, "CLS")) != NULL) { - class = search_token(token, UNKNOWN_LENGTH, ":") + 1; - kprintf(" %s", class); + char *val = search_token(token, UNKNOWN_LENGTH, ":"); + if (val != NULL) { + class = val + 1; + kprintf(" %s", class); + } } if ((token = search_token(str, len, "CMD")) != NULL || - (token = search_token(str, len, "COMMAND")) != NULL) - kprintf(" %s", - search_token(token, UNKNOWN_LENGTH, ":") + 1); + (token = search_token(str, len, "COMMAND")) != NULL) { + char *val = search_token(token, UNKNOWN_LENGTH, ":"); + if (val != NULL) + kprintf(" %s", val + 1); + } kprintf("\n"); |