- if ((len >= 8 && buf[2] == ':' && buf[5] == '.' && buf[7] == ' ' &&
- sscanf(buf, "%x:%x.%d ", &bn, &dn, &fn) == 3) ||
- (len >= 13 && buf[4] == ':' && buf[7] == ':' && buf[10] == '.' && buf[12] == ' ' &&
- sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4))
+ 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)