device);
exit_tcpdump(S_SUCCESS);
}
- fprintf(stderr, "Time stamp types for %s (use option -j to set):\n",
+ fprintf(stdout, "Time stamp types for %s (use option -j to set):\n",
device);
for (i = 0; i < n_tstamp_types; i++) {
tstamp_type_name = pcap_tstamp_type_val_to_name(tstamp_types[i]);
if (tstamp_type_name != NULL) {
- (void) fprintf(stderr, " %s (%s)\n", tstamp_type_name,
+ (void) fprintf(stdout, " %s (%s)\n", tstamp_type_name,
pcap_tstamp_type_val_to_description(tstamp_types[i]));
} else {
- (void) fprintf(stderr, " %d\n", tstamp_types[i]);
+ (void) fprintf(stdout, " %d\n", tstamp_types[i]);
}
}
pcap_free_tstamp_types(tstamp_types);
* monitor mode might be different from the ones available when
* not in monitor mode).
*/
+ (void) fprintf(stdout, "Data link types for ");
if (supports_monitor_mode)
- (void) fprintf(stderr, "Data link types for %s %s (use option -y to set):\n",
+ (void) fprintf(stdout, "%s %s",
device,
Iflag ? "when in monitor mode" : "when not in monitor mode");
else
- (void) fprintf(stderr, "Data link types for %s (use option -y to set):\n",
+ (void) fprintf(stdout, "%s",
device);
+ (void) fprintf(stdout, " (use option -y to set):\n");
for (i = 0; i < n_dlts; i++) {
dlt_name = pcap_datalink_val_to_name(dlts[i]);
if (dlt_name != NULL) {
- (void) fprintf(stderr, " %s (%s)", dlt_name,
+ (void) fprintf(stdout, " %s (%s)", dlt_name,
pcap_datalink_val_to_description(dlts[i]));
/*
* OK, does tcpdump handle that type?
*/
if (!has_printer(dlts[i]))
- (void) fprintf(stderr, " (printing not supported)");
- fprintf(stderr, "\n");
+ (void) fprintf(stdout, " (printing not supported)");
+ fprintf(stdout, "\n");
} else {
- (void) fprintf(stderr, " DLT %d (printing not supported)\n",
+ (void) fprintf(stdout, " DLT %d (printing not supported)\n",
dlts[i]);
}
}
int yflag_dlt = -1;
const char *yflag_dlt_name = NULL;
int print = 0;
+ long Cflagmult = 1000000;
netdissect_options Ndo;
netdissect_options *ndo = &Ndo;
case 'C':
errno = 0;
+ if (optarg[strlen(optarg)-1] == 'k') {
+ Cflagmult = 1024;
+ optarg[strlen(optarg)-1] = '\0';
+ }
+ if (optarg[strlen(optarg)-1] == 'm') {
+ Cflagmult = 1024*1024;
+ optarg[strlen(optarg)-1] = '\0';
+ }
+ if (optarg[strlen(optarg)-1] == 'g') {
+ Cflagmult = 1024*1024*1024;
+ optarg[strlen(optarg)-1] = '\0';
+ }
#ifdef HAVE_PCAP_DUMP_FTELL64
Cflag = strtoint64_t(optarg, &endp, 10);
#else
|| Cflag <= 0)
error("invalid file size %s", optarg);
/*
- * Will multiplying it by 1000000 overflow?
+ * Will multiplying it by multiplier overflow?
*/
#ifdef HAVE_PCAP_DUMP_FTELL64
- if (Cflag > INT64_T_CONSTANT(0x7fffffffffffffff) / 1000000)
+ if (Cflag > INT64_T_CONSTANT(0x7fffffffffffffff) / Cflagmult)
#else
- if (Cflag > LONG_MAX / 1000000)
+ if (Cflag > LONG_MAX / Cflagmult)
#endif
error("file size %s is too large", optarg);
- Cflag *= 1000000;
+ Cflag *= Cflagmult;
break;
case 'd':