if (printinfo.printer == NULL) {
dltname = pcap_datalink_val_to_name(type);
if (dltname != NULL)
- error("packet printing is not supported for link type %s: use -w",
- dltname);
+ (*ndo->ndo_error)(ndo,
+ "packet printing is not supported for link type %s: use -w",
+ dltname);
else
- error("packet printing is not supported for link type %d: use -w", type);
+ (*ndo->ndo_error)(ndo,
+ "packet printing is not supported for link type %d: use -w", type);
}
return (printinfo);
}
/* VARARGS */
static void
-ndo_error(netdissect_options *ndo _U_, const char *fmt, ...)
+ndo_error(netdissect_options *ndo, const char *fmt, ...)
{
va_list ap;
- (void)fprintf(stderr, "%s: ", program_name);
+ if(ndo->program_name)
+ (void)fprintf(stderr, "%s: ", ndo->program_name);
va_start(ap, fmt);
(void)vfprintf(stderr, fmt, ap);
va_end(ap);
/* VARARGS */
static void
-ndo_warning(netdissect_options *ndo _U_, const char *fmt, ...)
+ndo_warning(netdissect_options *ndo, const char *fmt, ...)
{
va_list ap;
- (void)fprintf(stderr, "%s: WARNING: ", program_name);
+ if(ndo->program_name)
+ (void)fprintf(stderr, "%s: ", ndo->program_name);
+ (void)fprintf(stderr, "WARNING: ");
va_start(ap, fmt);
(void)vfprintf(stderr, fmt, ap);
va_end(ap);