- if (len >= 8 && buf[2] == ':' && buf[5] == '.' && buf[7] == ' ' &&
- sscanf(buf, "%x:%x.%d ", &bn, &dn, &fn) == 3)
+ mn = 0;
+ if (dump_validate(buf, "##:##.# ") && sscanf(buf, "%x:%x.%d", &bn, &dn, &fn) == 3 ||
+ dump_validate(buf, "####:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4 ||
+ dump_validate(buf, "#####:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4)