diff --git a/sim_ether.c b/sim_ether.c index 58adb234..f85fc072 100644 --- a/sim_ether.c +++ b/sim_ether.c @@ -2478,10 +2478,17 @@ const char *eth_version (void) static char version[256]; if (!version[0]) { - if (memcmp(pcap_lib_version(), "Npcap", 5)) - strlcpy(version, pcap_lib_version(), sizeof(version)); - else - snprintf(version, sizeof(version), "Unsupported - %s", pcap_lib_version()); + strlcpy(version, pcap_lib_version(), sizeof(version)); + if (memcmp(pcap_lib_version(), "Npcap", 5) == 0) { + char maj_min[CBUFSIZE]; + char *c = version; + + while (*c && !isdigit (*c)) + ++c; + get_glyph (c, maj_min, ','); + if (strcmp ("0.9990", maj_min) < 0) + snprintf(version, sizeof(version), "Unsupported - %s", pcap_lib_version()); + } } return version; #else