From edab51b4205a273b8b215b6bfd0563661a09a4d9 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Tue, 30 Jul 2019 12:28:20 -0700 Subject: [PATCH] minor bugfix in mdig: when using +multi, +norrcomments was ignored --- bin/tools/mdig.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/bin/tools/mdig.c b/bin/tools/mdig.c index 3c065af7b8..0b796d1717 100644 --- a/bin/tools/mdig.c +++ b/bin/tools/mdig.c @@ -94,7 +94,7 @@ static bool besteffort = true; static bool display_short_form = false; static bool display_headers = true; static bool display_comments = true; -static bool display_rrcomments = true; +static int display_rrcomments = 0; static bool display_ttlunits = true; static bool display_ttl = true; static bool display_class = true; @@ -247,7 +247,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) { styleflags |= DNS_STYLEFLAG_COMMENT; if (display_unknown_format) styleflags |= DNS_STYLEFLAG_UNKNOWNFORMAT; - if (display_rrcomments) + if (display_rrcomments > 0) styleflags |= DNS_STYLEFLAG_RRCOMMENT; if (display_ttlunits) styleflags |= DNS_STYLEFLAG_TTL_UNITS; @@ -265,7 +265,10 @@ recvresponse(isc_task_t *task, isc_event_t *event) { styleflags |= DNS_STYLEFLAG_TTL; styleflags |= DNS_STYLEFLAG_MULTILINE; styleflags |= DNS_STYLEFLAG_COMMENT; - styleflags |= DNS_STYLEFLAG_RRCOMMENT; + /* Turn on rrcomments unless explicitly disabled */ + if (display_rrcomments >= 0) { + styleflags |= DNS_STYLEFLAG_RRCOMMENT; + } } if (display_multiline || (!display_ttl && !display_class)) result = dns_master_stylecreate(&style, styleflags, @@ -1100,7 +1103,7 @@ plus_option(char *option, struct query *query, bool global) display_authority = state; display_additional = state; display_comments = state; - display_rrcomments = state; + display_rrcomments = state ? 1 : -1; break; case 'n': /* answer */ FULLCHECK("answer"); @@ -1349,7 +1352,7 @@ plus_option(char *option, struct query *query, bool global) case 'r': FULLCHECK("rrcomments"); GLOBAL(); - display_rrcomments = state; + display_rrcomments = state ? 1 : -1; break; default: goto invalid_option; @@ -1367,7 +1370,7 @@ plus_option(char *option, struct query *query, bool global) display_authority = false; display_additional = false; display_comments = false; - display_rrcomments = false; + display_rrcomments = -1; } break; case 'p': /* split */