X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/1f59859d649a93ea8aad3ae80e8640ef7249d3d7..b71c02f6b36c11c1e9d1ef5e8855f31965d3298b:/tcpdump.c?ds=inline diff --git a/tcpdump.c b/tcpdump.c index 49029b89..a4e8bf5a 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -1011,6 +1011,10 @@ main(int argc, char **argv) packettype = PT_CARP; else if (strcasecmp(optarg, "radius") == 0) packettype = PT_RADIUS; + else if (strcasecmp(optarg, "zmtp1") == 0) + packettype = PT_ZMTP1; + else if (strcasecmp(optarg, "vxlan") == 0) + packettype = PT_VXLAN; else error("unknown packet type `%s'", optarg); break; @@ -1210,8 +1214,8 @@ main(int argc, char **argv) * Print a message to the standard error on Windows. * XXX - why do it here, with a different message? */ - if(strlen(device) == 1) //we assume that an ASCII string is always longer than 1 char - { //a Unicode string has a \0 as second byte (so strlen() is 1) + if(strlen(device) == 1) /* we assume that an ASCII string is always longer than 1 char */ + { /* a Unicode string has a \0 as second byte (so strlen() is 1) */ fprintf(stderr, "%s: listening on %ws\n", program_name, device); } else @@ -1541,6 +1545,14 @@ main(int argc, char **argv) } (void)fflush(stdout); } + if (status == -2) { + /* + * We got interrupted. If we are reading multiple + * files (via -V) set these so that we stop. + */ + VFileName = NULL; + ret = NULL; + } if (status == -1) { /* * Error. Report it.