]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
minor bugfix in mdig: when using +multi, +norrcomments was ignored
authorEvan Hunt <each@isc.org>
Tue, 30 Jul 2019 19:28:20 +0000 (12:28 -0700)
committerEvan Hunt <each@isc.org>
Thu, 8 Aug 2019 03:52:20 +0000 (20:52 -0700)
(cherry picked from commit edab51b4205a273b8b215b6bfd0563661a09a4d9)

bin/tools/mdig.c

index 35942687fe30959f477e5c2e1c450c60d94a5de8..810dd06e6a1a3729961016edcf9d5d54b9d7edb9 100644 (file)
@@ -96,7 +96,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;
@@ -249,7 +249,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;
@@ -267,7 +267,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,
@@ -1109,7 +1112,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");
@@ -1358,7 +1361,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;
@@ -1376,7 +1379,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 */