X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/cf6018bf77dfb314e428d5326835f99f209e84b3..0f5b6fd3e9a5d6d269e9a01f8acbacbcaebf12d5:/tcpdump.c diff --git a/tcpdump.c b/tcpdump.c index ad07df6f..c0605fbb 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -1013,6 +1013,12 @@ main(int argc, char **argv) packettype = PT_RADIUS; else if (strcasecmp(optarg, "zmtp1") == 0) packettype = PT_ZMTP1; + else if (strcasecmp(optarg, "vxlan") == 0) + packettype = PT_VXLAN; + else if (strcasecmp(optarg, "pgm") == 0) + packettype = PT_PGM; + else if (strcasecmp(optarg, "pgm_zmtp1") == 0) + packettype = PT_PGM_ZMTP1; else error("unknown packet type `%s'", optarg); break; @@ -1212,8 +1218,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 @@ -1543,6 +1549,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.