#define OPTION_COUNT 136
#define OPTION_PRINT_SAMPLING 137
#define OPTION_LENGTHS 138
+#define OPTION_TIME_T_SIZE 139
static const struct option longopts[] = {
{ "buffer-size", required_argument, NULL, 'B' },
{ "print", no_argument, NULL, OPTION_PRINT },
{ "print-sampling", required_argument, NULL, OPTION_PRINT_SAMPLING },
{ "lengths", no_argument, NULL, OPTION_LENGTHS },
+ { "time-t-size", no_argument, NULL, OPTION_TIME_T_SIZE },
{ "version", no_argument, NULL, OPTION_VERSION },
{ NULL, 0, NULL, 0 }
};
/*
* No, it's not an ordinal.
*/
- error("Invalid adapter index");
+ error("Invalid adapter index %s", device);
}
return (devnum);
} else {
for (i = 0, dev = devlist; i < devnum-1 && dev != NULL;
i++, dev = dev->next)
;
- if (dev == NULL)
- error("Invalid adapter index");
+ if (dev == NULL) {
+ pcap_freealldevs(devlist);
+ error("Invalid adapter index %ld: only %ld interfaces found",
+ devnum, i);
+ }
device = strdup(dev->name);
pcap_freealldevs(devlist);
return (device);
ndo->ndo_lengths = 1;
break;
+ case OPTION_TIME_T_SIZE:
+ printf("%zu\n", sizeof(time_t) * 8);
+ return 0;
+
case OPTION_VERSION:
print_version(stdout);
exit_tcpdump(S_SUCCESS);