LLVMFuzzerInitialize:
   38|      2|LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
   39|      2|	isc_mem_create("fuzz", &mctx);
  ------------------
  |  |  236|      2|#define isc_mem_create(name, cp) isc__mem_create((name), (cp)_ISC_MEM_FILELINE)
  ------------------
   40|      2|	output = isc_mem_get(mctx, output_len);
  ------------------
  |  |  144|      2|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
   41|       |
   42|      2|	return 0;
   43|      2|}
LLVMFuzzerTestOneInput:
  146|  13.4k|LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
  147|  13.4k|	isc_buffer_t buffer;
  148|  13.4k|	isc_result_t result;
  149|  13.4k|	dns_message_t *message = NULL;
  150|       |
  151|  13.4k|	if (size > 65535) {
  ------------------
  |  Branch (151:6): [True: 1, False: 13.4k]
  ------------------
  152|      1|		return 0;
  153|      1|	}
  154|       |
  155|  13.4k|	isc_buffer_constinit(&buffer, data, size);
  ------------------
  |  |  612|  13.4k|	do {                                                \
  |  |  613|  13.4k|		union {                                     \
  |  |  614|  13.4k|			void	   *_var;                   \
  |  |  615|  13.4k|			const void *_const;                 \
  |  |  616|  13.4k|		} _deconst;                                 \
  |  |  617|  13.4k|		_deconst._const = (_d);                     \
  |  |  618|  13.4k|		isc_buffer_init((_b), _deconst._var, (_l)); \
  |  |  619|  13.4k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (619:11): [Folded, False: 13.4k]
  |  |  ------------------
  ------------------
  156|  13.4k|	isc_buffer_add(&buffer, size);
  157|  13.4k|	isc_buffer_setactive(&buffer, size);
  158|       |
  159|  13.4k|	CHECK(parse_message(&buffer, &message));
  ------------------
  |  |  255|  13.4k|	{                                      \
  |  |  256|  13.4k|		result = (r);                  \
  |  |  257|  13.4k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 4.44k, False: 9.02k]
  |  |  ------------------
  |  |  258|  4.44k|			goto cleanup;          \
  |  |  259|  4.44k|		}                              \
  |  |  260|  13.4k|	}
  ------------------
  160|       |
  161|  9.02k|	CHECK(print_message(message));
  ------------------
  |  |  255|  9.02k|	{                                      \
  |  |  256|  9.02k|		result = (r);                  \
  |  |  257|  9.02k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 9.02k]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|  9.02k|	}
  ------------------
  162|       |
  163|  9.02k|	CHECK(render_message(&message));
  ------------------
  |  |  255|  9.02k|	{                                      \
  |  |  256|  9.02k|		result = (r);                  \
  |  |  257|  9.02k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 157, False: 8.86k]
  |  |  ------------------
  |  |  258|    157|			goto cleanup;          \
  |  |  259|    157|		}                              \
  |  |  260|  9.02k|	}
  ------------------
  164|       |
  165|  8.86k|	CHECK(print_message(message));
  ------------------
  |  |  255|  8.86k|	{                                      \
  |  |  256|  8.86k|		result = (r);                  \
  |  |  257|  8.86k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 8.86k]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|  8.86k|	}
  ------------------
  166|       |
  167|  13.4k|cleanup:
  168|  13.4k|	if (message != NULL) {
  ------------------
  |  Branch (168:6): [True: 9.01k, False: 4.45k]
  ------------------
  169|  9.01k|		dns_message_detach(&message);
  170|  9.01k|	}
  171|       |
  172|  13.4k|	return 0;
  173|  8.86k|}
dns_message_parse.c:parse_message:
   46|  22.3k|parse_message(isc_buffer_t *input, dns_message_t **messagep) {
   47|  22.3k|	isc_result_t result;
   48|  22.3k|	dns_message_t *message = NULL;
   49|       |
   50|  22.3k|	dns_message_create(mctx, NULL, NULL, DNS_MESSAGE_INTENTPARSE, &message);
   51|       |
   52|  22.3k|	result = dns_message_parse(message, input, DNS_MESSAGEPARSE_BESTEFFORT);
  ------------------
  |  |  202|  22.3k|	0x0002 /*%< return a message if a \
  ------------------
   53|  22.3k|	if (result == DNS_R_RECOVERABLE) {
  ------------------
  |  Branch (53:6): [True: 8.03k, False: 14.3k]
  ------------------
   54|  8.03k|		result = ISC_R_SUCCESS;
   55|  8.03k|	}
   56|       |
   57|  22.3k|	if (result == ISC_R_SUCCESS && messagep != NULL) {
  ------------------
  |  Branch (57:6): [True: 17.8k, False: 4.45k]
  |  Branch (57:33): [True: 17.8k, False: 0]
  ------------------
   58|  17.8k|		*messagep = message;
   59|  17.8k|	} else {
   60|  4.45k|		dns_message_detach(&message);
   61|  4.45k|	}
   62|       |
   63|  22.3k|	return result;
   64|  22.3k|}
dns_message_parse.c:print_message:
   67|  17.8k|print_message(dns_message_t *message) {
   68|  17.8k|	isc_result_t result;
   69|  17.8k|	isc_buffer_t buffer;
   70|       |
   71|  17.9k|	do {
   72|  17.9k|		isc_buffer_init(&buffer, output, output_len);
   73|  17.9k|		result = dns_message_totext(message, &dns_master_style_debug, 0,
   74|  17.9k|					    &buffer);
   75|  17.9k|		if (result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (75:7): [True: 14, False: 17.8k]
  ------------------
   76|     14|			isc_mem_put(mctx, output, output_len);
  ------------------
  |  |  171|     14|	do {                                                      \
  |  |  172|     14|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|     14|		(p) = NULL;                                       \
  |  |  174|     14|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 14]
  |  |  ------------------
  ------------------
   77|     14|			output_len *= 2;
   78|     14|			output = isc_mem_get(mctx, output_len);
  ------------------
  |  |  144|     14|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
   79|     14|			continue;
   80|     14|		}
   81|  17.9k|	} while (result == ISC_R_NOSPACE);
  ------------------
  |  Branch (81:11): [True: 14, False: 17.8k]
  ------------------
   82|       |
   83|  17.8k|	if (debug) {
  ------------------
  |  Branch (83:6): [True: 0, False: 17.8k]
  ------------------
   84|      0|		fprintf(stderr, "%.*s\n", (int)isc_buffer_usedlength(&buffer),
  ------------------
  |  |  158|      0|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
   85|      0|			output);
   86|      0|	}
   87|       |
   88|  17.8k|	return result;
   89|  17.8k|}
dns_message_parse.c:render_message:
  100|  9.02k|render_message(dns_message_t **messagep) {
  101|  9.02k|	isc_result_t result;
  102|  9.02k|	dns_message_t *message = *messagep;
  103|  9.02k|	isc_buffer_t buffer;
  104|  9.02k|	dns_compress_t cctx;
  105|       |
  106|  9.02k|	isc_buffer_init(&buffer, render_buf, sizeof(render_buf));
  107|       |
  108|  9.02k|	message->from_to_wire = DNS_MESSAGE_INTENTRENDER;
  109|  45.1k|	for (size_t i = 0; i < DNS_SECTION_MAX; i++) {
  ------------------
  |  Branch (109:21): [True: 36.0k, False: 9.02k]
  ------------------
  110|  36.0k|		message->counts[i] = 0;
  111|  36.0k|	}
  112|       |
  113|  9.02k|	dns_compress_init(&cctx, mctx, 0);
  114|       |
  115|  9.02k|	CHECKRESULT(result, dns_message_renderbegin(message, &cctx, &buffer));
  ------------------
  |  |   92|  9.02k|	{                                 \
  |  |   93|  9.02k|		r = (f);                  \
  |  |   94|  9.02k|		if (r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (94:7): [True: 0, False: 9.02k]
  |  |  ------------------
  |  |   95|      0|			goto cleanup;     \
  |  |   96|      0|		}                         \
  |  |   97|  9.02k|	}
  ------------------
  116|       |
  117|  9.02k|	CHECKRESULT(result, dns_message_rendersection(message,
  ------------------
  |  |   92|  9.02k|	{                                 \
  |  |   93|  9.02k|		r = (f);                  \
  |  |   94|  9.02k|		if (r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (94:7): [True: 0, False: 9.02k]
  |  |  ------------------
  |  |   95|      0|			goto cleanup;     \
  |  |   96|      0|		}                         \
  |  |   97|  9.02k|	}
  ------------------
  118|  9.02k|						      DNS_SECTION_QUESTION, 0));
  119|       |
  120|  9.02k|	CHECKRESULT(result,
  ------------------
  |  |   92|  9.02k|	{                                 \
  |  |   93|  9.02k|		r = (f);                  \
  |  |   94|  9.02k|		if (r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (94:7): [True: 9, False: 9.01k]
  |  |  ------------------
  |  |   95|      9|			goto cleanup;     \
  |  |   96|      9|		}                         \
  |  |   97|  9.02k|	}
  ------------------
  121|  9.02k|		    dns_message_rendersection(message, DNS_SECTION_ANSWER, 0));
  122|  9.01k|	CHECKRESULT(result, dns_message_rendersection(
  ------------------
  |  |   92|  9.01k|	{                                 \
  |  |   93|  9.01k|		r = (f);                  \
  |  |   94|  9.01k|		if (r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (94:7): [True: 74, False: 8.94k]
  |  |  ------------------
  |  |   95|     74|			goto cleanup;     \
  |  |   96|     74|		}                         \
  |  |   97|  9.01k|	}
  ------------------
  123|  9.01k|				    message, DNS_SECTION_AUTHORITY, 0));
  124|       |
  125|  8.94k|	CHECKRESULT(result, dns_message_rendersection(
  ------------------
  |  |   92|  8.94k|	{                                 \
  |  |   93|  8.94k|		r = (f);                  \
  |  |   94|  8.94k|		if (r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (94:7): [True: 66, False: 8.87k]
  |  |  ------------------
  |  |   95|     66|			goto cleanup;     \
  |  |   96|     66|		}                         \
  |  |   97|  8.94k|	}
  ------------------
  126|  8.94k|				    message, DNS_SECTION_ADDITIONAL, 0));
  127|       |
  128|  8.87k|	dns_message_renderend(message);
  129|       |
  130|  8.87k|	dns_compress_invalidate(&cctx);
  131|       |
  132|  8.87k|	message->from_to_wire = DNS_MESSAGE_INTENTPARSE;
  133|       |
  134|  8.87k|	dns_message_detach(messagep);
  135|       |
  136|  8.87k|	result = parse_message(&buffer, messagep);
  137|       |
  138|  8.87k|	return result;
  139|       |
  140|    149|cleanup:
  141|    149|	dns_compress_invalidate(&cctx);
  142|    149|	return result;
  143|  8.94k|}

dns__acl_initialize:
  470|      2|dns__acl_initialize(void) {}

dns_compress_init:
   34|  9.02k|		  dns_compress_flags_t flags) {
   35|  9.02k|	dns_compress_slot_t *set = NULL;
   36|  9.02k|	uint16_t mask;
   37|       |
   38|  9.02k|	REQUIRE(cctx != NULL);
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   39|  9.02k|	REQUIRE(mctx != NULL);
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   40|       |
   41|  9.02k|	if ((flags & DNS_COMPRESS_LARGE) != 0) {
  ------------------
  |  Branch (41:6): [True: 0, False: 9.02k]
  ------------------
   42|      0|		size_t count = (1 << DNS_COMPRESS_LARGEBITS);
   43|      0|		mask = count - 1;
   44|      0|		set = isc_mem_callocate(mctx, count, sizeof(*set));
  ------------------
  |  |  161|      0|	isc__mem_allocate((c), ISC_CHECKED_MUL((n), (s)), \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  162|      0|			  ISC_MEM_ZERO _ISC_MEM_FILELINE)
  |  |  ------------------
  |  |  |  |  142|      0|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  ------------------
   45|  9.02k|	} else {
   46|  9.02k|		mask = ARRAY_SIZE(cctx->smallset) - 1;
  ------------------
  |  |   98|  9.02k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
   47|  9.02k|		set = cctx->smallset;
   48|  9.02k|	}
   49|       |
   50|       |	/*
   51|       |	 * The lifetime of this object is limited to the stack frame of the
   52|       |	 * caller, so we don't need to attach to the memory context.
   53|       |	 */
   54|  9.02k|	*cctx = (dns_compress_t){
   55|  9.02k|		.magic = CCTX_MAGIC,
  ------------------
  |  |   29|  9.02k|#define CCTX_MAGIC    ISC_MAGIC('C', 'C', 'T', 'X')
  |  |  ------------------
  |  |  |  |   31|  9.02k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
   56|  9.02k|		.flags = flags | DNS_COMPRESS_PERMITTED,
   57|  9.02k|		.mctx = mctx,
   58|  9.02k|		.mask = mask,
   59|  9.02k|		.set = set,
   60|  9.02k|		.coff = 0xffff,
   61|  9.02k|	};
   62|  9.02k|}
dns_compress_invalidate:
   65|  9.02k|dns_compress_invalidate(dns_compress_t *cctx) {
   66|  9.02k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  18.0k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 9.02k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|  9.02k|	if (cctx->set != cctx->smallset) {
  ------------------
  |  Branch (67:6): [True: 0, False: 9.02k]
  ------------------
   68|       |		isc_mem_free(cctx->mctx, cctx->set);
  ------------------
  |  |  197|      0|	do {                                                  \
  |  |  198|      0|		isc__mem_free((c), (p), 0 _ISC_MEM_FILELINE); \
  |  |  199|      0|		(p) = NULL;                                   \
  |  |  200|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (200:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
   69|      0|	}
   70|  9.02k|	*cctx = (dns_compress_t){ 0 };
   71|  9.02k|}
dns_compress_setmultiuse:
   74|   363k|dns_compress_setmultiuse(dns_compress_t *cctx, bool multi) {
   75|   363k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|   363k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   727k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 363k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 363k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   363k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   76|   363k|	if (multi) {
  ------------------
  |  Branch (76:6): [True: 134k, False: 229k]
  ------------------
   77|   134k|		cctx->flags |= DNS_COMPRESS_MULTIUSE;
   78|   229k|	} else {
   79|   229k|		cctx->flags &= ~DNS_COMPRESS_MULTIUSE;
   80|   229k|	}
   81|   363k|	cctx->coff = 0xffff;
   82|   363k|}
dns_compress_getmultiuse:
   85|   210k|dns_compress_getmultiuse(dns_compress_t *cctx) {
   86|   210k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|   210k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   420k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 210k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 210k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   210k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   87|   210k|	return (cctx->flags & DNS_COMPRESS_MULTIUSE) != 0;
   88|   210k|}
dns_compress_setpermitted:
   91|   229k|dns_compress_setpermitted(dns_compress_t *cctx, bool permitted) {
   92|   229k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|   229k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   458k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 229k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 229k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   229k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   93|   229k|	if (permitted) {
  ------------------
  |  Branch (93:6): [True: 208k, False: 21.0k]
  ------------------
   94|   208k|		cctx->flags |= DNS_COMPRESS_PERMITTED;
   95|   208k|	} else {
   96|  21.0k|		cctx->flags &= ~DNS_COMPRESS_PERMITTED;
   97|  21.0k|	}
   98|       |	dns_compress_setmultiuse(cctx, false);
   99|   229k|}
dns_compress_getpermitted:
  102|   233k|dns_compress_getpermitted(dns_compress_t *cctx) {
  103|   233k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   466k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  104|   233k|	return (cctx->flags & DNS_COMPRESS_PERMITTED) != 0;
  105|   233k|}
dns_compress_name:
  297|   233k|		  unsigned int *return_coff) {
  298|   233k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   466k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  299|   233k|	REQUIRE(ISC_BUFFER_VALID(buffer));
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   466k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  300|   233k|	REQUIRE(dns_name_isabsolute(name));
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   233k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  301|   233k|	REQUIRE(return_prefix != NULL);
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   233k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  302|   233k|	REQUIRE(return_coff != NULL);
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   233k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  303|   233k|	REQUIRE(*return_coff == 0);
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   233k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  304|       |
  305|   233k|	if ((cctx->flags & DNS_COMPRESS_DISABLED) != 0) {
  ------------------
  |  Branch (305:6): [True: 0, False: 233k]
  ------------------
  306|      0|		return;
  307|      0|	}
  308|       |
  309|   233k|	dns_offsets_t offsets;
  310|   233k|	size_t labels = dns_name_offsets(name, offsets);
  311|   233k|	INSIST(labels > 0);
  ------------------
  |  |  202|   233k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   233k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  312|       |
  313|   233k|	bool sensitive = (cctx->flags & DNS_COMPRESS_CASE) != 0;
  314|       |
  315|   233k|	uint16_t hash = HASH_INIT_DJB2;
  ------------------
  |  |   27|   233k|#define HASH_INIT_DJB2 5381
  ------------------
  316|   233k|	size_t label = labels - 1; /* skip the root label */
  317|       |
  318|       |	/*
  319|       |	 * find out how much of the name's suffix is in the hash set,
  320|       |	 * stepping backwards from the end one label at a time
  321|       |	 */
  322|   636k|	while (label-- > 0) {
  ------------------
  |  Branch (322:9): [True: 472k, False: 163k]
  ------------------
  323|   472k|		unsigned int prefix_len = offsets[label];
  324|   472k|		unsigned int suffix_len = name->length - prefix_len;
  325|   472k|		uint8_t *suffix_ptr = name->ndata + prefix_len;
  326|   472k|		hash = hash_label(hash, suffix_ptr, sensitive);
  327|       |
  328|  1.42M|		for (unsigned int probe = 0; true; probe++) {
  ------------------
  |  Branch (328:32): [True: 1.42M, Folded]
  ------------------
  329|  1.42M|			unsigned int slot = slot_index(cctx, hash, probe);
  330|  1.42M|			unsigned int coff = cctx->set[slot].coff;
  331|       |
  332|       |			/*
  333|       |			 * if we would have inserted this entry here (as in
  334|       |			 * insert_label() above), our suffix cannot be in the
  335|       |			 * hash set, so stop searching and switch to inserting
  336|       |			 * the rest of the name (its prefix) into the set
  337|       |			 */
  338|  1.42M|			if (coff == 0 || probe > probe_distance(cctx, slot)) {
  ------------------
  |  Branch (338:8): [True: 20.9k, False: 1.40M]
  |  Branch (338:21): [True: 48.8k, False: 1.35M]
  ------------------
  339|  69.7k|				insert(cctx, buffer, name, offsets, label, hash,
  340|  69.7k|				       probe);
  341|  69.7k|				return;
  342|  69.7k|			}
  343|       |
  344|       |			/*
  345|       |			 * this slot matches, so provisionally set the
  346|       |			 * return values and continue with the next label
  347|       |			 */
  348|  1.35M|			if (hash == cctx->set[slot].hash &&
  ------------------
  |  Branch (348:8): [True: 426k, False: 929k]
  ------------------
  349|   426k|			    match_suffix(buffer, coff, suffix_ptr, suffix_len,
  ------------------
  |  Branch (349:8): [True: 402k, False: 23.2k]
  ------------------
  350|   426k|					 *return_coff, sensitive))
  351|   402k|			{
  352|   402k|				*return_coff = coff;
  353|   402k|				*return_prefix = prefix_len;
  354|   402k|				break;
  355|   402k|			}
  356|  1.35M|		}
  357|   472k|	}
  358|   233k|}
dns_compress_rollback:
  361|  1.85k|dns_compress_rollback(dns_compress_t *cctx, unsigned int coff) {
  362|  1.85k|	REQUIRE(CCTX_VALID(cctx));
  ------------------
  |  |  198|  1.85k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.85k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.85k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.85k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  363|       |
  364|   120k|	for (unsigned int slot = 0; slot <= cctx->mask; slot++) {
  ------------------
  |  Branch (364:30): [True: 118k, False: 1.85k]
  ------------------
  365|   118k|		if (cctx->set[slot].coff < coff) {
  ------------------
  |  Branch (365:7): [True: 27.6k, False: 91.3k]
  ------------------
  366|  27.6k|			continue;
  367|  27.6k|		}
  368|       |		/*
  369|       |		 * The next few elements might be part of the deleted element's
  370|       |		 * probe sequence, so we slide them down to overwrite the entry
  371|       |		 * we are deleting and preserve the probe sequence. Moving an
  372|       |		 * element to the previous slot reduces its probe distance, so
  373|       |		 * we stop when we find an element whose probe distance is zero.
  374|       |		 */
  375|  91.3k|		unsigned int prev = slot;
  376|  91.3k|		unsigned int next = slot_index(cctx, prev, 1);
  377|  92.8k|		while (cctx->set[next].coff != 0 &&
  ------------------
  |  Branch (377:10): [True: 3.78k, False: 89.0k]
  ------------------
  378|  3.78k|		       probe_distance(cctx, next) != 0)
  ------------------
  |  Branch (378:10): [True: 1.56k, False: 2.22k]
  ------------------
  379|  1.56k|		{
  380|  1.56k|			cctx->set[prev] = cctx->set[next];
  381|  1.56k|			prev = next;
  382|  1.56k|			next = slot_index(cctx, prev, 1);
  383|  1.56k|		}
  384|  91.3k|		cctx->set[prev].coff = 0;
  385|  91.3k|		cctx->set[prev].hash = 0;
  386|  91.3k|		cctx->count--;
  387|  91.3k|	}
  388|  1.85k|}
compress.c:hash_label:
  116|   491k|hash_label(uint16_t init, uint8_t *ptr, bool sensitive) {
  117|   491k|	unsigned int len = ptr[0] + 1;
  118|   491k|	uint32_t hash = init;
  119|       |
  120|   491k|	if (sensitive) {
  ------------------
  |  Branch (120:6): [True: 0, False: 491k]
  ------------------
  121|      0|		while (len-- > 0) {
  ------------------
  |  Branch (121:10): [True: 0, False: 0]
  ------------------
  122|      0|			hash = hash * 33 + *ptr++;
  123|      0|		}
  124|   491k|	} else {
  125|       |		/* using the autovectorize-friendly tolower() */
  126|  7.36M|		while (len-- > 0) {
  ------------------
  |  Branch (126:10): [True: 6.87M, False: 491k]
  ------------------
  127|  6.87M|			hash = hash * 33 + isc__ascii_tolower1(*ptr++);
  128|  6.87M|		}
  129|   491k|	}
  130|       |
  131|   491k|	return isc_hash_bits32(hash, 16);
  132|   491k|}
compress.c:slot_index:
  235|  1.56M|slot_index(dns_compress_t *cctx, unsigned int hash, unsigned int probe) {
  236|  1.56M|	return (hash + probe) & cctx->mask;
  237|  1.56M|}
compress.c:probe_distance:
  230|  1.43M|probe_distance(dns_compress_t *cctx, unsigned int slot) {
  231|  1.43M|	return (slot - cctx->set[slot].hash) & cctx->mask;
  232|  1.43M|}
compress.c:insert:
  277|  69.7k|       unsigned int probe) {
  278|  69.7k|	bool sensitive = (cctx->flags & DNS_COMPRESS_CASE) != 0;
  279|       |	/*
  280|       |	 * this insertion loop continues from the search loop inside
  281|       |	 * dns_compress_name() below, iterating over the remaining labels
  282|       |	 * of the name and accumulating the hash in the same manner
  283|       |	 */
  284|  88.4k|	while (insert_label(cctx, buffer, offsets, label, hash, probe) &&
  ------------------
  |  Branch (284:9): [True: 28.8k, False: 59.5k]
  ------------------
  285|  28.8k|	       label-- > 0)
  ------------------
  |  Branch (285:9): [True: 18.6k, False: 10.1k]
  ------------------
  286|  18.6k|	{
  287|  18.6k|		unsigned int prefix_len = offsets[label];
  288|  18.6k|		uint8_t *suffix_ptr = name->ndata + prefix_len;
  289|  18.6k|		hash = hash_label(hash, suffix_ptr, sensitive);
  290|  18.6k|		probe = 0;
  291|  18.6k|	}
  292|  69.7k|}
compress.c:insert_label:
  242|  88.4k|	     unsigned int probe) {
  243|       |	/*
  244|       |	 * hash set entries must have valid compression offsets
  245|       |	 * and the hash set must not get too full (75% load)
  246|       |	 */
  247|  88.4k|	unsigned int prefix_len = offsets[label];
  248|  88.4k|	unsigned int coff = isc_buffer_usedlength(buffer) + prefix_len;
  ------------------
  |  |  158|  88.4k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
  249|  88.4k|	if (coff >= 0x4000 || cctx->count > cctx->mask * 3 / 4) {
  ------------------
  |  Branch (249:6): [True: 52.9k, False: 35.5k]
  |  Branch (249:24): [True: 6.67k, False: 28.8k]
  ------------------
  250|  59.5k|		return false;
  251|  59.5k|	}
  252|  45.7k|	for (;;) {
  253|  45.7k|		unsigned int slot = slot_index(cctx, hash, probe);
  254|       |		/* we can stop when we find an empty slot */
  255|  45.7k|		if (cctx->set[slot].coff == 0) {
  ------------------
  |  Branch (255:7): [True: 28.8k, False: 16.9k]
  ------------------
  256|  28.8k|			cctx->set[slot].hash = hash;
  257|  28.8k|			cctx->set[slot].coff = coff;
  258|  28.8k|			cctx->count++;
  259|  28.8k|			return true;
  260|  28.8k|		}
  261|       |		/* he steals from the rich and gives to the poor */
  262|  16.9k|		if (probe > probe_distance(cctx, slot)) {
  ------------------
  |  Branch (262:7): [True: 5.33k, False: 11.6k]
  ------------------
  263|  5.33k|			probe = probe_distance(cctx, slot);
  264|  5.33k|			ISC_SWAP(cctx->set[slot].hash, hash);
  ------------------
  |  |  305|  5.33k|	{                                 \
  |  |  306|  5.33k|		typeof(a) __tmp_swap = a; \
  |  |  307|  5.33k|		a = b;                    \
  |  |  308|  5.33k|		b = __tmp_swap;           \
  |  |  309|  5.33k|	}
  ------------------
  265|  5.33k|			ISC_SWAP(cctx->set[slot].coff, coff);
  ------------------
  |  |  305|  5.33k|	{                                 \
  |  |  306|  5.33k|		typeof(a) __tmp_swap = a; \
  |  |  307|  5.33k|		a = b;                    \
  |  |  308|  5.33k|		b = __tmp_swap;           \
  |  |  309|  5.33k|	}
  ------------------
  266|  5.33k|		}
  267|  16.9k|		probe++;
  268|  16.9k|	}
  269|  28.8k|}
compress.c:match_suffix:
  177|   426k|	     unsigned int slen, unsigned int old_coff, bool sensitive) {
  178|   426k|	uint8_t pptr[] = { 0xC0 | (old_coff >> 8), old_coff & 0xff };
  179|   426k|	uint8_t *bptr = isc_buffer_base(buffer);
  ------------------
  |  |  144|   426k|#define isc_buffer_base(b) ((void *)(b)->base) /*a*/
  ------------------
  180|   426k|	unsigned int blen = isc_buffer_usedlength(buffer);
  ------------------
  |  |  158|   426k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
  181|   426k|	unsigned int llen = sptr[0] + 1;
  182|       |
  183|   426k|	INSIST(llen <= 64 && llen < slen);
  ------------------
  |  |  202|   426k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   852k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 426k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 426k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   426k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  184|       |
  185|   426k|	if (blen < new_coff + llen) {
  ------------------
  |  Branch (185:6): [True: 221, False: 425k]
  ------------------
  186|    221|		return false;
  187|    221|	}
  188|       |
  189|   425k|	blen -= new_coff;
  190|   425k|	bptr += new_coff;
  191|       |
  192|       |	/* does the first label of the suffix appear here? */
  193|   425k|	if (!match_wirename(bptr, sptr, llen, sensitive)) {
  ------------------
  |  Branch (193:6): [True: 3.10k, False: 422k]
  ------------------
  194|  3.10k|		return false;
  195|  3.10k|	}
  196|       |
  197|       |	/* is this label followed by the previously matched suffix? */
  198|   422k|	if (old_coff == new_coff + llen) {
  ------------------
  |  Branch (198:6): [True: 324k, False: 98.6k]
  ------------------
  199|   324k|		return true;
  200|   324k|	}
  201|       |
  202|  98.6k|	blen -= llen;
  203|  98.6k|	bptr += llen;
  204|  98.6k|	slen -= llen;
  205|  98.6k|	sptr += llen;
  206|       |
  207|       |	/* are both labels followed by the root label? */
  208|  98.6k|	if (blen >= 1 && slen == 1 && bptr[0] == 0 && sptr[0] == 0) {
  ------------------
  |  Branch (208:6): [True: 98.6k, False: 3]
  |  Branch (208:19): [True: 71.8k, False: 26.8k]
  |  Branch (208:32): [True: 71.5k, False: 215]
  |  Branch (208:48): [True: 71.5k, False: 0]
  ------------------
  209|  71.5k|		return true;
  210|  71.5k|	}
  211|       |
  212|       |	/* is this label followed by a pointer to the previous match? */
  213|  27.0k|	if (blen >= 2 && bptr[0] == pptr[0] && bptr[1] == pptr[1]) {
  ------------------
  |  Branch (213:6): [True: 27.0k, False: 6]
  |  Branch (213:19): [True: 5.89k, False: 21.1k]
  |  Branch (213:41): [True: 5.64k, False: 254]
  ------------------
  214|  5.64k|		return true;
  215|  5.64k|	}
  216|       |
  217|       |	/* is this label followed by a copy of the rest of the suffix? */
  218|  21.3k|	return blen >= slen && match_wirename(bptr, sptr, slen, sensitive);
  ------------------
  |  Branch (218:9): [True: 18.6k, False: 2.75k]
  |  Branch (218:25): [True: 1.44k, False: 17.2k]
  ------------------
  219|  27.0k|}
compress.c:match_wirename:
  135|   444k|match_wirename(uint8_t *a, uint8_t *b, unsigned int len, bool sensitive) {
  136|   444k|	if (sensitive) {
  ------------------
  |  Branch (136:6): [True: 0, False: 444k]
  ------------------
  137|      0|		return memcmp(a, b, len) == 0;
  138|   444k|	} else {
  139|       |		/* label lengths are < 'A' so unaffected by tolower() */
  140|   444k|		return isc_ascii_lowerequal(a, b, len);
  141|   444k|	}
  142|   444k|}

dns__db_initialize:
   76|      2|dns__db_initialize(void) {
   77|      2|	isc_rwlock_init(&implock);
   78|       |
   79|      2|	ISC_LIST_INIT(implementations);
  ------------------
  |  |   43|      2|	do {                        \
  |  |   44|      2|		(list).head = NULL; \
  |  |   45|      2|		(list).tail = NULL; \
  |  |   46|      2|	} while (0)
  |  |  ------------------
  |  |  |  Branch (46:11): [Folded, False: 2]
  |  |  ------------------
  ------------------
   80|       |
   81|      2|	qpimp = (dns_dbimplementation_t){
   82|      2|		.name = "qpcache",
   83|      2|		.create = dns__qpcache_create,
   84|      2|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|      2|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|      2|	{                                         \
  |  |  |  |   27|      2|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|      2|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|      2|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|      2|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|      2|	}
  |  |  ------------------
  ------------------
   85|      2|	};
   86|       |
   87|      2|	qpzoneimp = (dns_dbimplementation_t){
   88|      2|		.name = "qpzone",
   89|      2|		.create = dns__qpzone_create,
   90|      2|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|      2|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|      2|	{                                         \
  |  |  |  |   27|      2|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|      2|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|      2|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|      2|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|      2|	}
  |  |  ------------------
  ------------------
   91|      2|	};
   92|       |
   93|      2|	ISC_LIST_APPEND(implementations, &qpimp, link);
  ------------------
  |  |  100|      2|	do {                                                  \
  |  |  101|      2|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|      2|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|      2|	do {                                            \
  |  |  |  |   89|      2|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   90|      0|			(list).tail->link.next = (elt); \
  |  |  |  |   91|      2|		} else {                                \
  |  |  |  |   92|      2|			(list).head = (elt);            \
  |  |  |  |   93|      2|		}                                       \
  |  |  |  |   94|      2|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|      2|		(elt)->link.next = NULL;                \
  |  |  |  |   96|      2|		(list).tail = (elt);                    \
  |  |  |  |   97|      2|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 2]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|      2|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 2]
  |  |  ------------------
  ------------------
   94|       |	ISC_LIST_APPEND(implementations, &qpzoneimp, link);
  ------------------
  |  |  100|      2|	do {                                                  \
  |  |  101|      2|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|      2|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|      2|	do {                                            \
  |  |  |  |   89|      2|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   90|      2|			(list).tail->link.next = (elt); \
  |  |  |  |   91|      2|		} else {                                \
  |  |  |  |   92|      0|			(list).head = (elt);            \
  |  |  |  |   93|      0|		}                                       \
  |  |  |  |   94|      2|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|      2|		(elt)->link.next = NULL;                \
  |  |  |  |   96|      2|		(list).tail = (elt);                    \
  |  |  |  |   97|      2|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 2]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|      2|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 2]
  |  |  ------------------
  ------------------
   95|      2|}

dns__dlz_initialize:
   86|      2|dns__dlz_initialize(void) {
   87|      2|	isc_rwlock_init(&dlz_implock);
   88|       |	ISC_LIST_INIT(dlz_implementations);
  ------------------
  |  |   43|      2|	do {                        \
  |  |   44|      2|		(list).head = NULL; \
  |  |   45|      2|		(list).tail = NULL; \
  |  |   46|      2|	} while (0)
  |  |  ------------------
  |  |  |  Branch (46:11): [Folded, False: 2]
  |  |  ------------------
  ------------------
   89|      2|}

dst__lib_initialize:
  198|      2|dst__lib_initialize(void) {
  199|      2|	isc_mem_create("dst", &dst__mctx);
  ------------------
  |  |  236|      2|#define isc_mem_create(name, cp) isc__mem_create((name), (cp)_ISC_MEM_FILELINE)
  ------------------
  200|       |
  201|      2|	dst__hmacmd5_init(&dst_t_func[DST_ALG_HMACMD5]);
  202|      2|	dst__hmacsha1_init(&dst_t_func[DST_ALG_HMACSHA1]);
  203|      2|	dst__hmacsha224_init(&dst_t_func[DST_ALG_HMACSHA224]);
  204|      2|	dst__hmacsha256_init(&dst_t_func[DST_ALG_HMACSHA256]);
  205|      2|	dst__hmacsha384_init(&dst_t_func[DST_ALG_HMACSHA384]);
  206|      2|	dst__hmacsha512_init(&dst_t_func[DST_ALG_HMACSHA512]);
  207|       |
  208|       |	/* RSASHA1 (NSEC3RSASHA1) is verify only in FIPS mode. */
  209|      2|	dst__opensslrsa_init(&dst_t_func[DST_ALG_RSASHA1], DST_ALG_RSASHA1);
  210|      2|	dst__opensslrsa_init(&dst_t_func[DST_ALG_NSEC3RSASHA1],
  211|      2|			     DST_ALG_NSEC3RSASHA1);
  212|      2|	dst__opensslrsa_init(&dst_t_func[DST_ALG_RSASHA256], DST_ALG_RSASHA256);
  213|      2|	dst__opensslrsa_init(&dst_t_func[DST_ALG_RSASHA512], DST_ALG_RSASHA512);
  214|      2|	dst__opensslecdsa_init(&dst_t_func[DST_ALG_ECDSA256]);
  215|      2|	dst__opensslecdsa_init(&dst_t_func[DST_ALG_ECDSA384]);
  216|      2|	dst__openssleddsa_init(&dst_t_func[DST_ALG_ED25519], DST_ALG_ED25519);
  217|      2|#ifdef HAVE_OPENSSL_ED448
  218|      2|	dst__openssleddsa_init(&dst_t_func[DST_ALG_ED448], DST_ALG_ED448);
  219|      2|#endif /* ifdef HAVE_OPENSSL_ED448 */
  220|       |
  221|       |#if HAVE_GSSAPI
  222|       |	dst__gssapi_init(&dst_t_func[DST_ALG_GSSAPI]);
  223|       |#endif /* HAVE_GSSAPI */
  224|       |	/*
  225|       |	 * RSASHA256 using assigned OID 1.2.840.113549.1.1.11 as
  226|       |	 * a private OID example.
  227|       |	 */
  228|      2|	dst__opensslrsa_init(&dst_t_func[DST_ALG_RSASHA256PRIVATEOID],
  229|      2|			     DST_ALG_RSASHA256PRIVATEOID);
  230|       |	/*
  231|       |	 * RSASHA512 using assigned OID 1.2.840.113549.1.1.13 as
  232|       |	 * a private OID example.
  233|       |	 */
  234|      2|	dst__opensslrsa_init(&dst_t_func[DST_ALG_RSASHA512PRIVATEOID],
  235|      2|			     DST_ALG_RSASHA512PRIVATEOID);
  236|      2|}

dns__dyndb_initialize:
   55|      2|dns__dyndb_initialize(void) {
   56|      2|	isc_mutex_init(&dyndb_lock);
  ------------------
  |  |   68|      2|#define isc_mutex_init(mp)    isc__mutex_init(mp)
  |  |  ------------------
  |  |  |  |   79|      2|	{                                                                 \
  |  |  |  |   80|      2|		int _ret = pthread_mutex_init(mp, &isc__mutex_init_attr); \
  |  |  |  |   81|      2|		PTHREADS_RUNTIME_CHECK(pthread_mutex_init, _ret);         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  288|      2|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  ------------------
  |  |  |  |   82|      2|	}
  |  |  ------------------
  ------------------
   57|       |	ISC_LIST_INIT(dyndb_implementations);
  ------------------
  |  |   43|      2|	do {                        \
  |  |   44|      2|		(list).head = NULL; \
  |  |   45|      2|		(list).tail = NULL; \
  |  |   46|      2|	} while (0)
  |  |  ------------------
  |  |  |  Branch (46:11): [Folded, False: 2]
  |  |  ------------------
  ------------------
   58|      2|}

dns_fixedname_init:
   19|   854k|dns_fixedname_init(dns_fixedname_t *fixed) {
   20|   854k|	dns_name_init(&fixed->name);
   21|   854k|	isc_buffer_init(&fixed->buffer, fixed->data, DNS_NAME_MAXWIRE);
  ------------------
  |  |  190|   854k|#define DNS_NAME_MAXWIRE   255
  ------------------
   22|   854k|	dns_name_setbuffer(&fixed->name, &fixed->buffer);
   23|   854k|}
dns_fixedname_name:
   31|   642k|dns_fixedname_name(dns_fixedname_t *fixed) {
   32|   642k|	return &fixed->name;
   33|   642k|}
dns_fixedname_initname:
   36|   642k|dns_fixedname_initname(dns_fixedname_t *fixed) {
   37|   642k|	dns_fixedname_init(fixed);
   38|   642k|	return dns_fixedname_name(fixed);
   39|   642k|}

name.c:dns_decompress_getpermitted:
  251|  1.47M|dns_decompress_getpermitted(dns_decompress_t dctx) {
  252|  1.47M|	return dctx == DNS_DECOMPRESS_ALWAYS ||
  ------------------
  |  Branch (252:9): [True: 1.47M, False: 207]
  ------------------
  253|    207|	       dctx == DNS_DECOMPRESS_PERMITTED;
  ------------------
  |  Branch (253:9): [True: 0, False: 207]
  ------------------
  254|  1.47M|}
rdata.c:dns_decompress_setpermitted:
  237|   146k|dns_decompress_setpermitted(dns_decompress_t dctx, bool permitted) {
  238|   146k|	if (dctx == DNS_DECOMPRESS_NEVER || dctx == DNS_DECOMPRESS_ALWAYS) {
  ------------------
  |  Branch (238:6): [True: 0, False: 146k]
  |  Branch (238:38): [True: 146k, False: 0]
  ------------------
  239|   146k|		return dctx;
  240|   146k|	} else if (permitted) {
  ------------------
  |  Branch (240:13): [True: 0, False: 0]
  ------------------
  241|      0|		return DNS_DECOMPRESS_PERMITTED;
  242|      0|	} else {
  243|      0|		return DNS_DECOMPRESS_DEFAULT;
  244|      0|	}
  245|   146k|}

dns_lib_initialize:
   36|      2|dns_lib_initialize(void) {
   37|      2|	isc__lib_initialize();
   38|      2|	dns__lib_initialize();
   39|      2|}

message.c:dns_name_reset:
  229|  16.1k|dns_name_reset(dns_name_t *name) {
  230|  16.1k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  16.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  32.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  231|  16.1k|	REQUIRE(DNS_NAME_BINDABLE(name));
  ------------------
  |  |  198|  16.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  32.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  232|       |
  233|  16.1k|	name->ndata = NULL;
  234|  16.1k|	name->length = 0;
  235|  16.1k|	name->attributes.absolute = false;
  236|  16.1k|	if (name->buffer != NULL) {
  ------------------
  |  Branch (236:6): [True: 16.1k, False: 0]
  ------------------
  237|  16.1k|		isc_buffer_clear(name->buffer);
  238|  16.1k|	}
  239|  16.1k|}
message.c:dns_name_isroot:
 1383|  10.0k|dns_name_isroot(const dns_name_t *name) {
 1384|  10.0k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  10.0k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  20.0k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 10.0k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 10.0k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.0k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1385|       |
 1386|  10.0k|	return name->length == 1 && name->ndata[0] == 0;
  ------------------
  |  Branch (1386:9): [True: 9.34k, False: 705]
  |  Branch (1386:30): [True: 9.34k, False: 0]
  ------------------
 1387|  10.0k|}
message.c:dns_name_init:
  209|  20.2k|dns_name_init(dns_name_t *name) {
  210|  20.2k|	*name = (dns_name_t){
  211|  20.2k|		.magic = DNS_NAME_MAGIC,
  ------------------
  |  |  121|  20.2k|#define DNS_NAME_MAGIC	  ISC_MAGIC('D', 'N', 'S', 'n')
  |  |  ------------------
  |  |  |  |   31|  20.2k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  212|  20.2k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|  20.2k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|  20.2k|	{                                         \
  |  |  |  |   27|  20.2k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  20.2k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|  20.2k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  20.2k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|  20.2k|	}
  |  |  ------------------
  ------------------
  213|       |		.list = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  20.2k|	{                     \
  |  |   22|  20.2k|		.head = NULL, \
  |  |   23|  20.2k|		.tail = NULL, \
  |  |   24|  20.2k|	}
  ------------------
  214|  20.2k|	};
  215|  20.2k|}
message.c:dns_name_countlabels:
  609|  2.61k|dns_name_countlabels(const dns_name_t *name) {
  610|  2.61k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  2.61k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.23k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.61k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.61k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.61k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  611|       |
  612|       |	return dns_name_offsets(name, NULL);
  613|  2.61k|}
message.c:dns_name_split:
 1039|    581|	       dns_name_t *prefix, dns_name_t *suffix) {
 1040|    581|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1041|    581|	REQUIRE(suffixlabels > 0);
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    581|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1042|    581|	REQUIRE(prefix != NULL || suffix != NULL);
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 581]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1043|    581|	REQUIRE(prefix == NULL ||
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    581|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1044|    581|		(DNS_NAME_VALID(prefix) && DNS_NAME_BINDABLE(prefix)));
 1045|    581|	REQUIRE(suffix == NULL ||
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 581]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1046|    581|		(DNS_NAME_VALID(suffix) && DNS_NAME_BINDABLE(suffix)));
 1047|       |
 1048|    581|	uint8_t labels = dns_name_countlabels(name);
 1049|    581|	INSIST(suffixlabels <= labels);
  ------------------
  |  |  202|    581|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    581|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    581|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1050|       |
 1051|    581|	if (prefix != NULL) {
  ------------------
  |  Branch (1051:6): [True: 0, False: 581]
  ------------------
 1052|      0|		dns_name_getlabelsequence(name, 0, labels - suffixlabels,
 1053|      0|					  prefix);
 1054|      0|	}
 1055|    581|	if (suffix != NULL) {
  ------------------
  |  Branch (1055:6): [True: 581, False: 0]
  ------------------
 1056|    581|		dns_name_getlabelsequence(name, labels - suffixlabels,
 1057|    581|					  suffixlabels, suffix);
 1058|    581|	}
 1059|    581|}
name.c:dns_name_countlabels:
  609|   758k|dns_name_countlabels(const dns_name_t *name) {
  610|   758k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   758k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.51M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 758k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 758k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   758k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  611|       |
  612|       |	return dns_name_offsets(name, NULL);
  613|   758k|}
rdata.c:dns_name_init:
  209|  1.46M|dns_name_init(dns_name_t *name) {
  210|  1.46M|	*name = (dns_name_t){
  211|  1.46M|		.magic = DNS_NAME_MAGIC,
  ------------------
  |  |  121|  1.46M|#define DNS_NAME_MAGIC	  ISC_MAGIC('D', 'N', 'S', 'n')
  |  |  ------------------
  |  |  |  |   31|  1.46M|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  212|  1.46M|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|  1.46M|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|  1.46M|	{                                         \
  |  |  |  |   27|  1.46M|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  1.46M|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|  1.46M|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  1.46M|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|  1.46M|	}
  |  |  ------------------
  ------------------
  213|       |		.list = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  1.46M|	{                     \
  |  |   22|  1.46M|		.head = NULL, \
  |  |   23|  1.46M|		.tail = NULL, \
  |  |   24|  1.46M|	}
  ------------------
  214|  1.46M|	};
  215|  1.46M|}
rdata.c:dns_name_countlabels:
  609|  5.20k|dns_name_countlabels(const dns_name_t *name) {
  610|  5.20k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  5.20k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  10.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 5.20k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 5.20k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.20k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  611|       |
  612|       |	return dns_name_offsets(name, NULL);
  613|  5.20k|}
fixedname.c:dns_name_init:
  209|   854k|dns_name_init(dns_name_t *name) {
  210|   854k|	*name = (dns_name_t){
  211|   854k|		.magic = DNS_NAME_MAGIC,
  ------------------
  |  |  121|   854k|#define DNS_NAME_MAGIC	  ISC_MAGIC('D', 'N', 'S', 'n')
  |  |  ------------------
  |  |  |  |   31|   854k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  212|   854k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|   854k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|   854k|	{                                         \
  |  |  |  |   27|   854k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   854k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|   854k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   854k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|   854k|	}
  |  |  ------------------
  ------------------
  213|       |		.list = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|   854k|	{                     \
  |  |   22|   854k|		.head = NULL, \
  |  |   23|   854k|		.tail = NULL, \
  |  |   24|   854k|	}
  ------------------
  214|   854k|	};
  215|   854k|}
fixedname.c:dns_name_setbuffer:
  298|   854k|dns_name_setbuffer(dns_name_t *name, isc_buffer_t *buffer) {
  299|   854k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   854k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.70M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 854k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 854k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   854k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  300|   854k|	REQUIRE((buffer != NULL && name->buffer == NULL) || (buffer == NULL));
  ------------------
  |  |  198|   854k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.56M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 854k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 854k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   854k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  301|       |
  302|   854k|	name->buffer = buffer;
  303|   854k|}

message.c:dns_rdatatype_ismeta:
  583|  4.23k|dns_rdatatype_ismeta(dns_rdatatype_t type) {
  584|  4.23k|	return (dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_META) != 0;
  585|  4.23k|}
message.c:dns_rdatatype_issig:
  737|  3.74k|dns_rdatatype_issig(dns_rdatatype_t type) {
  738|  3.74k|	return type == dns_rdatatype_rrsig;
  ------------------
  |  |  160|  3.74k|#define dns_rdatatype_rrsig	((dns_rdatatype_t)dns_rdatatype_rrsig)
  ------------------
  739|  3.74k|}
message.c:dns_rdatatype_questiononly:
  624|   244k|dns_rdatatype_questiononly(dns_rdatatype_t type) {
  625|   244k|	return (dns_rdatatype_attributes(type) &
  626|   244k|		DNS_RDATATYPEATTR_QUESTIONONLY) != 0;
  627|   244k|}
message.c:dns_rdatatype_issingleton:
  596|   156k|dns_rdatatype_issingleton(dns_rdatatype_t type) {
  597|   156k|	return (dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_SINGLETON) !=
  598|   156k|	       0;
  599|   156k|}
rdata.c:dns_rdatatype_isknown:
  719|  97.5k|dns_rdatatype_isknown(dns_rdatatype_t type) {
  720|  97.5k|	return (dns_rdatatype_attributes(type) & DNS_RDATATYPEATTR_UNKNOWN) ==
  721|  97.5k|	       0;
  722|  97.5k|}

dns__lib_initialize:
   44|      2|dns__lib_initialize(void) {
   45|      2|	if (isc_refcount_increment0(&dns__lib_references) > 0) {
  ------------------
  |  |   68|      2|	({                                                 \
  |  |   69|      2|		uint_fast32_t __v;                         \
  |  |   70|      2|		__v = atomic_fetch_add_release(target, 1); \
  |  |  ------------------
  |  |  |  |   52|      2|	atomic_fetch_add_explicit((o), (v), memory_order_release)
  |  |  ------------------
  |  |   71|      2|		INSIST(__v < UINT32_MAX);                  \
  |  |  ------------------
  |  |  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   72|      2|		__v;                                       \
  |  |   73|      2|	})
  ------------------
  |  Branch (45:6): [True: 0, False: 2]
  ------------------
   46|      0|		return;
   47|      0|	}
   48|       |
   49|      2|	dst__lib_initialize();
   50|      2|	dns__acl_initialize();
   51|      2|	dns__dlz_initialize();
   52|      2|	dns__db_initialize();
   53|      2|	dns__dyndb_initialize();
   54|      2|	dns__qp_initialize();
   55|      2|	dns__qpzone_initialize();
   56|      2|	dns__zone_keymgmt_initialize();
   57|      2|}

dns_master_rdatasettotext:
  903|   111k|			  isc_buffer_t *target) {
  904|   111k|	dns_totext_ctx_t ctx;
  905|   111k|	isc_result_t result;
  906|   111k|	result = totext_ctx_init(style, indent, &ctx);
  907|   111k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (907:6): [True: 0, False: 111k]
  ------------------
  908|      0|		UNEXPECTED_ERROR("could not set master file style");
  ------------------
  |  |  217|      0|	isc_error_unexpected(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
  909|      0|		return ISC_R_UNEXPECTED;
  910|      0|	}
  911|       |
  912|   111k|	return rdataset_totext(rdataset, owner_name, &ctx, false, target);
  913|   111k|}
dns_master_questiontotext:
  919|   100k|			  isc_buffer_t *target) {
  920|   100k|	dns_totext_ctx_t ctx;
  921|   100k|	isc_result_t result;
  922|   100k|	result = totext_ctx_init(style, NULL, &ctx);
  923|   100k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (923:6): [True: 0, False: 100k]
  ------------------
  924|      0|		UNEXPECTED_ERROR("could not set master file style");
  ------------------
  |  |  217|      0|	isc_error_unexpected(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
  925|      0|		return ISC_R_UNEXPECTED;
  926|      0|	}
  927|       |
  928|   100k|	return question_totext(rdataset, owner_name, &ctx, false, target);
  929|   100k|}
dns_master_styleflags:
 1879|   744k|dns_master_styleflags(const dns_master_style_t *style) {
 1880|   744k|	REQUIRE(style != NULL);
  ------------------
  |  |  198|   744k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   744k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 744k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   744k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1881|   744k|	return style->flags;
 1882|   744k|}
masterdump.c:totext_ctx_init:
  337|   212k|		dns_totext_ctx_t *ctx) {
  338|   212k|	isc_result_t result;
  339|       |
  340|   212k|	REQUIRE(style->tab_width != 0);
  ------------------
  |  |  198|   212k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   212k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 212k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   212k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  341|       |
  342|   212k|	if (indentctx == NULL) {
  ------------------
  |  Branch (342:6): [True: 100k, False: 111k]
  ------------------
  343|   100k|		if ((style->flags & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|   100k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (343:7): [True: 0, False: 100k]
  ------------------
  344|      0|			indentctx = &default_yamlindent;
  345|   100k|		} else {
  346|   100k|			indentctx = &default_indent;
  347|   100k|		}
  348|   100k|	}
  349|       |
  350|   212k|	ctx->style = *style;
  351|   212k|	ctx->class_printed = false;
  352|       |
  353|   212k|	dns_fixedname_init(&ctx->origin_fixname);
  354|       |
  355|       |	/*
  356|       |	 * Set up the line break string if needed.
  357|       |	 */
  358|   212k|	if ((ctx->style.flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|   212k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (358:6): [True: 0, False: 212k]
  ------------------
  359|      0|		isc_buffer_t buf;
  360|      0|		isc_region_t r;
  361|      0|		unsigned int col = 0;
  362|       |
  363|      0|		isc_buffer_init(&buf, ctx->linebreak_buf,
  364|      0|				sizeof(ctx->linebreak_buf));
  365|       |
  366|      0|		isc_buffer_availableregion(&buf, &r);
  367|      0|		if (r.length < 1) {
  ------------------
  |  Branch (367:7): [True: 0, False: 0]
  ------------------
  368|      0|			return DNS_R_TEXTTOOLONG;
  369|      0|		}
  370|      0|		r.base[0] = '\n';
  371|      0|		isc_buffer_add(&buf, 1);
  372|       |
  373|      0|		if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 ||
  ------------------
  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  ------------------
  |  Branch (373:7): [True: 0, False: 0]
  ------------------
  374|      0|		    (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0)
  ------------------
  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (374:7): [True: 0, False: 0]
  ------------------
  375|      0|		{
  376|      0|			unsigned int i, len = strlen(indentctx->string);
  377|      0|			for (i = 0; i < indentctx->count; i++) {
  ------------------
  |  Branch (377:16): [True: 0, False: 0]
  ------------------
  378|      0|				if (isc_buffer_availablelength(&buf) < len) {
  ------------------
  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (378:9): [True: 0, False: 0]
  ------------------
  379|      0|					return DNS_R_TEXTTOOLONG;
  380|      0|				}
  381|      0|				isc_buffer_putstr(&buf, indentctx->string);
  382|      0|			}
  383|      0|		}
  384|       |
  385|      0|		if ((ctx->style.flags & DNS_STYLEFLAG_COMMENTDATA) != 0) {
  ------------------
  |  |   98|      0|#define DNS_STYLEFLAG_COMMENTDATA 0x010000000ULL
  ------------------
  |  Branch (385:7): [True: 0, False: 0]
  ------------------
  386|      0|			isc_buffer_availableregion(&buf, &r);
  387|      0|			if (r.length < 1) {
  ------------------
  |  Branch (387:8): [True: 0, False: 0]
  ------------------
  388|      0|				return DNS_R_TEXTTOOLONG;
  389|      0|			}
  390|      0|			r.base[0] = ';';
  391|      0|			isc_buffer_add(&buf, 1);
  392|      0|		}
  393|       |
  394|      0|		result = indent(&col, ctx->style.rdata_column,
  395|      0|				ctx->style.tab_width, &buf);
  396|       |		/*
  397|       |		 * Do not return ISC_R_NOSPACE if the line break string
  398|       |		 * buffer is too small, because that would just make
  399|       |		 * dump_rdataset() retry indefinitely with ever
  400|       |		 * bigger target buffers.  That's a different buffer,
  401|       |		 * so it won't help.  Use DNS_R_TEXTTOOLONG as a substitute.
  402|       |		 */
  403|      0|		if (result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (403:7): [True: 0, False: 0]
  ------------------
  404|      0|			return DNS_R_TEXTTOOLONG;
  405|      0|		}
  406|      0|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (406:7): [True: 0, False: 0]
  ------------------
  407|      0|			return result;
  408|      0|		}
  409|       |
  410|      0|		isc_buffer_availableregion(&buf, &r);
  411|      0|		if (r.length < 1) {
  ------------------
  |  Branch (411:7): [True: 0, False: 0]
  ------------------
  412|      0|			return DNS_R_TEXTTOOLONG;
  413|      0|		}
  414|      0|		r.base[0] = '\0';
  415|      0|		isc_buffer_add(&buf, 1);
  416|      0|		ctx->linebreak = ctx->linebreak_buf;
  417|   212k|	} else {
  418|   212k|		ctx->linebreak = NULL;
  419|   212k|	}
  420|       |
  421|   212k|	ctx->origin = NULL;
  422|   212k|	ctx->neworigin = NULL;
  423|   212k|	ctx->current_ttl = 0;
  424|   212k|	ctx->current_ttl_valid = false;
  425|   212k|	ctx->serve_stale_ttl = 0;
  426|   212k|	ctx->indent = *indentctx;
  427|       |
  428|   212k|	return ISC_R_SUCCESS;
  429|   212k|}
masterdump.c:indent:
  272|  1.16M|       isc_buffer_t *target) {
  273|  1.16M|	isc_region_t r;
  274|  1.16M|	unsigned char *p;
  275|  1.16M|	unsigned int from;
  276|  1.16M|	int ntabs, nspaces, t;
  277|       |
  278|  1.16M|	from = *current;
  279|       |
  280|  1.16M|	if (to < from + 1) {
  ------------------
  |  Branch (280:6): [True: 615k, False: 545k]
  ------------------
  281|   615k|		to = from + 1;
  282|   615k|	}
  283|       |
  284|  1.16M|	ntabs = to / tabwidth - from / tabwidth;
  285|  1.16M|	if (ntabs < 0) {
  ------------------
  |  Branch (285:6): [True: 0, False: 1.16M]
  ------------------
  286|      0|		ntabs = 0;
  287|      0|	}
  288|       |
  289|  1.16M|	if (ntabs > 0) {
  ------------------
  |  Branch (289:6): [True: 573k, False: 586k]
  ------------------
  290|   573k|		isc_buffer_availableregion(target, &r);
  291|   573k|		if (r.length < (unsigned int)ntabs) {
  ------------------
  |  Branch (291:7): [True: 0, False: 573k]
  ------------------
  292|      0|			return ISC_R_NOSPACE;
  293|      0|		}
  294|   573k|		p = r.base;
  295|       |
  296|   573k|		t = ntabs;
  297|  1.14M|		while (t) {
  ------------------
  |  Branch (297:10): [True: 573k, False: 573k]
  ------------------
  298|   573k|			int n = t;
  299|   573k|			if (n > N_TABS) {
  ------------------
  |  |  231|   573k|#define N_TABS 10
  ------------------
  |  Branch (299:8): [True: 0, False: 573k]
  ------------------
  300|      0|				n = N_TABS;
  ------------------
  |  |  231|      0|#define N_TABS 10
  ------------------
  301|      0|			}
  302|   573k|			memmove(p, tabs, n);
  303|   573k|			p += n;
  304|   573k|			t -= n;
  305|   573k|		}
  306|   573k|		isc_buffer_add(target, ntabs);
  307|   573k|		from = (to / tabwidth) * tabwidth;
  308|   573k|	}
  309|       |
  310|  1.16M|	nspaces = to - from;
  311|  1.16M|	INSIST(nspaces >= 0);
  ------------------
  |  |  202|  1.16M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.16M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.16M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.16M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  312|       |
  313|  1.16M|	isc_buffer_availableregion(target, &r);
  314|  1.16M|	if (r.length < (unsigned int)nspaces) {
  ------------------
  |  Branch (314:6): [True: 0, False: 1.16M]
  ------------------
  315|      0|		return ISC_R_NOSPACE;
  316|      0|	}
  317|  1.16M|	p = r.base;
  318|       |
  319|  1.16M|	t = nspaces;
  320|  1.74M|	while (t) {
  ------------------
  |  Branch (320:9): [True: 586k, False: 1.16M]
  ------------------
  321|   586k|		int n = t;
  322|   586k|		if (n > N_SPACES) {
  ------------------
  |  |  228|   586k|#define N_SPACES 10
  ------------------
  |  Branch (322:7): [True: 0, False: 586k]
  ------------------
  323|      0|			n = N_SPACES;
  ------------------
  |  |  228|      0|#define N_SPACES 10
  ------------------
  324|      0|		}
  325|   586k|		memmove(p, spaces, n);
  326|   586k|		p += n;
  327|   586k|		t -= n;
  328|   586k|	}
  329|  1.16M|	isc_buffer_add(target, nspaces);
  330|       |
  331|  1.16M|	*current = to;
  332|  1.16M|	return ISC_R_SUCCESS;
  333|  1.16M|}
masterdump.c:question_totext:
  801|   100k|		isc_buffer_t *target) {
  802|   100k|	unsigned int column;
  803|   100k|	isc_result_t result;
  804|   100k|	char *start = NULL;
  805|       |
  806|   100k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   100k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   200k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 100k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 100k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   100k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  807|   100k|	result = dns_rdataset_first(rdataset);
  808|   100k|	REQUIRE(result == ISC_R_NOMORE);
  ------------------
  |  |  198|   100k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   100k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 100k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   100k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  809|       |
  810|   100k|	column = 0;
  811|       |
  812|   100k|	if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|   100k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (812:6): [True: 0, False: 100k]
  ------------------
  813|      0|		RETERR(str_totext("- '", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  814|      0|		start = isc_buffer_used(target);
  ------------------
  |  |  150|      0|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  815|      0|	}
  816|       |
  817|       |	/* Owner name */
  818|   100k|	{
  819|   100k|		unsigned int name_start = target->used;
  820|   100k|		unsigned int opts = omit_final_dot ? DNS_NAME_OMITFINALDOT : 0;
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (820:23): [True: 0, False: 100k]
  ------------------
  821|   100k|		RETERR(dns_name_totext(owner_name, opts, target));
  ------------------
  |  |  276|   100k|	{                                  \
  |  |  277|   100k|		isc_result_t _r = (x);     \
  |  |  278|   100k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 100k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|   100k|	}
  ------------------
  822|   100k|		column += target->used - name_start;
  823|   100k|	}
  824|       |
  825|       |	/* Class */
  826|      0|	{
  827|   100k|		unsigned int class_start;
  828|   100k|		INDENT_TO(class_column);
  ------------------
  |  |  432|   100k|	do {                                                                  \
  |  |  433|   100k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {           \
  |  |  ------------------
  |  |  |  |  107|   100k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (433:7): [True: 0, False: 100k]
  |  |  ------------------
  |  |  434|      0|			if ((result = str_totext(" ", target)) !=             \
  |  |  ------------------
  |  |  |  Branch (434:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  435|      0|			    ISC_R_SUCCESS)                                    \
  |  |  436|      0|				return ((result));                            \
  |  |  437|   100k|		} else if ((result = indent(&column, ctx->style.col,          \
  |  |  ------------------
  |  |  |  Branch (437:14): [True: 0, False: 100k]
  |  |  ------------------
  |  |  438|   100k|					    ctx->style.tab_width, target)) != \
  |  |  439|   100k|			   ISC_R_SUCCESS)                                     \
  |  |  440|   100k|			return ((result));                                    \
  |  |  441|   100k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (441:11): [Folded, False: 100k]
  |  |  ------------------
  ------------------
  829|   100k|		class_start = target->used;
  830|   100k|		if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != 0) {
  ------------------
  |  |  203|   100k|#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL
  ------------------
  |  Branch (830:7): [True: 0, False: 100k]
  ------------------
  831|      0|			result = dns_rdataclass_tounknowntext(rdataset->rdclass,
  832|      0|							      target);
  833|   100k|		} else {
  834|   100k|			result = dns_rdataclass_totext(rdataset->rdclass,
  835|   100k|						       target);
  836|   100k|		}
  837|   100k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (837:7): [True: 0, False: 100k]
  ------------------
  838|      0|			return result;
  839|      0|		}
  840|   100k|		column += (target->used - class_start);
  841|   100k|	}
  842|       |
  843|       |	/* Type */
  844|      0|	{
  845|   100k|		unsigned int type_start;
  846|   100k|		INDENT_TO(type_column);
  ------------------
  |  |  432|   100k|	do {                                                                  \
  |  |  433|   100k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {           \
  |  |  ------------------
  |  |  |  |  107|   100k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (433:7): [True: 0, False: 100k]
  |  |  ------------------
  |  |  434|      0|			if ((result = str_totext(" ", target)) !=             \
  |  |  ------------------
  |  |  |  Branch (434:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  435|      0|			    ISC_R_SUCCESS)                                    \
  |  |  436|      0|				return ((result));                            \
  |  |  437|   100k|		} else if ((result = indent(&column, ctx->style.col,          \
  |  |  ------------------
  |  |  |  Branch (437:14): [True: 0, False: 100k]
  |  |  ------------------
  |  |  438|   100k|					    ctx->style.tab_width, target)) != \
  |  |  439|   100k|			   ISC_R_SUCCESS)                                     \
  |  |  440|   100k|			return ((result));                                    \
  |  |  441|   100k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (441:11): [Folded, False: 100k]
  |  |  ------------------
  ------------------
  847|   100k|		type_start = target->used;
  848|   100k|		if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != 0) {
  ------------------
  |  |  203|   100k|#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL
  ------------------
  |  Branch (848:7): [True: 0, False: 100k]
  ------------------
  849|      0|			result = dns_rdatatype_tounknowntext(rdataset->type,
  850|      0|							     target);
  851|   100k|		} else {
  852|   100k|			result = dns_rdatatype_totext(rdataset->type, target);
  853|   100k|		}
  854|   100k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (854:7): [True: 0, False: 100k]
  ------------------
  855|      0|			return result;
  856|      0|		}
  857|   100k|		column += (target->used - type_start);
  858|   100k|	}
  859|       |
  860|   100k|	if (start != NULL) {
  ------------------
  |  Branch (860:6): [True: 0, False: 100k]
  ------------------
  861|      0|		RETERR(yaml_stringify(target, start));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  862|      0|		RETERR(str_totext("\'", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  863|      0|	}
  864|   100k|	RETERR(str_totext("\n", target));
  ------------------
  |  |  276|   100k|	{                                  \
  |  |  277|   100k|		isc_result_t _r = (x);     \
  |  |  278|   100k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 100k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|   100k|	}
  ------------------
  865|       |
  866|   100k|	return ISC_R_SUCCESS;
  867|   100k|}
masterdump.c:str_totext:
  444|   340k|str_totext(const char *source, isc_buffer_t *target) {
  445|   340k|	unsigned int l;
  446|   340k|	isc_region_t region;
  447|       |
  448|   340k|	isc_buffer_availableregion(target, &region);
  449|   340k|	l = strlen(source);
  450|       |
  451|   340k|	if (l > region.length) {
  ------------------
  |  Branch (451:6): [True: 0, False: 340k]
  ------------------
  452|      0|		return ISC_R_NOSPACE;
  453|      0|	}
  454|       |
  455|   340k|	memmove(region.base, source, l);
  456|   340k|	isc_buffer_add(target, l);
  457|   340k|	return ISC_R_SUCCESS;
  458|   340k|}
masterdump.c:rdataset_totext:
  568|   111k|		isc_buffer_t *target) {
  569|   111k|	isc_result_t result;
  570|   111k|	unsigned int column;
  571|   111k|	bool first = true;
  572|   111k|	uint32_t current_ttl;
  573|   111k|	bool current_ttl_valid;
  574|   111k|	unsigned int type_start;
  575|   111k|	dns_fixedname_t fixed;
  576|   111k|	dns_name_t *name = NULL;
  577|   111k|	unsigned int i;
  578|   111k|	char *start = NULL;
  579|       |
  580|   111k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   111k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   223k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 111k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 111k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   111k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  581|       |
  582|   111k|	current_ttl = ctx->current_ttl;
  583|   111k|	current_ttl_valid = ctx->current_ttl_valid;
  584|       |
  585|   111k|	if (owner_name != NULL) {
  ------------------
  |  Branch (585:6): [True: 111k, False: 0]
  ------------------
  586|   111k|		name = dns_fixedname_initname(&fixed);
  587|   111k|		dns_name_copy(owner_name, name);
  588|   111k|		dns_rdataset_getownercase(rdataset, name);
  589|   111k|	}
  590|       |
  591|   239k|	DNS_RDATASET_FOREACH(rdataset) {
  ------------------
  |  |  262|   111k|	DNS_RDATASET_FOREACH_RES(rds, DNS__RDATASET_CONCAT(x, __LINE__))
  |  |  ------------------
  |  |  |  |  259|   111k|	for (isc_result_t res = dns_rdataset_first((rds));       \
  |  |  |  |  260|   351k|	     res == ISC_R_SUCCESS; res = dns_rdataset_next((rds)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (260:7): [True: 239k, False: 111k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  592|   239k|		column = 0;
  593|       |
  594|       |		/*
  595|       |		 * Indent?
  596|       |		 */
  597|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_INDENT) != 0 ||
  ------------------
  |  |  104|   239k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  ------------------
  |  Branch (597:7): [True: 0, False: 239k]
  ------------------
  598|   239k|		    (ctx->style.flags & DNS_STYLEFLAG_YAML) != 0)
  ------------------
  |  |  107|   239k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (598:7): [True: 0, False: 239k]
  ------------------
  599|      0|		{
  600|      0|			for (i = 0; i < ctx->indent.count; i++) {
  ------------------
  |  Branch (600:16): [True: 0, False: 0]
  ------------------
  601|      0|				RETERR(str_totext(ctx->indent.string, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  602|      0|			}
  603|      0|		}
  604|       |
  605|       |		/*
  606|       |		 * YAML or comment prefix?
  607|       |		 */
  608|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|   239k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (608:7): [True: 0, False: 239k]
  ------------------
  609|      0|			RETERR(str_totext("- '", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  610|      0|			start = isc_buffer_used(target);
  ------------------
  |  |  150|      0|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  611|   239k|		} else if ((ctx->style.flags & DNS_STYLEFLAG_COMMENTDATA) != 0)
  ------------------
  |  |   98|   239k|#define DNS_STYLEFLAG_COMMENTDATA 0x010000000ULL
  ------------------
  |  Branch (611:14): [True: 0, False: 239k]
  ------------------
  612|      0|		{
  613|      0|			RETERR(str_totext(";", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  614|      0|		}
  615|       |
  616|       |		/*
  617|       |		 * Owner name.
  618|       |		 */
  619|   239k|		if (name != NULL &&
  ------------------
  |  Branch (619:7): [True: 239k, False: 0]
  ------------------
  620|   239k|		    !((ctx->style.flags & DNS_STYLEFLAG_OMIT_OWNER) != 0 &&
  ------------------
  |  |   43|   239k|#define DNS_STYLEFLAG_OMIT_OWNER 0x000010000ULL
  ------------------
  |  Branch (620:9): [True: 0, False: 239k]
  ------------------
  621|      0|		      !first))
  ------------------
  |  Branch (621:9): [True: 0, False: 0]
  ------------------
  622|   239k|		{
  623|   239k|			unsigned int name_start = target->used;
  624|   239k|			RETERR(dns_name_totext(
  ------------------
  |  |  276|   239k|	{                                  \
  |  |  277|   479k|		isc_result_t _r = (x);     \
  |  |  ------------------
  |  |  |  Branch (277:22): [True: 0, False: 239k]
  |  |  ------------------
  |  |  278|   239k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 239k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|   239k|	}
  ------------------
  625|   239k|				name,
  626|   239k|				omit_final_dot ? DNS_NAME_OMITFINALDOT : 0,
  627|   239k|				target));
  628|   239k|			column += target->used - name_start;
  629|   239k|		}
  630|       |
  631|       |		/*
  632|       |		 * TTL.
  633|       |		 */
  634|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_NO_TTL) == 0 &&
  ------------------
  |  |   86|   239k|#define DNS_STYLEFLAG_NO_TTL 0x001000000ULL
  ------------------
  |  Branch (634:7): [True: 239k, False: 0]
  ------------------
  635|   239k|		    !((ctx->style.flags & DNS_STYLEFLAG_OMIT_TTL) != 0 &&
  ------------------
  |  |   61|   239k|#define DNS_STYLEFLAG_OMIT_TTL 0x000020000ULL
  ------------------
  |  Branch (635:9): [True: 0, False: 239k]
  ------------------
  636|      0|		      current_ttl_valid && rdataset->ttl == current_ttl))
  ------------------
  |  Branch (636:9): [True: 0, False: 0]
  |  Branch (636:30): [True: 0, False: 0]
  ------------------
  637|   239k|		{
  638|   239k|			char ttlbuf[64];
  639|   239k|			isc_region_t r;
  640|   239k|			unsigned int length;
  641|       |
  642|   239k|			INDENT_TO(ttl_column);
  ------------------
  |  |  432|   239k|	do {                                                                  \
  |  |  433|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {           \
  |  |  ------------------
  |  |  |  |  107|   239k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (433:7): [True: 0, False: 239k]
  |  |  ------------------
  |  |  434|      0|			if ((result = str_totext(" ", target)) !=             \
  |  |  ------------------
  |  |  |  Branch (434:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  435|      0|			    ISC_R_SUCCESS)                                    \
  |  |  436|      0|				return ((result));                            \
  |  |  437|   239k|		} else if ((result = indent(&column, ctx->style.col,          \
  |  |  ------------------
  |  |  |  Branch (437:14): [True: 0, False: 239k]
  |  |  ------------------
  |  |  438|   239k|					    ctx->style.tab_width, target)) != \
  |  |  439|   239k|			   ISC_R_SUCCESS)                                     \
  |  |  440|   239k|			return ((result));                                    \
  |  |  441|   239k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (441:11): [Folded, False: 239k]
  |  |  ------------------
  ------------------
  643|   239k|			if ((ctx->style.flags & DNS_STYLEFLAG_TTL_UNITS) != 0) {
  ------------------
  |  |  101|   239k|#define DNS_STYLEFLAG_TTL_UNITS 0x020000000ULL
  ------------------
  |  Branch (643:8): [True: 0, False: 239k]
  ------------------
  644|      0|				length = target->used;
  645|      0|				RETERR(dns_ttl_totext(rdataset->ttl, false,
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  646|      0|						      false, target));
  647|      0|				column += target->used - length;
  648|   239k|			} else {
  649|   239k|				length = snprintf(ttlbuf, sizeof(ttlbuf), "%u",
  650|   239k|						  rdataset->ttl);
  651|   239k|				INSIST(length <= sizeof(ttlbuf));
  ------------------
  |  |  202|   239k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   239k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 239k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   239k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  652|   239k|				isc_buffer_availableregion(target, &r);
  653|   239k|				if (r.length < length) {
  ------------------
  |  Branch (653:9): [True: 0, False: 239k]
  ------------------
  654|      0|					return ISC_R_NOSPACE;
  655|      0|				}
  656|   239k|				memmove(r.base, ttlbuf, length);
  657|   239k|				isc_buffer_add(target, length);
  658|   239k|				column += length;
  659|   239k|			}
  660|       |
  661|       |			/*
  662|       |			 * If the $TTL directive is not in use, the TTL we
  663|       |			 * just printed becomes the default for subsequent RRs.
  664|       |			 */
  665|   239k|			if ((ctx->style.flags & DNS_STYLEFLAG_TTL) == 0) {
  ------------------
  |  |   67|   239k|#define DNS_STYLEFLAG_TTL 0x000080000ULL
  ------------------
  |  Branch (665:8): [True: 239k, False: 0]
  ------------------
  666|   239k|				current_ttl = rdataset->ttl;
  667|   239k|				current_ttl_valid = true;
  668|   239k|			}
  669|   239k|		}
  670|       |
  671|       |		/*
  672|       |		 * Class.
  673|       |		 */
  674|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_NO_CLASS) == 0 &&
  ------------------
  |  |   89|   239k|#define DNS_STYLEFLAG_NO_CLASS 0x002000000ULL
  ------------------
  |  Branch (674:7): [True: 239k, False: 0]
  ------------------
  675|   239k|		    ((ctx->style.flags & DNS_STYLEFLAG_OMIT_CLASS) == 0 ||
  ------------------
  |  |   64|   239k|#define DNS_STYLEFLAG_OMIT_CLASS 0x000040000ULL
  ------------------
  |  Branch (675:8): [True: 239k, False: 0]
  ------------------
  676|      0|		     !ctx->class_printed))
  ------------------
  |  Branch (676:8): [True: 0, False: 0]
  ------------------
  677|   239k|		{
  678|   239k|			unsigned int class_start;
  679|   239k|			INDENT_TO(class_column);
  ------------------
  |  |  432|   239k|	do {                                                                  \
  |  |  433|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {           \
  |  |  ------------------
  |  |  |  |  107|   239k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (433:7): [True: 0, False: 239k]
  |  |  ------------------
  |  |  434|      0|			if ((result = str_totext(" ", target)) !=             \
  |  |  ------------------
  |  |  |  Branch (434:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  435|      0|			    ISC_R_SUCCESS)                                    \
  |  |  436|      0|				return ((result));                            \
  |  |  437|   239k|		} else if ((result = indent(&column, ctx->style.col,          \
  |  |  ------------------
  |  |  |  Branch (437:14): [True: 0, False: 239k]
  |  |  ------------------
  |  |  438|   239k|					    ctx->style.tab_width, target)) != \
  |  |  439|   239k|			   ISC_R_SUCCESS)                                     \
  |  |  440|   239k|			return ((result));                                    \
  |  |  441|   239k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (441:11): [Folded, False: 239k]
  |  |  ------------------
  ------------------
  680|   239k|			class_start = target->used;
  681|   239k|			if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) !=
  ------------------
  |  |  203|   239k|#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL
  ------------------
  |  Branch (681:8): [True: 0, False: 239k]
  ------------------
  682|   239k|			    0)
  683|      0|			{
  684|      0|				result = dns_rdataclass_tounknowntext(
  685|      0|					rdataset->rdclass, target);
  686|   239k|			} else {
  687|   239k|				result = dns_rdataclass_totext(
  688|   239k|					rdataset->rdclass, target);
  689|   239k|			}
  690|   239k|			if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (690:8): [True: 0, False: 239k]
  ------------------
  691|      0|				return result;
  692|      0|			}
  693|   239k|			column += (target->used - class_start);
  694|   239k|		}
  695|       |
  696|       |		/*
  697|       |		 * Type.
  698|       |		 */
  699|   239k|		INDENT_TO(type_column);
  ------------------
  |  |  432|   239k|	do {                                                                  \
  |  |  433|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {           \
  |  |  ------------------
  |  |  |  |  107|   239k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (433:7): [True: 0, False: 239k]
  |  |  ------------------
  |  |  434|      0|			if ((result = str_totext(" ", target)) !=             \
  |  |  ------------------
  |  |  |  Branch (434:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  435|      0|			    ISC_R_SUCCESS)                                    \
  |  |  436|      0|				return ((result));                            \
  |  |  437|   239k|		} else if ((result = indent(&column, ctx->style.col,          \
  |  |  ------------------
  |  |  |  Branch (437:14): [True: 0, False: 239k]
  |  |  ------------------
  |  |  438|   239k|					    ctx->style.tab_width, target)) != \
  |  |  439|   239k|			   ISC_R_SUCCESS)                                     \
  |  |  440|   239k|			return ((result));                                    \
  |  |  441|   239k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (441:11): [Folded, False: 239k]
  |  |  ------------------
  ------------------
  700|   239k|		type_start = target->used;
  701|   239k|		if (rdataset->attributes.negative) {
  ------------------
  |  Branch (701:7): [True: 0, False: 239k]
  ------------------
  702|      0|			RETERR(str_totext("\\-", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  703|      0|		}
  704|   239k|		switch (rdataset->type) {
  705|  1.66k|		case dns_rdatatype_keydata:
  ------------------
  |  |  200|  1.66k|#define dns_rdatatype_keydata	((dns_rdatatype_t)dns_rdatatype_keydata)
  ------------------
  |  Branch (705:3): [True: 1.66k, False: 238k]
  ------------------
  706|  1.66k|#define KEYDATA "KEYDATA"
  707|  1.66k|			if ((ctx->style.flags & DNS_STYLEFLAG_KEYDATA) != 0) {
  ------------------
  |  |  200|  1.66k|#define DNS_STYLEFLAG_KEYDATA 0x00000008ULL
  ------------------
  |  Branch (707:8): [True: 0, False: 1.66k]
  ------------------
  708|      0|				if (isc_buffer_availablelength(target) <
  ------------------
  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (708:9): [True: 0, False: 0]
  ------------------
  709|      0|				    (sizeof(KEYDATA) - 1))
  ------------------
  |  |  706|      0|#define KEYDATA "KEYDATA"
  ------------------
  710|      0|				{
  711|      0|					return ISC_R_NOSPACE;
  712|      0|				}
  713|      0|				isc_buffer_putstr(target, KEYDATA);
  ------------------
  |  |  706|      0|#define KEYDATA "KEYDATA"
  ------------------
  714|      0|				break;
  715|      0|			}
  716|  1.66k|			FALLTHROUGH;
  ------------------
  |  |  105|  1.66k|#define FALLTHROUGH [[fallthrough]]
  ------------------
  717|   239k|		default:
  ------------------
  |  Branch (717:3): [True: 238k, False: 1.66k]
  ------------------
  718|   239k|			if ((ctx->style.flags & DNS_STYLEFLAG_UNKNOWNFORMAT) !=
  ------------------
  |  |  203|   239k|#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL
  ------------------
  |  Branch (718:8): [True: 0, False: 239k]
  ------------------
  719|   239k|			    0)
  720|      0|			{
  721|      0|				result = dns_rdatatype_tounknowntext(
  722|      0|					rdataset->type, target);
  723|   239k|			} else {
  724|   239k|				result = dns_rdatatype_totext(rdataset->type,
  725|   239k|							      target);
  726|   239k|			}
  727|   239k|			if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (727:8): [True: 0, False: 239k]
  ------------------
  728|      0|				return result;
  729|      0|			}
  730|   239k|		}
  731|   239k|		column += (target->used - type_start);
  732|       |
  733|       |		/*
  734|       |		 * Rdata.
  735|       |		 */
  736|   239k|		INDENT_TO(rdata_column);
  ------------------
  |  |  432|   239k|	do {                                                                  \
  |  |  433|   239k|		if ((ctx->style.flags & DNS_STYLEFLAG_YAML) != 0) {           \
  |  |  ------------------
  |  |  |  |  107|   239k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (433:7): [True: 0, False: 239k]
  |  |  ------------------
  |  |  434|      0|			if ((result = str_totext(" ", target)) !=             \
  |  |  ------------------
  |  |  |  Branch (434:8): [True: 0, False: 0]
  |  |  ------------------
  |  |  435|      0|			    ISC_R_SUCCESS)                                    \
  |  |  436|      0|				return ((result));                            \
  |  |  437|   239k|		} else if ((result = indent(&column, ctx->style.col,          \
  |  |  ------------------
  |  |  |  Branch (437:14): [True: 0, False: 239k]
  |  |  ------------------
  |  |  438|   239k|					    ctx->style.tab_width, target)) != \
  |  |  439|   239k|			   ISC_R_SUCCESS)                                     \
  |  |  440|   239k|			return ((result));                                    \
  |  |  441|   239k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (441:11): [Folded, False: 239k]
  |  |  ------------------
  ------------------
  737|   239k|		if (rdataset->attributes.negative) {
  ------------------
  |  Branch (737:7): [True: 0, False: 239k]
  ------------------
  738|      0|			if (NXDOMAIN(rdataset)) {
  ------------------
  |  |  260|      0|#define NXDOMAIN(x) (((x)->attributes.nxdomain))
  |  |  ------------------
  |  |  |  Branch (260:21): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  739|      0|				RETERR(str_totext(";-$NXDOMAIN", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  740|      0|			} else {
  741|      0|				RETERR(str_totext(";-$NXRRSET", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  742|      0|			}
  743|      0|			if (start != NULL) {
  ------------------
  |  Branch (743:8): [True: 0, False: 0]
  ------------------
  744|      0|				RETERR(yaml_stringify(target, start));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  745|      0|				RETERR(str_totext("'\n", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  746|      0|			} else {
  747|      0|				RETERR(str_totext("\n", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  748|      0|			}
  749|       |
  750|       |			/*
  751|       |			 * Print a summary of the cached records which make
  752|       |			 * up the negative response.
  753|       |			 */
  754|      0|			RETERR(ncache_summary(rdataset, omit_final_dot, ctx,
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  755|      0|					      target));
  756|      0|			break;
  757|   239k|		} else {
  758|   239k|			dns_rdata_t rdata = DNS_RDATA_INIT;
  ------------------
  |  |  149|   239k|	{                                     \
  |  |  150|   239k|		.data = NULL,                 \
  |  |  151|   239k|		.link = ISC_LINK_INITIALIZER, \
  |  |  ------------------
  |  |  |  |   30|   239k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  |  |  ------------------
  |  |  |  |  |  |   26|   239k|	{                                         \
  |  |  |  |  |  |   27|   239k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   239k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   28|   239k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   239k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   29|   239k|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  152|   239k|	}
  ------------------
  759|       |
  760|   239k|			dns_rdataset_current(rdataset, &rdata);
  761|       |
  762|   239k|			RETERR(dns_rdata_tofmttext(
  ------------------
  |  |  276|   239k|	{                                  \
  |  |  277|   239k|		isc_result_t _r = (x);     \
  |  |  278|   239k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 9, False: 239k]
  |  |  ------------------
  |  |  279|      9|			return ((_r));     \
  |  |  280|      9|		}                          \
  |  |  281|   239k|	}
  ------------------
  763|   239k|				&rdata, ctx->origin, ctx->style.flags,
  764|   239k|				ctx->style.line_length -
  765|   239k|					ctx->style.rdata_column,
  766|   239k|				ctx->style.split_width, ctx->linebreak,
  767|   239k|				target));
  768|   239k|			if (start != NULL) {
  ------------------
  |  Branch (768:8): [True: 0, False: 239k]
  ------------------
  769|      0|				RETERR(yaml_stringify(target, start));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  770|      0|				RETERR(str_totext("'\n", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  771|   239k|			} else {
  772|   239k|				RETERR(str_totext("\n", target));
  ------------------
  |  |  276|   239k|	{                                  \
  |  |  277|   239k|		isc_result_t _r = (x);     \
  |  |  278|   239k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 239k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|   239k|	}
  ------------------
  773|   239k|			}
  774|   239k|		}
  775|       |
  776|   239k|		first = false;
  777|   239k|	}
  778|       |
  779|       |	/*
  780|       |	 * Update the ctx state to reflect what we just printed.
  781|       |	 * This is done last, only when we are sure we will return
  782|       |	 * success, because this function may be called multiple
  783|       |	 * times with increasing buffer sizes until it succeeds,
  784|       |	 * and failed attempts must not update the state prematurely.
  785|       |	 */
  786|   111k|	ctx->class_printed = true;
  787|   111k|	ctx->current_ttl = current_ttl;
  788|   111k|	ctx->current_ttl_valid = current_ttl_valid;
  789|       |
  790|   111k|	return ISC_R_SUCCESS;
  791|   111k|}

dns_message_create:
  694|  22.3k|		   dns_message_t **msgp) {
  695|  22.3k|	REQUIRE(mctx != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  696|  22.3k|	REQUIRE(msgp != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  697|  22.3k|	REQUIRE(*msgp == NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  698|  22.3k|	REQUIRE(intent == DNS_MESSAGE_INTENTPARSE ||
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  699|  22.3k|		intent == DNS_MESSAGE_INTENTRENDER);
  700|  22.3k|	REQUIRE((namepool != NULL && rdspool != NULL) ||
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   111k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 22.3k]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|  22.3k|		(namepool == NULL && rdspool == NULL));
  702|       |
  703|  22.3k|	dns_message_t *msg = isc_mem_get(mctx, sizeof(dns_message_t));
  ------------------
  |  |  144|  22.3k|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
  704|  22.3k|	*msg = (dns_message_t){
  705|  22.3k|		.from_to_wire = intent,
  706|  22.3k|		.references = ISC_REFCOUNT_INITIALIZER(1),
  ------------------
  |  |   34|  22.3k|#define ISC_REFCOUNT_INITIALIZER(a) (a)
  ------------------
  707|  22.3k|		.scratchpad = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  22.3k|	{                     \
  |  |   22|  22.3k|		.head = NULL, \
  |  |   23|  22.3k|		.tail = NULL, \
  |  |   24|  22.3k|	}
  ------------------
  708|  22.3k|		.cleanup = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  22.3k|	{                     \
  |  |   22|  22.3k|		.head = NULL, \
  |  |   23|  22.3k|		.tail = NULL, \
  |  |   24|  22.3k|	}
  ------------------
  709|  22.3k|		.rdatas = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  22.3k|	{                     \
  |  |   22|  22.3k|		.head = NULL, \
  |  |   23|  22.3k|		.tail = NULL, \
  |  |   24|  22.3k|	}
  ------------------
  710|  22.3k|		.rdatalists = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  22.3k|	{                     \
  |  |   22|  22.3k|		.head = NULL, \
  |  |   23|  22.3k|		.tail = NULL, \
  |  |   24|  22.3k|	}
  ------------------
  711|  22.3k|		.freerdata = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  22.3k|	{                     \
  |  |   22|  22.3k|		.head = NULL, \
  |  |   23|  22.3k|		.tail = NULL, \
  |  |   24|  22.3k|	}
  ------------------
  712|  22.3k|		.freerdatalist = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|  22.3k|	{                     \
  |  |   22|  22.3k|		.head = NULL, \
  |  |   23|  22.3k|		.tail = NULL, \
  |  |   24|  22.3k|	}
  ------------------
  713|  22.3k|		.magic = DNS_MESSAGE_MAGIC,
  ------------------
  |  |  147|  22.3k|#define DNS_MESSAGE_MAGIC      ISC_MAGIC('M', 'S', 'G', '@')
  |  |  ------------------
  |  |  |  |   31|  22.3k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  714|  22.3k|		.namepool = namepool,
  715|  22.3k|		.rdspool = rdspool,
  716|  22.3k|		.free_pools = (namepool == NULL && rdspool == NULL),
  ------------------
  |  Branch (716:18): [True: 22.3k, False: 0]
  |  Branch (716:38): [True: 22.3k, False: 0]
  ------------------
  717|  22.3k|	};
  718|       |
  719|  22.3k|	isc_mem_attach(mctx, &msg->mctx);
  720|       |
  721|  22.3k|	if (msg->free_pools) {
  ------------------
  |  Branch (721:6): [True: 22.3k, False: 0]
  ------------------
  722|  22.3k|		dns_message_createpools(mctx, &msg->namepool, &msg->rdspool);
  723|  22.3k|	}
  724|       |
  725|  22.3k|	msginit(msg);
  726|       |
  727|   111k|	for (size_t i = 0; i < DNS_SECTION_MAX; i++) {
  ------------------
  |  Branch (727:21): [True: 89.3k, False: 22.3k]
  ------------------
  728|  89.3k|		ISC_LIST_INIT(msg->sections[i]);
  ------------------
  |  |   43|  89.3k|	do {                        \
  |  |   44|  89.3k|		(list).head = NULL; \
  |  |   45|  89.3k|		(list).tail = NULL; \
  |  |   46|  89.3k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (46:11): [Folded, False: 89.3k]
  |  |  ------------------
  ------------------
  729|  89.3k|	}
  730|       |
  731|  22.3k|	isc_buffer_t *dynbuf = NULL;
  732|  22.3k|	isc_buffer_allocate(mctx, &dynbuf, SCRATCHPAD_SIZE);
  ------------------
  |  |  123|  22.3k|#define SCRATCHPAD_SIZE	   1232
  ------------------
  733|  22.3k|	ISC_LIST_APPEND(msg->scratchpad, dynbuf, link);
  ------------------
  |  |  100|  22.3k|	do {                                                  \
  |  |  101|  22.3k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  22.3k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  22.3k|	do {                                            \
  |  |  |  |   89|  22.3k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 0, False: 22.3k]
  |  |  |  |  ------------------
  |  |  |  |   90|      0|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  22.3k|		} else {                                \
  |  |  |  |   92|  22.3k|			(list).head = (elt);            \
  |  |  |  |   93|  22.3k|		}                                       \
  |  |  |  |   94|  22.3k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  22.3k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  22.3k|		(list).tail = (elt);                    \
  |  |  |  |   97|  22.3k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 22.3k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  22.3k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 22.3k]
  |  |  ------------------
  ------------------
  734|       |
  735|  22.3k|	*msgp = msg;
  736|  22.3k|}
dns_message_parse:
 1578|  22.3k|		  unsigned int options) {
 1579|  22.3k|	isc_region_t r;
 1580|  22.3k|	dns_decompress_t dctx;
 1581|  22.3k|	isc_result_t result;
 1582|  22.3k|	uint16_t tmpflags;
 1583|  22.3k|	isc_buffer_t origsource;
 1584|  22.3k|	bool seen_problem;
 1585|  22.3k|	bool ignore_tc;
 1586|       |
 1587|  22.3k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1588|  22.3k|	REQUIRE(source != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1589|  22.3k|	REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTPARSE);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1590|       |
 1591|  22.3k|	seen_problem = false;
 1592|  22.3k|	ignore_tc = ((options & DNS_MESSAGEPARSE_IGNORETRUNCATION) != 0);
  ------------------
  |  |  209|  22.3k|	0x0008 /*%< truncation errors are \
  ------------------
 1593|       |
 1594|  22.3k|	origsource = *source;
 1595|       |
 1596|  22.3k|	msg->header_ok = 0;
 1597|  22.3k|	msg->question_ok = 0;
 1598|       |
 1599|  22.3k|	if ((options & DNS_MESSAGEPARSE_CLONEBUFFER) == 0) {
  ------------------
  |  |  206|  22.3k|	0x0004 /*%< save a copy of the \
  ------------------
  |  Branch (1599:6): [True: 22.3k, False: 0]
  ------------------
 1600|  22.3k|		isc_buffer_usedregion(&origsource, &msg->saved);
 1601|  22.3k|	} else {
 1602|      0|		msg->saved.length = isc_buffer_usedlength(&origsource);
  ------------------
  |  |  158|      0|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
 1603|      0|		msg->saved.base = isc_mem_get(msg->mctx, msg->saved.length);
  ------------------
  |  |  144|      0|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
 1604|      0|		memmove(msg->saved.base, isc_buffer_base(&origsource),
  ------------------
  |  |  144|      0|#define isc_buffer_base(b) ((void *)(b)->base) /*a*/
  ------------------
 1605|      0|			msg->saved.length);
 1606|      0|		msg->free_saved = 1;
 1607|      0|	}
 1608|       |
 1609|  22.3k|	isc_buffer_remainingregion(source, &r);
 1610|  22.3k|	if (r.length < DNS_MESSAGE_HEADERLEN) {
  ------------------
  |  |  145|  22.3k|#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */
  ------------------
  |  Branch (1610:6): [True: 20, False: 22.3k]
  ------------------
 1611|     20|		return ISC_R_UNEXPECTEDEND;
 1612|     20|	}
 1613|       |
 1614|  22.3k|	msg->id = isc_buffer_getuint16(source);
 1615|  22.3k|	tmpflags = isc_buffer_getuint16(source);
 1616|  22.3k|	msg->opcode = ((tmpflags & DNS_MESSAGE_OPCODE_MASK) >>
  ------------------
  |  |   84|  22.3k|#define DNS_MESSAGE_OPCODE_MASK	      0x7800U
  ------------------
 1617|  22.3k|		       DNS_MESSAGE_OPCODE_SHIFT);
  ------------------
  |  |   85|  22.3k|#define DNS_MESSAGE_OPCODE_SHIFT      11
  ------------------
 1618|  22.3k|	msg->rcode = (dns_rcode_t)(tmpflags & DNS_MESSAGE_RCODE_MASK);
  ------------------
  |  |   86|  22.3k|#define DNS_MESSAGE_RCODE_MASK	      0x000fU
  ------------------
 1619|  22.3k|	msg->flags = (tmpflags & DNS_MESSAGE_FLAG_MASK);
  ------------------
  |  |   87|  22.3k|#define DNS_MESSAGE_FLAG_MASK	      0x8ff0U
  ------------------
 1620|  22.3k|	msg->counts[DNS_SECTION_QUESTION] = isc_buffer_getuint16(source);
 1621|  22.3k|	msg->counts[DNS_SECTION_ANSWER] = isc_buffer_getuint16(source);
 1622|  22.3k|	msg->counts[DNS_SECTION_AUTHORITY] = isc_buffer_getuint16(source);
 1623|  22.3k|	msg->counts[DNS_SECTION_ADDITIONAL] = isc_buffer_getuint16(source);
 1624|       |
 1625|  22.3k|	msg->header_ok = 1;
 1626|  22.3k|	msg->state = DNS_SECTION_QUESTION;
 1627|       |
 1628|  22.3k|	dctx = DNS_DECOMPRESS_ALWAYS;
 1629|       |
 1630|  22.3k|	bool strict_parse = ((options & DNS_MESSAGEPARSE_BESTEFFORT) == 0);
  ------------------
  |  |  202|  22.3k|	0x0002 /*%< return a message if a \
  ------------------
 1631|  22.3k|	isc_result_t early_check_ret = early_sanity_check(msg);
 1632|  22.3k|	if (strict_parse && (early_check_ret != ISC_R_SUCCESS)) {
  ------------------
  |  Branch (1632:6): [True: 0, False: 22.3k]
  |  Branch (1632:22): [True: 0, False: 0]
  ------------------
 1633|      0|		return early_check_ret;
 1634|      0|	}
 1635|       |
 1636|  22.3k|	result = getquestions(source, msg, dctx, options);
 1637|       |
 1638|  22.3k|	if (result == ISC_R_UNEXPECTEDEND && ignore_tc) {
  ------------------
  |  Branch (1638:6): [True: 122, False: 22.2k]
  |  Branch (1638:39): [True: 0, False: 122]
  ------------------
 1639|      0|		goto truncated;
 1640|      0|	}
 1641|  22.3k|	if (result == DNS_R_RECOVERABLE) {
  ------------------
  |  Branch (1641:6): [True: 2.38k, False: 19.9k]
  ------------------
 1642|  2.38k|		seen_problem = true;
 1643|  2.38k|		result = ISC_R_SUCCESS;
 1644|  2.38k|	}
 1645|  22.3k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1645:6): [True: 134, False: 22.1k]
  ------------------
 1646|    134|		return result;
 1647|    134|	}
 1648|  22.1k|	msg->question_ok = 1;
 1649|       |
 1650|  22.1k|	result = getsection(source, msg, dctx, DNS_SECTION_ANSWER, options);
 1651|  22.1k|	if (result == ISC_R_UNEXPECTEDEND && ignore_tc) {
  ------------------
  |  Branch (1651:6): [True: 1.47k, False: 20.7k]
  |  Branch (1651:39): [True: 0, False: 1.47k]
  ------------------
 1652|      0|		goto truncated;
 1653|      0|	}
 1654|  22.1k|	if (result == DNS_R_RECOVERABLE) {
  ------------------
  |  Branch (1654:6): [True: 2.39k, False: 19.7k]
  ------------------
 1655|  2.39k|		seen_problem = true;
 1656|  2.39k|		result = ISC_R_SUCCESS;
 1657|  2.39k|	}
 1658|  22.1k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1658:6): [True: 2.43k, False: 19.7k]
  ------------------
 1659|  2.43k|		return result;
 1660|  2.43k|	}
 1661|       |
 1662|  19.7k|	result = getsection(source, msg, dctx, DNS_SECTION_AUTHORITY, options);
 1663|  19.7k|	if (result == ISC_R_UNEXPECTEDEND && ignore_tc) {
  ------------------
  |  Branch (1663:6): [True: 773, False: 18.9k]
  |  Branch (1663:39): [True: 0, False: 773]
  ------------------
 1664|      0|		goto truncated;
 1665|      0|	}
 1666|  19.7k|	if (result == DNS_R_RECOVERABLE) {
  ------------------
  |  Branch (1666:6): [True: 2.79k, False: 16.9k]
  ------------------
 1667|  2.79k|		seen_problem = true;
 1668|  2.79k|		result = ISC_R_SUCCESS;
 1669|  2.79k|	}
 1670|  19.7k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1670:6): [True: 1.08k, False: 18.6k]
  ------------------
 1671|  1.08k|		return result;
 1672|  1.08k|	}
 1673|       |
 1674|  18.6k|	result = getsection(source, msg, dctx, DNS_SECTION_ADDITIONAL, options);
 1675|  18.6k|	if (result == ISC_R_UNEXPECTEDEND && ignore_tc) {
  ------------------
  |  Branch (1675:6): [True: 536, False: 18.1k]
  |  Branch (1675:39): [True: 0, False: 536]
  ------------------
 1676|      0|		goto truncated;
 1677|      0|	}
 1678|  18.6k|	if (result == DNS_R_RECOVERABLE) {
  ------------------
  |  Branch (1678:6): [True: 3.60k, False: 15.0k]
  ------------------
 1679|  3.60k|		seen_problem = true;
 1680|  3.60k|		result = ISC_R_SUCCESS;
 1681|  3.60k|	}
 1682|  18.6k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1682:6): [True: 780, False: 17.8k]
  ------------------
 1683|    780|		return result;
 1684|    780|	}
 1685|       |
 1686|  17.8k|	isc_buffer_remainingregion(source, &r);
 1687|  17.8k|	if (r.length != 0) {
  ------------------
  |  Branch (1687:6): [True: 1.84k, False: 16.0k]
  ------------------
 1688|  1.84k|		isc_log_write(ISC_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MESSAGE,
 1689|  1.84k|			      ISC_LOG_DEBUG(3),
  ------------------
  |  |   36|  1.84k|#define ISC_LOG_DEBUG(level) (level)
  ------------------
 1690|  1.84k|			      "message has %u byte(s) of trailing garbage",
 1691|  1.84k|			      r.length);
 1692|  1.84k|	}
 1693|       |
 1694|  17.8k|truncated:
 1695|       |
 1696|  17.8k|	if (result == ISC_R_UNEXPECTEDEND && ignore_tc) {
  ------------------
  |  Branch (1696:6): [True: 0, False: 17.8k]
  |  Branch (1696:39): [True: 0, False: 0]
  ------------------
 1697|      0|		return DNS_R_RECOVERABLE;
 1698|      0|	}
 1699|  17.8k|	if (seen_problem) {
  ------------------
  |  Branch (1699:6): [True: 8.03k, False: 9.85k]
  ------------------
 1700|  8.03k|		return DNS_R_RECOVERABLE;
 1701|  8.03k|	}
 1702|  9.85k|	return ISC_R_SUCCESS;
 1703|  17.8k|}
dns_message_renderbegin:
 1707|  9.02k|			isc_buffer_t *buffer) {
 1708|  9.02k|	isc_region_t r;
 1709|       |
 1710|  9.02k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  18.0k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 9.02k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1711|  9.02k|	REQUIRE(buffer != NULL);
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1712|  9.02k|	REQUIRE(isc_buffer_length(buffer) < 65536);
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1713|  9.02k|	REQUIRE(msg->buffer == NULL);
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1714|  9.02k|	REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER);
  ------------------
  |  |  198|  9.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1715|       |
 1716|  9.02k|	msg->cctx = cctx;
 1717|       |
 1718|       |	/*
 1719|       |	 * Erase the contents of this buffer.
 1720|       |	 */
 1721|  9.02k|	isc_buffer_clear(buffer);
 1722|       |
 1723|       |	/*
 1724|       |	 * Make certain there is enough for at least the header in this
 1725|       |	 * buffer.
 1726|       |	 */
 1727|  9.02k|	isc_buffer_availableregion(buffer, &r);
 1728|  9.02k|	if (r.length < DNS_MESSAGE_HEADERLEN) {
  ------------------
  |  |  145|  9.02k|#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */
  ------------------
  |  Branch (1728:6): [True: 0, False: 9.02k]
  ------------------
 1729|      0|		return ISC_R_NOSPACE;
 1730|      0|	}
 1731|       |
 1732|  9.02k|	if (r.length - DNS_MESSAGE_HEADERLEN < msg->reserved) {
  ------------------
  |  |  145|  9.02k|#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */
  ------------------
  |  Branch (1732:6): [True: 0, False: 9.02k]
  ------------------
 1733|      0|		return ISC_R_NOSPACE;
 1734|      0|	}
 1735|       |
 1736|       |	/*
 1737|       |	 * Reserve enough space for the header in this buffer.
 1738|       |	 */
 1739|  9.02k|	isc_buffer_add(buffer, DNS_MESSAGE_HEADERLEN);
  ------------------
  |  |  145|  9.02k|#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */
  ------------------
 1740|       |
 1741|  9.02k|	msg->buffer = buffer;
 1742|       |
 1743|  9.02k|	return ISC_R_SUCCESS;
 1744|  9.02k|}
dns_message_renderrelease:
 1776|  2.25k|dns_message_renderrelease(dns_message_t *msg, unsigned int space) {
 1777|  2.25k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  2.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.51k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.25k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1778|  2.25k|	REQUIRE(space <= msg->reserved);
  ------------------
  |  |  198|  2.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1779|       |
 1780|  2.25k|	msg->reserved -= space;
 1781|  2.25k|}
dns_message_rendersection:
 1882|  37.4k|			  unsigned int options) {
 1883|  37.4k|	dns_namelist_t *section = NULL;
 1884|  37.4k|	dns_name_t *name = NULL;
 1885|  37.4k|	dns_rdataset_t *rdataset = NULL;
 1886|  37.4k|	unsigned int count, total;
 1887|  37.4k|	isc_result_t result;
 1888|  37.4k|	isc_buffer_t st; /* for rollbacks */
 1889|  37.4k|	int pass;
 1890|  37.4k|	bool partial = false;
 1891|  37.4k|	unsigned int rd_options;
 1892|  37.4k|	dns_rdatatype_t preferred_glue = 0;
 1893|       |
 1894|  37.4k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  37.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  74.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 37.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 37.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  37.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1895|  37.4k|	REQUIRE(msg->buffer != NULL);
  ------------------
  |  |  198|  37.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  37.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 37.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  37.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1896|  37.4k|	REQUIRE(VALID_NAMED_SECTION(sectionid));
  ------------------
  |  |  198|  37.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  74.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 37.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 37.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  37.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1897|       |
 1898|  37.4k|	section = &msg->sections[sectionid];
 1899|       |
 1900|  37.4k|	if ((sectionid == DNS_SECTION_ADDITIONAL) &&
  ------------------
  |  Branch (1900:6): [True: 8.94k, False: 28.4k]
  ------------------
 1901|  8.94k|	    (options & DNS_MESSAGERENDER_ORDERED) == 0)
  ------------------
  |  |  215|  8.94k|#define DNS_MESSAGERENDER_ORDERED    0x0001 /*%< don't change order */
  ------------------
  |  Branch (1901:6): [True: 8.94k, False: 0]
  ------------------
 1902|  8.94k|	{
 1903|  8.94k|		if ((options & DNS_MESSAGERENDER_PREFER_A) != 0) {
  ------------------
  |  |  219|  8.94k|	0x0008 /*%< prefer A records in \
  ------------------
  |  Branch (1903:7): [True: 0, False: 8.94k]
  ------------------
 1904|      0|			preferred_glue = dns_rdatatype_a;
  ------------------
  |  |  115|      0|#define dns_rdatatype_a		((dns_rdatatype_t)dns_rdatatype_a)
  ------------------
 1905|      0|			pass = 4;
 1906|  8.94k|		} else if ((options & DNS_MESSAGERENDER_PREFER_AAAA) != 0) {
  ------------------
  |  |  222|  8.94k|	0x0010 /*%< prefer AAAA records in \
  ------------------
  |  Branch (1906:14): [True: 0, False: 8.94k]
  ------------------
 1907|      0|			preferred_glue = dns_rdatatype_aaaa;
  ------------------
  |  |  142|      0|#define dns_rdatatype_aaaa	((dns_rdatatype_t)dns_rdatatype_aaaa)
  ------------------
 1908|      0|			pass = 4;
 1909|  8.94k|		} else {
 1910|  8.94k|			pass = 3;
 1911|  8.94k|		}
 1912|  28.4k|	} else {
 1913|  28.4k|		pass = 1;
 1914|  28.4k|	}
 1915|       |
 1916|  37.4k|	if ((options & DNS_MESSAGERENDER_OMITDNSSEC) == 0) {
  ------------------
  |  |  217|  37.4k|#define DNS_MESSAGERENDER_OMITDNSSEC 0x0004 /*%< omit DNSSEC records */
  ------------------
  |  Branch (1916:6): [True: 37.4k, False: 0]
  ------------------
 1917|  37.4k|		rd_options = 0;
 1918|  37.4k|	} else {
 1919|      0|		rd_options = DNS_RDATASETTOWIRE_OMITDNSSEC;
  ------------------
  |  |  269|      0|#define DNS_RDATASETTOWIRE_OMITDNSSEC 0x0001
  ------------------
 1920|      0|	}
 1921|       |
 1922|       |	/*
 1923|       |	 * Shrink the space in the buffer by the reserved amount.
 1924|       |	 */
 1925|  37.4k|	if (msg->buffer->length - msg->buffer->used < msg->reserved) {
  ------------------
  |  Branch (1925:6): [True: 0, False: 37.4k]
  ------------------
 1926|      0|		return ISC_R_NOSPACE;
 1927|      0|	}
 1928|  37.4k|	msg->buffer->length -= msg->reserved;
 1929|       |
 1930|  37.4k|	total = 0;
 1931|  37.4k|	if (msg->reserved == 0 && (options & DNS_MESSAGERENDER_PARTIAL) != 0) {
  ------------------
  |  |  216|  37.4k|#define DNS_MESSAGERENDER_PARTIAL    0x0002 /*%< allow a partial rdataset */
  ------------------
  |  Branch (1931:6): [True: 37.4k, False: 0]
  |  Branch (1931:28): [True: 0, False: 37.4k]
  ------------------
 1932|      0|		partial = true;
 1933|      0|	}
 1934|       |
 1935|       |	/*
 1936|       |	 * Render required glue first.  Set TC if it won't fit.
 1937|       |	 */
 1938|  37.4k|	name = ISC_LIST_HEAD(*section);
  ------------------
  |  |   62|  37.4k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1939|  37.4k|	if (name != NULL) {
  ------------------
  |  Branch (1939:6): [True: 11.0k, False: 26.3k]
  ------------------
 1940|  11.0k|		rdataset = ISC_LIST_HEAD(name->list);
  ------------------
  |  |   62|  11.0k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1941|  11.0k|		if (rdataset != NULL && rdataset->attributes.required &&
  ------------------
  |  Branch (1941:7): [True: 11.0k, False: 0]
  |  Branch (1941:27): [True: 0, False: 11.0k]
  ------------------
 1942|      0|		    !rdataset->attributes.rendered)
  ------------------
  |  Branch (1942:7): [True: 0, False: 0]
  ------------------
 1943|      0|		{
 1944|      0|			st = *(msg->buffer);
 1945|      0|			count = 0;
 1946|      0|			result = dns_rdataset_towire(
 1947|      0|				rdataset, name, msg->id, msg->cctx, msg->buffer,
 1948|      0|				partial, rd_options, &count);
 1949|      0|			total += count;
 1950|      0|			if (partial && result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (1950:8): [True: 0, False: 0]
  |  Branch (1950:19): [True: 0, False: 0]
  ------------------
 1951|      0|				msg->flags |= DNS_MESSAGEFLAG_TC;
 1952|      0|				msg->buffer->length += msg->reserved;
 1953|      0|				msg->counts[sectionid] += total;
 1954|      0|				return result;
 1955|      0|			}
 1956|      0|			if (result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (1956:8): [True: 0, False: 0]
  ------------------
 1957|      0|				msg->flags |= DNS_MESSAGEFLAG_TC;
 1958|      0|			}
 1959|      0|			if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1959:8): [True: 0, False: 0]
  ------------------
 1960|      0|				dns_compress_rollback(msg->cctx, st.used);
 1961|      0|				*(msg->buffer) = st; /* rollback */
 1962|      0|				msg->buffer->length += msg->reserved;
 1963|      0|				msg->counts[sectionid] += total;
 1964|      0|				return result;
 1965|      0|			}
 1966|       |
 1967|      0|			update_min_section_ttl(msg, sectionid, rdataset);
 1968|       |
 1969|      0|			rdataset->attributes.rendered = true;
 1970|      0|		}
 1971|  11.0k|	}
 1972|       |
 1973|  45.2k|	do {
 1974|  45.2k|		name = ISC_LIST_HEAD(*section);
  ------------------
  |  |   62|  45.2k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1975|  45.2k|		if (name == NULL) {
  ------------------
  |  Branch (1975:7): [True: 26.3k, False: 18.8k]
  ------------------
 1976|  26.3k|			msg->buffer->length += msg->reserved;
 1977|  26.3k|			msg->counts[sectionid] += total;
 1978|  26.3k|			return ISC_R_SUCCESS;
 1979|  26.3k|		}
 1980|       |
 1981|   135k|		ISC_LIST_FOREACH(*section, n, link) {
  ------------------
  |  |  234|  18.8k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  18.8k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  18.8k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|  18.8k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 18.8k, False: 0]
  |  |  ------------------
  |  |  236|   154k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 135k, False: 18.7k]
  |  |  ------------------
  |  |  237|   135k|	     elt = elt##_next,                                             \
  |  |  238|   135k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|   116k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 116k, False: 18.7k]
  |  |  ------------------
  ------------------
 1982|   177k|			ISC_LIST_FOREACH(n->list, rds, link) {
  ------------------
  |  |  234|   135k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|   135k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|   135k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|   135k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 135k, False: 0]
  |  |  ------------------
  |  |  236|   312k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 177k, False: 135k]
  |  |  ------------------
  |  |  237|   177k|	     elt = elt##_next,                                             \
  |  |  238|   177k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|  41.7k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 41.7k, False: 135k]
  |  |  ------------------
  ------------------
 1983|   177k|				if (rds->attributes.rendered) {
  ------------------
  |  Branch (1983:9): [True: 39.0k, False: 138k]
  ------------------
 1984|  39.0k|					continue;
 1985|  39.0k|				}
 1986|       |
 1987|   138k|				if (((options & DNS_MESSAGERENDER_ORDERED) ==
  ------------------
  |  |  215|   138k|#define DNS_MESSAGERENDER_ORDERED    0x0001 /*%< don't change order */
  ------------------
  |  Branch (1987:9): [True: 138k, False: 0]
  ------------------
 1988|   138k|				     0) &&
 1989|   138k|				    (sectionid == DNS_SECTION_ADDITIONAL) &&
  ------------------
  |  Branch (1989:9): [True: 29.0k, False: 109k]
  ------------------
 1990|  29.0k|				    wrong_priority(rds, pass, preferred_glue))
  ------------------
  |  Branch (1990:9): [True: 6.19k, False: 22.8k]
  ------------------
 1991|  6.19k|				{
 1992|  6.19k|					continue;
 1993|  6.19k|				}
 1994|       |
 1995|   132k|				st = *(msg->buffer);
 1996|       |
 1997|   132k|				count = 0;
 1998|   132k|				result = dns_rdataset_towire(
 1999|   132k|					rds, n, msg->id, msg->cctx, msg->buffer,
 2000|   132k|					partial, rd_options, &count);
 2001|       |
 2002|   132k|				total += count;
 2003|       |
 2004|       |				/*
 2005|       |				 * If out of space, record stats on what we
 2006|       |				 * rendered so far, and return that status.
 2007|       |				 *
 2008|       |				 * XXXMLG Need to change this when
 2009|       |				 * dns_rdataset_towire() can render partial
 2010|       |				 * sets starting at some arbitrary point in the
 2011|       |				 * set.  This will include setting a bit in the
 2012|       |				 * rdataset to indicate that a partial
 2013|       |				 * rendering was done, and some state saved
 2014|       |				 * somewhere (probably in the message struct)
 2015|       |				 * to indicate where to continue from.
 2016|       |				 */
 2017|   132k|				if (partial && result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (2017:9): [True: 0, False: 132k]
  |  Branch (2017:20): [True: 0, False: 0]
  ------------------
 2018|      0|					msg->buffer->length += msg->reserved;
 2019|      0|					msg->counts[sectionid] += total;
 2020|      0|					return result;
 2021|      0|				}
 2022|   132k|				if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (2022:9): [True: 149, False: 131k]
  ------------------
 2023|    149|					INSIST(st.used < 65536);
  ------------------
  |  |  202|    149|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    149|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 149, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    149|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 2024|    149|					dns_compress_rollback(
 2025|    149|						msg->cctx, (uint16_t)st.used);
 2026|    149|					*(msg->buffer) = st; /* rollback */
 2027|    149|					msg->buffer->length += msg->reserved;
 2028|    149|					msg->counts[sectionid] += total;
 2029|    149|					maybe_clear_ad(msg, sectionid);
 2030|    149|					return result;
 2031|    149|				}
 2032|       |
 2033|       |				/*
 2034|       |				 * If we have rendered non-validated data,
 2035|       |				 * ensure that the AD bit is not set.
 2036|       |				 */
 2037|   131k|				if (rds->trust != dns_trust_secure &&
  ------------------
  |  |  376|   263k|#define dns_trust_secure ((dns_trust_t)dns_trust_secure)
  ------------------
  |  Branch (2037:9): [True: 131k, False: 0]
  ------------------
 2038|   131k|				    (sectionid == DNS_SECTION_ANSWER ||
  ------------------
  |  Branch (2038:10): [True: 18.0k, False: 113k]
  ------------------
 2039|   113k|				     sectionid == DNS_SECTION_AUTHORITY))
  ------------------
  |  Branch (2039:10): [True: 16.2k, False: 97.6k]
  ------------------
 2040|  34.2k|				{
 2041|  34.2k|					msg->flags &= ~DNS_MESSAGEFLAG_AD;
 2042|  34.2k|				}
 2043|   131k|				if (OPTOUT(rds)) {
  ------------------
  |  |  116|   131k|#define OPTOUT(x) (((x)->attributes.optout))
  |  |  ------------------
  |  |  |  Branch (116:19): [True: 0, False: 131k]
  |  |  ------------------
  ------------------
 2044|      0|					msg->flags &= ~DNS_MESSAGEFLAG_AD;
 2045|      0|				}
 2046|       |
 2047|   131k|				update_min_section_ttl(msg, sectionid, rds);
 2048|       |
 2049|   131k|				rds->attributes.rendered = true;
 2050|   131k|			}
 2051|   135k|		}
 2052|  18.8k|	} while (--pass != 0);
  ------------------
  |  Branch (2052:11): [True: 7.81k, False: 10.8k]
  ------------------
 2053|       |
 2054|  10.8k|	msg->buffer->length += msg->reserved;
 2055|  10.8k|	msg->counts[sectionid] += total;
 2056|       |
 2057|  10.8k|	return ISC_R_SUCCESS;
 2058|  37.4k|}
dns_message_renderheader:
 2061|  8.86k|dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target) {
 2062|  8.86k|	uint16_t tmp;
 2063|  8.86k|	isc_region_t r;
 2064|       |
 2065|  8.86k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  8.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  17.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8.86k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2066|  8.86k|	REQUIRE(msg->buffer != NULL);
  ------------------
  |  |  198|  8.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.86k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2067|  8.86k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|  8.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.86k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2068|       |
 2069|  8.86k|	isc_buffer_availableregion(target, &r);
 2070|  8.86k|	REQUIRE(r.length >= DNS_MESSAGE_HEADERLEN);
  ------------------
  |  |  198|  8.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.86k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2071|       |
 2072|  8.86k|	isc_buffer_putuint16(target, msg->id);
 2073|       |
 2074|  8.86k|	tmp = ((msg->opcode << DNS_MESSAGE_OPCODE_SHIFT) &
  ------------------
  |  |   85|  8.86k|#define DNS_MESSAGE_OPCODE_SHIFT      11
  ------------------
 2075|  8.86k|	       DNS_MESSAGE_OPCODE_MASK);
  ------------------
  |  |   84|  8.86k|#define DNS_MESSAGE_OPCODE_MASK	      0x7800U
  ------------------
 2076|  8.86k|	tmp |= (msg->rcode & DNS_MESSAGE_RCODE_MASK);
  ------------------
  |  |   86|  8.86k|#define DNS_MESSAGE_RCODE_MASK	      0x000fU
  ------------------
 2077|  8.86k|	tmp |= (msg->flags & DNS_MESSAGE_FLAG_MASK);
  ------------------
  |  |   87|  8.86k|#define DNS_MESSAGE_FLAG_MASK	      0x8ff0U
  ------------------
 2078|       |
 2079|  8.86k|	INSIST(msg->counts[DNS_SECTION_QUESTION] < 65536 &&
  ------------------
  |  |  202|  8.86k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  53.2k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 8.86k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 8.86k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 8.86k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 8.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  8.86k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 2080|  8.86k|	       msg->counts[DNS_SECTION_ANSWER] < 65536 &&
 2081|  8.86k|	       msg->counts[DNS_SECTION_AUTHORITY] < 65536 &&
 2082|  8.86k|	       msg->counts[DNS_SECTION_ADDITIONAL] < 65536);
 2083|       |
 2084|  8.86k|	isc_buffer_putuint16(target, tmp);
 2085|  8.86k|	isc_buffer_putuint16(target,
 2086|  8.86k|			     (uint16_t)msg->counts[DNS_SECTION_QUESTION]);
 2087|  8.86k|	isc_buffer_putuint16(target, (uint16_t)msg->counts[DNS_SECTION_ANSWER]);
 2088|  8.86k|	isc_buffer_putuint16(target,
 2089|  8.86k|			     (uint16_t)msg->counts[DNS_SECTION_AUTHORITY]);
 2090|  8.86k|	isc_buffer_putuint16(target,
 2091|  8.86k|			     (uint16_t)msg->counts[DNS_SECTION_ADDITIONAL]);
 2092|  8.86k|}
dns_message_renderend:
 2095|  8.87k|dns_message_renderend(dns_message_t *msg) {
 2096|  8.87k|	isc_buffer_t tmpbuf;
 2097|  8.87k|	isc_region_t r;
 2098|  8.87k|	int result;
 2099|  8.87k|	unsigned int count;
 2100|       |
 2101|  8.87k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  8.87k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  17.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8.87k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8.87k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.87k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2102|  8.87k|	REQUIRE(msg->buffer != NULL);
  ------------------
  |  |  198|  8.87k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.87k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.87k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.87k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2103|       |
 2104|  8.87k|	if ((msg->rcode & ~DNS_MESSAGE_RCODE_MASK) != 0 && msg->opt == NULL) {
  ------------------
  |  |   86|  8.87k|#define DNS_MESSAGE_RCODE_MASK	      0x000fU
  ------------------
  |  Branch (2104:6): [True: 1.56k, False: 7.31k]
  |  Branch (2104:53): [True: 0, False: 1.56k]
  ------------------
 2105|       |		/*
 2106|       |		 * We have an extended rcode but are not using EDNS.
 2107|       |		 */
 2108|      0|		return DNS_R_FORMERR;
 2109|      0|	}
 2110|       |
 2111|       |	/*
 2112|       |	 * If we're adding a OPT, TSIG or SIG(0) to a truncated message,
 2113|       |	 * clear all rdatasets from the message except for the question
 2114|       |	 * before adding the OPT, TSIG or SIG(0).  If the question doesn't
 2115|       |	 * fit, don't include it.
 2116|       |	 */
 2117|  8.87k|	if ((msg->tsigkey != NULL || msg->sig0key != NULL || msg->opt) &&
  ------------------
  |  Branch (2117:7): [True: 0, False: 8.87k]
  |  Branch (2117:31): [True: 0, False: 8.87k]
  |  Branch (2117:55): [True: 2.25k, False: 6.61k]
  ------------------
 2118|  2.25k|	    (msg->flags & DNS_MESSAGEFLAG_TC) != 0)
  ------------------
  |  Branch (2118:6): [True: 1.42k, False: 831]
  ------------------
 2119|  1.42k|	{
 2120|  1.42k|		isc_buffer_t *buf;
 2121|       |
 2122|  1.42k|		msgresetnames(msg, DNS_SECTION_ANSWER);
 2123|  1.42k|		buf = msg->buffer;
 2124|  1.42k|		dns_message_renderreset(msg);
 2125|  1.42k|		msg->buffer = buf;
 2126|  1.42k|		isc_buffer_clear(msg->buffer);
 2127|  1.42k|		isc_buffer_add(msg->buffer, DNS_MESSAGE_HEADERLEN);
  ------------------
  |  |  145|  1.42k|#define DNS_MESSAGE_HEADERLEN 12 /*%< 6 uint16_t's */
  ------------------
 2128|  1.42k|		dns_compress_rollback(msg->cctx, 0);
 2129|  1.42k|		result = dns_message_rendersection(msg, DNS_SECTION_QUESTION,
 2130|  1.42k|						   0);
 2131|  1.42k|		if (result != ISC_R_SUCCESS && result != ISC_R_NOSPACE) {
  ------------------
  |  Branch (2131:7): [True: 0, False: 1.42k]
  |  Branch (2131:34): [True: 0, False: 0]
  ------------------
 2132|      0|			return result;
 2133|      0|		}
 2134|  1.42k|	}
 2135|       |
 2136|       |	/*
 2137|       |	 * If we've got an OPT record, render it.
 2138|       |	 */
 2139|  8.87k|	if (msg->opt != NULL) {
  ------------------
  |  Branch (2139:6): [True: 2.25k, False: 6.61k]
  ------------------
 2140|  2.25k|		dns_message_renderrelease(msg, msg->opt_reserved);
 2141|  2.25k|		msg->opt_reserved = 0;
 2142|       |		/*
 2143|       |		 * Set the extended rcode.  Cast msg->rcode to dns_ttl_t
 2144|       |		 * so that we do a unsigned shift.
 2145|       |		 */
 2146|  2.25k|		msg->opt->ttl &= ~DNS_MESSAGE_EDNSRCODE_MASK;
  ------------------
  |  |   88|  2.25k|#define DNS_MESSAGE_EDNSRCODE_MASK    0xff000000U
  ------------------
 2147|  2.25k|		msg->opt->ttl |= (((dns_ttl_t)(msg->rcode) << 20) &
 2148|  2.25k|				  DNS_MESSAGE_EDNSRCODE_MASK);
  ------------------
  |  |   88|  2.25k|#define DNS_MESSAGE_EDNSRCODE_MASK    0xff000000U
  ------------------
 2149|       |		/*
 2150|       |		 * Render.
 2151|       |		 */
 2152|  2.25k|		count = 0;
 2153|  2.25k|		result = renderset(msg->opt, dns_rootname, msg->id, msg->cctx,
 2154|  2.25k|				   msg->buffer, msg->reserved, 0, &count);
 2155|  2.25k|		msg->counts[DNS_SECTION_ADDITIONAL] += count;
 2156|  2.25k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (2156:7): [True: 5, False: 2.25k]
  ------------------
 2157|      5|			return result;
 2158|      5|		}
 2159|  2.25k|	}
 2160|       |
 2161|       |	/*
 2162|       |	 * Deal with EDNS padding.
 2163|       |	 *
 2164|       |	 * padding_off is the length of the OPT with the 0-length PAD
 2165|       |	 * at the end.
 2166|       |	 */
 2167|  8.86k|	if (msg->padding_off > 0) {
  ------------------
  |  Branch (2167:6): [True: 0, False: 8.86k]
  ------------------
 2168|      0|		unsigned char *cp = isc_buffer_used(msg->buffer);
  ------------------
  |  |  150|      0|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 2169|      0|		unsigned int used, remaining;
 2170|      0|		uint16_t len, padsize = 0;
 2171|       |
 2172|       |		/* Check PAD */
 2173|      0|		if ((cp[-4] != 0) || (cp[-3] != DNS_OPT_PAD) || (cp[-2] != 0) ||
  ------------------
  |  Branch (2173:7): [True: 0, False: 0]
  |  Branch (2173:24): [True: 0, False: 0]
  |  Branch (2173:51): [True: 0, False: 0]
  ------------------
 2174|      0|		    (cp[-1] != 0))
  ------------------
  |  Branch (2174:7): [True: 0, False: 0]
  ------------------
 2175|      0|		{
 2176|      0|			return ISC_R_UNEXPECTED;
 2177|      0|		}
 2178|       |
 2179|       |		/*
 2180|       |		 * Zero-fill the PAD to the computed size;
 2181|       |		 * patch PAD length and OPT rdlength
 2182|       |		 */
 2183|       |
 2184|       |		/* Aligned used length + reserved to padding block */
 2185|      0|		used = isc_buffer_usedlength(msg->buffer);
  ------------------
  |  |  158|      0|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
 2186|      0|		if (msg->padding != 0) {
  ------------------
  |  Branch (2186:7): [True: 0, False: 0]
  ------------------
 2187|      0|			padsize = ((uint16_t)used + msg->reserved) %
 2188|      0|				  msg->padding;
 2189|      0|		}
 2190|      0|		if (padsize != 0) {
  ------------------
  |  Branch (2190:7): [True: 0, False: 0]
  ------------------
 2191|      0|			padsize = msg->padding - padsize;
 2192|      0|		}
 2193|       |		/* Stay below the available length */
 2194|      0|		remaining = isc_buffer_availablelength(msg->buffer);
  ------------------
  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
 2195|      0|		if (padsize > remaining) {
  ------------------
  |  Branch (2195:7): [True: 0, False: 0]
  ------------------
 2196|      0|			padsize = remaining;
 2197|      0|		}
 2198|       |
 2199|      0|		isc_buffer_add(msg->buffer, padsize);
 2200|      0|		memset(cp, 0, padsize);
 2201|      0|		cp[-2] = (unsigned char)((padsize & 0xff00U) >> 8);
 2202|      0|		cp[-1] = (unsigned char)(padsize & 0x00ffU);
 2203|      0|		cp -= msg->padding_off;
 2204|      0|		len = ((uint16_t)(cp[-2])) << 8;
 2205|      0|		len |= ((uint16_t)(cp[-1]));
 2206|      0|		len += padsize;
 2207|      0|		cp[-2] = (unsigned char)((len & 0xff00U) >> 8);
 2208|      0|		cp[-1] = (unsigned char)(len & 0x00ffU);
 2209|      0|	}
 2210|       |
 2211|       |	/*
 2212|       |	 * If we're adding a TSIG record, generate and render it.
 2213|       |	 */
 2214|  8.86k|	if (msg->tsigkey != NULL) {
  ------------------
  |  Branch (2214:6): [True: 0, False: 8.86k]
  ------------------
 2215|      0|		dns_message_renderrelease(msg, msg->sig_reserved);
 2216|      0|		msg->sig_reserved = 0;
 2217|      0|		RETERR(dns_tsig_sign(msg));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
 2218|      0|		count = 0;
 2219|      0|		result = renderset(msg->tsig, msg->tsigname, msg->id, msg->cctx,
 2220|      0|				   msg->buffer, msg->reserved, 0, &count);
 2221|      0|		msg->counts[DNS_SECTION_ADDITIONAL] += count;
 2222|      0|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (2222:7): [True: 0, False: 0]
  ------------------
 2223|      0|			return result;
 2224|      0|		}
 2225|      0|	}
 2226|       |
 2227|       |	/*
 2228|       |	 * If we're adding a SIG(0) record, generate and render it.
 2229|       |	 */
 2230|  8.86k|	if (msg->sig0key != NULL) {
  ------------------
  |  Branch (2230:6): [True: 0, False: 8.86k]
  ------------------
 2231|      0|		dns_message_renderrelease(msg, msg->sig_reserved);
 2232|      0|		msg->sig_reserved = 0;
 2233|      0|		RETERR(dns_dnssec_signmessage(msg, msg->sig0key));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
 2234|      0|		count = 0;
 2235|       |		/*
 2236|       |		 * Note: dns_rootname is used here, not msg->sig0name, since
 2237|       |		 * the owner name of a SIG(0) is irrelevant, and will not
 2238|       |		 * be set in a message being rendered.
 2239|       |		 */
 2240|      0|		result = renderset(msg->sig0, dns_rootname, msg->id, msg->cctx,
 2241|      0|				   msg->buffer, msg->reserved, 0, &count);
 2242|      0|		msg->counts[DNS_SECTION_ADDITIONAL] += count;
 2243|      0|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (2243:7): [True: 0, False: 0]
  ------------------
 2244|      0|			return result;
 2245|      0|		}
 2246|      0|	}
 2247|       |
 2248|  8.86k|	isc_buffer_usedregion(msg->buffer, &r);
 2249|  8.86k|	isc_buffer_init(&tmpbuf, r.base, r.length);
 2250|       |
 2251|  8.86k|	dns_message_renderheader(msg, &tmpbuf);
 2252|       |
 2253|  8.86k|	msg->buffer = NULL; /* forget about this buffer only on success XXX */
 2254|       |
 2255|  8.86k|	return ISC_R_SUCCESS;
 2256|  8.86k|}
dns_message_renderreset:
 2259|  1.42k|dns_message_renderreset(dns_message_t *msg) {
 2260|       |	/*
 2261|       |	 * Reset the message so that it may be rendered again.
 2262|       |	 */
 2263|       |
 2264|  1.42k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  1.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.85k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.42k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2265|  1.42k|	REQUIRE(msg->from_to_wire == DNS_MESSAGE_INTENTRENDER);
  ------------------
  |  |  198|  1.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2266|       |
 2267|  1.42k|	msg->buffer = NULL;
 2268|       |
 2269|  7.13k|	for (size_t i = 0; i < DNS_SECTION_MAX; i++) {
  ------------------
  |  Branch (2269:21): [True: 5.70k, False: 1.42k]
  ------------------
 2270|  5.70k|		msg->cursors[i] = NULL;
 2271|  5.70k|		msg->counts[i] = 0;
 2272|  5.70k|		MSG_SECTION_FOREACH(msg, i, name) {
  ------------------
  |  |  228|  5.70k|        for (dns_name_t *elt = ISC_LIST_HEAD((msg)->sections[(section)]); \
  |  |  ------------------
  |  |  |  |   62|  5.70k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  229|  7.04k|             elt != NULL;                                                 \
  |  |  ------------------
  |  |  |  Branch (229:14): [True: 1.34k, False: 5.70k]
  |  |  ------------------
  |  |  230|  5.70k|             elt = ISC_LIST_NEXT(elt, link))
  |  |  ------------------
  |  |  |  |  140|  1.34k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  ------------------
 2273|  1.34k|			ISC_LIST_FOREACH(name->list, rds, link) {
  ------------------
  |  |  234|  1.34k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  1.34k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  1.34k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|  1.34k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 1.34k, False: 0]
  |  |  ------------------
  |  |  236|  2.68k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 1.34k, False: 1.34k]
  |  |  ------------------
  |  |  237|  1.34k|	     elt = elt##_next,                                             \
  |  |  238|  1.34k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 0, False: 1.34k]
  |  |  ------------------
  ------------------
 2274|  1.34k|				rds->attributes.rendered = false;
 2275|  1.34k|			}
 2276|  1.34k|		}
 2277|  5.70k|	}
 2278|  1.42k|	if (msg->tsigname != NULL) {
  ------------------
  |  Branch (2278:6): [True: 1, False: 1.42k]
  ------------------
 2279|      1|		dns_message_puttempname(msg, &msg->tsigname);
 2280|      1|	}
 2281|  1.42k|	if (msg->tsig != NULL) {
  ------------------
  |  Branch (2281:6): [True: 1, False: 1.42k]
  ------------------
 2282|      1|		dns__message_putassociatedrdataset(msg, &msg->tsig);
 2283|      1|	}
 2284|  1.42k|	if (msg->sig0name != NULL) {
  ------------------
  |  Branch (2284:6): [True: 3, False: 1.42k]
  ------------------
 2285|      3|		dns_message_puttempname(msg, &msg->sig0name);
 2286|      3|	}
 2287|  1.42k|	if (msg->sig0 != NULL) {
  ------------------
  |  Branch (2287:6): [True: 3, False: 1.42k]
  ------------------
 2288|      3|		dns__message_putassociatedrdataset(msg, &msg->sig0);
 2289|      3|	}
 2290|  1.42k|}
dns_message_gettempname:
 2405|   390k|dns_message_gettempname(dns_message_t *msg, dns_name_t **item) {
 2406|   390k|	dns_fixedname_t *fn = NULL;
 2407|       |
 2408|   390k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   781k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2409|   390k|	REQUIRE(item != NULL && *item == NULL);
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   781k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2410|       |
 2411|   390k|	fn = isc_mempool_get(msg->namepool);
  ------------------
  |  |  168|   390k|#define isc_mempool_get(c)   isc__mempool_get((c)_ISC_MEM_FILELINE)
  ------------------
 2412|   390k|	*item = dns_fixedname_initname(fn);
 2413|   390k|}
dns_message_gettemprdataset:
 2424|   386k|dns_message_gettemprdataset(dns_message_t *msg, dns_rdataset_t **item) {
 2425|   386k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   772k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2426|   386k|	REQUIRE(item != NULL && *item == NULL);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   772k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2427|       |
 2428|   386k|	*item = isc_mempool_get(msg->rdspool);
  ------------------
  |  |  168|   386k|#define isc_mempool_get(c)   isc__mempool_get((c)_ISC_MEM_FILELINE)
  ------------------
 2429|   386k|	dns_rdataset_init(*item);
 2430|   386k|}
dns_message_puttempname:
 2441|   390k|dns_message_puttempname(dns_message_t *msg, dns_name_t **itemp) {
 2442|   390k|	dns_name_t *item = NULL;
 2443|       |
 2444|   390k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   781k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2445|   390k|	REQUIRE(itemp != NULL && *itemp != NULL);
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   781k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2446|       |
 2447|   390k|	item = *itemp;
 2448|   390k|	*itemp = NULL;
 2449|       |
 2450|   390k|	REQUIRE(!ISC_LINK_LINKED(item, link));
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   390k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2451|   390k|	REQUIRE(ISC_LIST_HEAD(item->list) == NULL);
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   390k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2452|       |
 2453|   390k|	if (item->hashmap != NULL) {
  ------------------
  |  Branch (2453:6): [True: 0, False: 390k]
  ------------------
 2454|      0|		isc_hashmap_destroy(&item->hashmap);
 2455|      0|	}
 2456|       |
 2457|       |	/*
 2458|       |	 * we need to check this in case dns_name_dup() was used.
 2459|       |	 */
 2460|   390k|	if (dns_name_dynamic(item)) {
  ------------------
  |  Branch (2460:6): [True: 0, False: 390k]
  ------------------
 2461|      0|		dns_name_free(item, msg->mctx);
 2462|      0|	}
 2463|       |
 2464|       |	/*
 2465|       |	 * 'name' is the first field in dns_fixedname_t, so putting
 2466|       |	 * back the address of name is the same as putting back
 2467|       |	 * the fixedname.
 2468|       |	 */
 2469|       |	isc_mempool_put(msg->namepool, item);
  ------------------
  |  |  207|   390k|	do {                                                 \
  |  |  208|   390k|		isc__mempool_put((c), (p)_ISC_MEM_FILELINE); \
  |  |  209|   390k|		(p) = NULL;                                  \
  |  |  210|   390k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (210:11): [Folded, False: 390k]
  |  |  ------------------
  ------------------
 2470|   390k|}
dns_message_puttemprdataset:
 2488|   386k|dns_message_puttemprdataset(dns_message_t *msg, dns_rdataset_t **item) {
 2489|   386k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   772k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2490|   386k|	REQUIRE(item != NULL && *item != NULL);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   772k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2491|       |
 2492|   386k|	REQUIRE(!dns_rdataset_isassociated(*item));
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2493|       |	isc_mempool_put(msg->rdspool, *item);
  ------------------
  |  |  207|   386k|	do {                                                 \
  |  |  208|   386k|		isc__mempool_put((c), (p)_ISC_MEM_FILELINE); \
  |  |  209|   386k|		(p) = NULL;                                  \
  |  |  210|   386k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (210:11): [Folded, False: 386k]
  |  |  ------------------
  ------------------
 2494|   386k|}
dns_message_getopt:
 2604|  17.9k|dns_message_getopt(dns_message_t *msg) {
 2605|       |	/*
 2606|       |	 * Get the OPT record for 'msg'.
 2607|       |	 */
 2608|       |
 2609|  17.9k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  17.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 17.9k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 17.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2610|       |
 2611|  17.9k|	return msg->opt;
 2612|  17.9k|}
dns_message_gettsig:
 2665|  17.8k|dns_message_gettsig(dns_message_t *msg, const dns_name_t **owner) {
 2666|       |	/*
 2667|       |	 * Get the TSIG record and owner for 'msg'.
 2668|       |	 */
 2669|       |
 2670|  17.8k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  17.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2671|  17.8k|	REQUIRE(owner == NULL || *owner == NULL);
  ------------------
  |  |  198|  17.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 17.8k]
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2672|       |
 2673|       |	SET_IF_NOT_NULL(owner, msg->tsigname);
  ------------------
  |  |  104|  17.8k|	if ((obj) != NULL) {      \
  |  |  ------------------
  |  |  |  Branch (104:6): [True: 17.8k, False: 0]
  |  |  ------------------
  |  |  105|  17.8k|		*(obj) = (val);   \
  |  |  106|  17.8k|	}
  ------------------
 2674|  17.8k|	return msg->tsig;
 2675|  17.8k|}
dns_message_getsig0:
 2778|  17.8k|dns_message_getsig0(dns_message_t *msg, const dns_name_t **owner) {
 2779|       |	/*
 2780|       |	 * Get the SIG(0) record for 'msg'.
 2781|       |	 */
 2782|       |
 2783|  17.8k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  17.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2784|  17.8k|	REQUIRE(owner == NULL || *owner == NULL);
  ------------------
  |  |  198|  17.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 17.8k]
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2785|       |
 2786|  17.8k|	if (msg->sig0 != NULL && owner != NULL) {
  ------------------
  |  Branch (2786:6): [True: 64, False: 17.8k]
  |  Branch (2786:27): [True: 64, False: 0]
  ------------------
 2787|       |		/* If dns_message_getsig0 is called on a rendered message
 2788|       |		 * after the SIG(0) has been applied, we need to return the
 2789|       |		 * root name, not NULL.
 2790|       |		 */
 2791|     64|		if (msg->sig0name == NULL) {
  ------------------
  |  Branch (2791:7): [True: 0, False: 64]
  ------------------
 2792|      0|			*owner = dns_rootname;
 2793|     64|		} else {
 2794|     64|			*owner = msg->sig0name;
 2795|     64|		}
 2796|     64|	}
 2797|  17.8k|	return msg->sig0;
 2798|  17.8k|}
dns_message_sectiontotext:
 3207|  71.5k|			  dns_messagetextflag_t flags, isc_buffer_t *target) {
 3208|  71.5k|	dns_name_t empty_name;
 3209|  71.5k|	isc_result_t result = ISC_R_SUCCESS;
 3210|  71.5k|	bool seensoa = false;
 3211|  71.5k|	size_t saved_count;
 3212|  71.5k|	dns_masterstyle_flags_t sflags;
 3213|       |
 3214|  71.5k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  71.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   143k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 71.5k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 71.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  71.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 3215|  71.5k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|  71.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  71.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 71.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  71.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 3216|  71.5k|	REQUIRE(VALID_NAMED_SECTION(section));
  ------------------
  |  |  198|  71.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   143k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 71.5k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 71.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  71.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 3217|       |
 3218|  71.5k|	saved_count = msg->indent.count;
 3219|       |
 3220|  71.5k|	if (ISC_LIST_EMPTY(msg->sections[section])) {
  ------------------
  |  |   64|  71.5k|#define ISC_LIST_EMPTY(list) ((list).head == NULL)
  |  |  ------------------
  |  |  |  Branch (64:30): [True: 51.3k, False: 20.2k]
  |  |  ------------------
  ------------------
 3221|  51.3k|		goto cleanup;
 3222|  51.3k|	}
 3223|       |
 3224|  20.2k|	sflags = dns_master_styleflags(style);
 3225|       |
 3226|  20.2k|	INDENT(style);
  ------------------
  |  | 3191|  20.2k|	do {                                                                 \
  |  | 3192|  20.2k|		unsigned int __i;                                            \
  |  | 3193|  20.2k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  20.2k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  20.2k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 20.2k, False: 0]
  |  |  ------------------
  |  | 3195|  20.2k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  20.2k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 20.2k, False: 0]
  |  |  ------------------
  |  | 3196|  20.2k|		{                                                            \
  |  | 3197|  20.2k|			break;                                               \
  |  | 3198|  20.2k|		}                                                            \
  |  | 3199|  20.2k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3227|  20.2k|	if ((sflags & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|  20.2k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (3227:6): [True: 0, False: 20.2k]
  ------------------
 3228|      0|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (3228:7): [True: 0, False: 0]
  ------------------
 3229|      0|			ADD_STRING(target, sectiontext[section]);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3230|      0|		} else {
 3231|      0|			ADD_STRING(target, updsectiontext[section]);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3232|      0|		}
 3233|      0|		ADD_STRING(target, "_SECTION:\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3234|  20.2k|	} else if ((flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0) {
  ------------------
  |  Branch (3234:13): [True: 20.2k, False: 0]
  ------------------
 3235|  20.2k|		ADD_STRING(target, ";; ");
  ------------------
  |  |   97|  20.2k|	{                                                         \
  |  |   98|  20.2k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  20.2k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 20.2k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  20.2k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  20.2k|	}
  ------------------
 3236|  20.2k|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (3236:7): [True: 17.6k, False: 2.60k]
  ------------------
 3237|  17.6k|			ADD_STRING(target, sectiontext[section]);
  ------------------
  |  |   97|  17.6k|	{                                                         \
  |  |   98|  17.6k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.6k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.6k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.6k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.6k|	}
  ------------------
 3238|  17.6k|		} else {
 3239|  2.60k|			ADD_STRING(target, updsectiontext[section]);
  ------------------
  |  |   97|  2.60k|	{                                                         \
  |  |   98|  2.60k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.60k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.60k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.60k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.60k|	}
  ------------------
 3240|  2.60k|		}
 3241|  20.2k|		ADD_STRING(target, " SECTION:\n");
  ------------------
  |  |   97|  20.2k|	{                                                         \
  |  |   98|  20.2k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  20.2k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 20.2k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  20.2k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  20.2k|	}
  ------------------
 3242|  20.2k|	}
 3243|       |
 3244|  20.2k|	dns_name_init(&empty_name);
 3245|  20.2k|	if (ISC_LIST_EMPTY(msg->sections[section])) {
  ------------------
  |  |   64|  20.2k|#define ISC_LIST_EMPTY(list) ((list).head == NULL)
  |  |  ------------------
  |  |  |  Branch (64:30): [True: 0, False: 20.2k]
  |  |  ------------------
  ------------------
 3246|      0|		goto cleanup;
 3247|      0|	}
 3248|  20.2k|	bool has_yaml = (sflags & DNS_STYLEFLAG_YAML) != 0;
  ------------------
  |  |  107|  20.2k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
 3249|  20.2k|	msg->indent.count += has_yaml;
 3250|       |
 3251|   164k|	MSG_SECTION_FOREACH(msg, section, name) {
  ------------------
  |  |  228|  20.2k|        for (dns_name_t *elt = ISC_LIST_HEAD((msg)->sections[(section)]); \
  |  |  ------------------
  |  |  |  |   62|  20.2k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  229|   185k|             elt != NULL;                                                 \
  |  |  ------------------
  |  |  |  Branch (229:14): [True: 164k, False: 20.2k]
  |  |  ------------------
  |  |  230|   164k|             elt = ISC_LIST_NEXT(elt, link))
  |  |  ------------------
  |  |  |  |  140|   164k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  ------------------
 3252|   212k|		ISC_LIST_FOREACH(name->list, rds, link) {
  ------------------
  |  |  234|   164k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|   164k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|   164k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|   164k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 164k, False: 0]
  |  |  ------------------
  |  |  236|   376k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 212k, False: 164k]
  |  |  ------------------
  |  |  237|   212k|	     elt = elt##_next,                                             \
  |  |  238|   212k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|  47.2k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 47.2k, False: 164k]
  |  |  ------------------
  ------------------
 3253|   212k|			if (section == DNS_SECTION_ANSWER &&
  ------------------
  |  Branch (3253:8): [True: 34.9k, False: 177k]
  ------------------
 3254|  34.9k|			    rds->type == dns_rdatatype_soa)
  ------------------
  |  |  120|  34.9k|#define dns_rdatatype_soa	((dns_rdatatype_t)dns_rdatatype_soa)
  ------------------
  |  Branch (3254:8): [True: 730, False: 34.2k]
  ------------------
 3255|    730|			{
 3256|    730|				if ((flags & DNS_MESSAGETEXTFLAG_OMITSOA) != 0)
  ------------------
  |  Branch (3256:9): [True: 0, False: 730]
  ------------------
 3257|      0|				{
 3258|      0|					continue;
 3259|      0|				}
 3260|    730|				if (seensoa &&
  ------------------
  |  Branch (3260:9): [True: 632, False: 98]
  ------------------
 3261|    632|				    (flags & DNS_MESSAGETEXTFLAG_ONESOA) != 0)
  ------------------
  |  Branch (3261:9): [True: 0, False: 632]
  ------------------
 3262|      0|				{
 3263|      0|					continue;
 3264|      0|				}
 3265|    730|				seensoa = true;
 3266|    730|			}
 3267|   212k|			if (section == DNS_SECTION_QUESTION) {
  ------------------
  |  Branch (3267:8): [True: 100k, False: 111k]
  ------------------
 3268|   100k|				INDENT(style);
  ------------------
  |  | 3191|   100k|	do {                                                                 \
  |  | 3192|   100k|		unsigned int __i;                                            \
  |  | 3193|   100k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|   100k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|   100k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 100k, False: 0]
  |  |  ------------------
  |  | 3195|   100k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|   100k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 100k, False: 0]
  |  |  ------------------
  |  | 3196|   100k|		{                                                            \
  |  | 3197|   100k|			break;                                               \
  |  | 3198|   100k|		}                                                            \
  |  | 3199|   100k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3269|   100k|				if ((sflags & DNS_STYLEFLAG_YAML) == 0) {
  ------------------
  |  |  107|   100k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (3269:9): [True: 100k, False: 0]
  ------------------
 3270|   100k|					ADD_STRING(target, ";");
  ------------------
  |  |   97|   100k|	{                                                         \
  |  |   98|   100k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   100k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 100k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|   100k|			isc_buffer_putstr(b, s);                  \
  |  |  103|   100k|	}
  ------------------
 3271|   100k|				}
 3272|   100k|				result = dns_master_questiontotext(
 3273|   100k|					name, rds, style, target);
 3274|   111k|			} else {
 3275|   111k|				result = dns_master_rdatasettotext(
 3276|   111k|					name, rds, style, &msg->indent, target);
 3277|   111k|			}
 3278|   212k|			if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (3278:8): [True: 10, False: 212k]
  ------------------
 3279|     10|				goto cleanup;
 3280|     10|			}
 3281|   212k|		}
 3282|   164k|	}
 3283|  20.2k|	msg->indent.count -= has_yaml;
 3284|       |
 3285|  20.2k|	if ((flags & DNS_MESSAGETEXTFLAG_NOHEADERS) == 0 &&
  ------------------
  |  Branch (3285:6): [True: 20.2k, False: 0]
  ------------------
 3286|  20.2k|	    (flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0 &&
  ------------------
  |  Branch (3286:6): [True: 20.2k, False: 0]
  ------------------
 3287|  20.2k|	    (sflags & DNS_STYLEFLAG_YAML) == 0)
  ------------------
  |  |  107|  20.2k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (3287:6): [True: 20.2k, False: 0]
  ------------------
 3288|  20.2k|	{
 3289|  20.2k|		INDENT(style);
  ------------------
  |  | 3191|  20.2k|	do {                                                                 \
  |  | 3192|  20.2k|		unsigned int __i;                                            \
  |  | 3193|  20.2k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  20.2k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  20.2k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 20.2k, False: 0]
  |  |  ------------------
  |  | 3195|  20.2k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  20.2k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 20.2k, False: 0]
  |  |  ------------------
  |  | 3196|  20.2k|		{                                                            \
  |  | 3197|  20.2k|			break;                                               \
  |  | 3198|  20.2k|		}                                                            \
  |  | 3199|  20.2k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3290|  20.2k|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|  20.2k|	{                                                         \
  |  |   98|  20.2k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  20.2k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 1, False: 20.2k]
  |  |  ------------------
  |  |   99|      1|			result = ISC_R_NOSPACE;                   \
  |  |  100|      1|			goto cleanup;                             \
  |  |  101|      1|		} else                                            \
  |  |  102|  20.2k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  20.2k|	}
  ------------------
 3291|  20.2k|	}
 3292|       |
 3293|  71.5k|cleanup:
 3294|  71.5k|	msg->indent.count = saved_count;
 3295|  71.5k|	return result;
 3296|  20.2k|}
dns_message_pseudosectiontotext:
 4045|  53.6k|				isc_buffer_t *target) {
 4046|  53.6k|	dns_rdataset_t *ps = NULL;
 4047|  53.6k|	const dns_name_t *name = NULL;
 4048|  53.6k|	isc_result_t result;
 4049|  53.6k|	char buf[sizeof(" (65000 bytes)")];
 4050|  53.6k|	uint32_t mbz;
 4051|  53.6k|	dns_rdata_t rdata;
 4052|  53.6k|	isc_buffer_t optbuf;
 4053|  53.6k|	uint16_t optcode, optlen;
 4054|  53.6k|	unsigned char *optdata = NULL;
 4055|  53.6k|	isc_buffer_t ecsbuf;
 4056|       |
 4057|  53.6k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  53.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   107k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 53.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 53.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  53.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4058|  53.6k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|  53.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  53.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 53.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  53.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4059|  53.6k|	REQUIRE(VALID_NAMED_PSEUDOSECTION(section));
  ------------------
  |  |  198|  53.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   107k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 53.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 53.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  53.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4060|       |
 4061|  53.6k|	if ((dns_master_styleflags(style) & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|  53.6k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (4061:6): [True: 0, False: 53.6k]
  ------------------
 4062|      0|		return dns_message_pseudosectiontoyaml(msg, section, style,
 4063|      0|						       flags, target);
 4064|      0|	}
 4065|       |
 4066|  53.6k|	switch (section) {
 4067|  17.9k|	case DNS_PSEUDOSECTION_OPT:
  ------------------
  |  Branch (4067:2): [True: 17.9k, False: 35.7k]
  ------------------
 4068|  17.9k|		ps = dns_message_getopt(msg);
 4069|  17.9k|		if (ps == NULL) {
  ------------------
  |  Branch (4069:7): [True: 13.3k, False: 4.51k]
  ------------------
 4070|  13.3k|			return ISC_R_SUCCESS;
 4071|  13.3k|		}
 4072|  4.51k|		if ((flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0) {
  ------------------
  |  Branch (4072:7): [True: 4.51k, False: 0]
  ------------------
 4073|  4.51k|			INDENT(style);
  ------------------
  |  | 3191|  4.51k|	do {                                                                 \
  |  | 3192|  4.51k|		unsigned int __i;                                            \
  |  | 3193|  4.51k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  4.51k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  4.51k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 4.51k, False: 0]
  |  |  ------------------
  |  | 3195|  4.51k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  4.51k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 4.51k, False: 0]
  |  |  ------------------
  |  | 3196|  4.51k|		{                                                            \
  |  | 3197|  4.51k|			break;                                               \
  |  | 3198|  4.51k|		}                                                            \
  |  | 3199|  4.51k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4074|  4.51k|			ADD_STRING(target, ";; OPT PSEUDOSECTION:\n");
  ------------------
  |  |   97|  4.51k|	{                                                         \
  |  |   98|  4.51k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  4.51k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 4.51k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  4.51k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  4.51k|	}
  ------------------
 4075|  4.51k|		}
 4076|       |
 4077|  4.51k|		INDENT(style);
  ------------------
  |  | 3191|  4.51k|	do {                                                                 \
  |  | 3192|  4.51k|		unsigned int __i;                                            \
  |  | 3193|  4.51k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  4.51k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  4.51k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 4.51k, False: 0]
  |  |  ------------------
  |  | 3195|  4.51k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  4.51k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 4.51k, False: 0]
  |  |  ------------------
  |  | 3196|  4.51k|		{                                                            \
  |  | 3197|  4.51k|			break;                                               \
  |  | 3198|  4.51k|		}                                                            \
  |  | 3199|  4.51k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4078|  4.51k|		ADD_STRING(target, "; EDNS: version: ");
  ------------------
  |  |   97|  4.51k|	{                                                         \
  |  |   98|  4.51k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  4.51k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 4.51k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  4.51k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  4.51k|	}
  ------------------
 4079|  4.51k|		snprintf(buf, sizeof(buf), "%u",
 4080|  4.51k|			 (unsigned int)((ps->ttl & 0x00ff0000) >> 16));
 4081|  4.51k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  4.51k|	{                                                         \
  |  |   98|  4.51k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  4.51k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 4.51k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  4.51k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  4.51k|	}
  ------------------
 4082|  4.51k|		ADD_STRING(target, ", flags:");
  ------------------
  |  |   97|  4.51k|	{                                                         \
  |  |   98|  4.51k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  4.51k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 4.51k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  4.51k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  4.51k|	}
  ------------------
 4083|  4.51k|		if ((ps->ttl & DNS_MESSAGEEXTFLAG_DO) != 0) {
  ------------------
  |  Branch (4083:7): [True: 1.18k, False: 3.33k]
  ------------------
 4084|  1.18k|			ADD_STRING(target, " do");
  ------------------
  |  |   97|  1.18k|	{                                                         \
  |  |   98|  1.18k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.18k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.18k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.18k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.18k|	}
  ------------------
 4085|  1.18k|		}
 4086|  4.51k|		if ((ps->ttl & DNS_MESSAGEEXTFLAG_CO) != 0) {
  ------------------
  |  Branch (4086:7): [True: 1.30k, False: 3.21k]
  ------------------
 4087|  1.30k|			ADD_STRING(target, " co");
  ------------------
  |  |   97|  1.30k|	{                                                         \
  |  |   98|  1.30k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.30k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.30k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.30k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.30k|	}
  ------------------
 4088|  1.30k|		}
 4089|  4.51k|		mbz = ps->ttl & 0xffff;
 4090|       |		/* Exclude Known Flags. */
 4091|  4.51k|		mbz &= ~(DNS_MESSAGEEXTFLAG_DO | DNS_MESSAGEEXTFLAG_CO);
 4092|  4.51k|		if (mbz != 0) {
  ------------------
  |  Branch (4092:7): [True: 3.63k, False: 884]
  ------------------
 4093|  3.63k|			ADD_STRING(target, "; MBZ: ");
  ------------------
  |  |   97|  3.63k|	{                                                         \
  |  |   98|  3.63k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  3.63k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 3.63k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  3.63k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  3.63k|	}
  ------------------
 4094|  3.63k|			snprintf(buf, sizeof(buf), "0x%.4x", mbz);
 4095|  3.63k|			ADD_STRING(target, buf);
  ------------------
  |  |   97|  3.63k|	{                                                         \
  |  |   98|  3.63k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  3.63k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 3.63k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  3.63k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  3.63k|	}
  ------------------
 4096|  3.63k|			ADD_STRING(target, ", udp: ");
  ------------------
  |  |   97|  3.63k|	{                                                         \
  |  |   98|  3.63k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  3.63k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 3.63k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  3.63k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  3.63k|	}
  ------------------
 4097|  3.63k|		} else {
 4098|    884|			ADD_STRING(target, "; udp: ");
  ------------------
  |  |   97|    884|	{                                                         \
  |  |   98|    884|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|    884|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 884]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|    884|			isc_buffer_putstr(b, s);                  \
  |  |  103|    884|	}
  ------------------
 4099|    884|		}
 4100|  4.51k|		snprintf(buf, sizeof(buf), "%u\n", (unsigned int)ps->rdclass);
 4101|  4.51k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  4.51k|	{                                                         \
  |  |   98|  4.51k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  4.51k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 4.51k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  4.51k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  4.51k|	}
  ------------------
 4102|       |
 4103|  4.51k|		result = dns_rdataset_first(ps);
 4104|  4.51k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (4104:7): [True: 0, False: 4.51k]
  ------------------
 4105|      0|			return ISC_R_SUCCESS;
 4106|      0|		}
 4107|       |
 4108|       |		/*
 4109|       |		 * Print EDNS info, if any.
 4110|       |		 *
 4111|       |		 * WARNING: The option contents may be malformed as
 4112|       |		 * dig +ednsopt=value:<content> does no validity
 4113|       |		 * checking.
 4114|       |		 */
 4115|  4.51k|		dns_rdata_init(&rdata);
 4116|  4.51k|		dns_rdataset_current(ps, &rdata);
 4117|       |
 4118|  4.51k|		isc_buffer_init(&optbuf, rdata.data, rdata.length);
 4119|  4.51k|		isc_buffer_add(&optbuf, rdata.length);
 4120|   335k|		while (isc_buffer_remaininglength(&optbuf) != 0) {
  ------------------
  |  |  160|   335k|#define isc_buffer_remaininglength(b) ((b)->used - (b)->current)   /* d-b */
  ------------------
  |  Branch (4120:10): [True: 330k, False: 4.51k]
  ------------------
 4121|   330k|			const char *option_name = NULL;
 4122|       |
 4123|   330k|			INSIST(isc_buffer_remaininglength(&optbuf) >= 4U);
  ------------------
  |  |  202|   330k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   330k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 330k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   330k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 4124|   330k|			optcode = isc_buffer_getuint16(&optbuf);
 4125|   330k|			optlen = isc_buffer_getuint16(&optbuf);
 4126|       |
 4127|   330k|			INSIST(isc_buffer_remaininglength(&optbuf) >= optlen);
  ------------------
  |  |  202|   330k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   330k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 330k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   330k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 4128|       |
 4129|   330k|			INDENT(style);
  ------------------
  |  | 3191|   330k|	do {                                                                 \
  |  | 3192|   330k|		unsigned int __i;                                            \
  |  | 3193|   330k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|   330k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|   330k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 330k, False: 0]
  |  |  ------------------
  |  | 3195|   330k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|   330k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 330k, False: 0]
  |  |  ------------------
  |  | 3196|   330k|		{                                                            \
  |  | 3197|   330k|			break;                                               \
  |  | 3198|   330k|		}                                                            \
  |  | 3199|   330k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4130|   330k|			ADD_STRING(target, "; ");
  ------------------
  |  |   97|   330k|	{                                                         \
  |  |   98|   330k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   330k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 330k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|   330k|			isc_buffer_putstr(b, s);                  \
  |  |  103|   330k|	}
  ------------------
 4131|   330k|			if (optcode < ARRAY_SIZE(option_names)) {
  ------------------
  |  |   98|   330k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (4131:8): [True: 258k, False: 72.4k]
  ------------------
 4132|   258k|				option_name = option_names[optcode];
 4133|   258k|			}
 4134|   330k|			if (option_name != NULL) {
  ------------------
  |  Branch (4134:8): [True: 101k, False: 228k]
  ------------------
 4135|   101k|				ADD_STRING(target, option_names[optcode])
  ------------------
  |  |   97|   101k|	{                                                         \
  |  |   98|   101k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   101k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 101k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|   101k|			isc_buffer_putstr(b, s);                  \
  |  |  103|   101k|	}
  ------------------
 4136|   228k|			} else {
 4137|   228k|				snprintf(buf, sizeof(buf), "OPT=%u", optcode);
 4138|   228k|				ADD_STRING(target, buf);
  ------------------
  |  |   97|   228k|	{                                                         \
  |  |   98|   228k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   228k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 1, False: 228k]
  |  |  ------------------
  |  |   99|      1|			result = ISC_R_NOSPACE;                   \
  |  |  100|      1|			goto cleanup;                             \
  |  |  101|      1|		} else                                            \
  |  |  102|   228k|			isc_buffer_putstr(b, s);                  \
  |  |  103|   228k|	}
  ------------------
 4139|   228k|			}
 4140|   330k|			ADD_STRING(target, ":");
  ------------------
  |  |   97|   330k|	{                                                         \
  |  |   98|   330k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   330k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 330k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|   330k|			isc_buffer_putstr(b, s);                  \
  |  |  103|   330k|	}
  ------------------
 4141|       |
 4142|   330k|			switch (optcode) {
 4143|  2.45k|			case DNS_OPT_LLQ:
  ------------------
  |  Branch (4143:4): [True: 2.45k, False: 328k]
  ------------------
 4144|  2.45k|				if (optlen == 18U) {
  ------------------
  |  Branch (4144:9): [True: 2.45k, False: 0]
  ------------------
 4145|  2.45k|					RETERR(render_llq(&optbuf, msg, style,
  ------------------
  |  |  276|  2.45k|	{                                  \
  |  |  277|  2.45k|		isc_result_t _r = (x);     \
  |  |  278|  2.45k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.45k|	}
  ------------------
 4146|  2.45k|							  target));
 4147|  2.45k|					ADD_STRING(target, "\n");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 4148|  2.45k|					continue;
 4149|  2.45k|				}
 4150|      0|				break;
 4151|  8.89k|			case DNS_OPT_UL:
  ------------------
  |  Branch (4151:4): [True: 8.89k, False: 321k]
  ------------------
 4152|  8.89k|				if (optlen == 4U || optlen == 8U) {
  ------------------
  |  Branch (4152:9): [True: 4.89k, False: 3.99k]
  |  Branch (4152:25): [True: 3.99k, False: 0]
  ------------------
 4153|  8.89k|					uint32_t secs, key = 0;
 4154|  8.89k|					secs = isc_buffer_getuint32(&optbuf);
 4155|  8.89k|					snprintf(buf, sizeof(buf), " %u", secs);
 4156|  8.89k|					ADD_STRING(target, buf);
  ------------------
  |  |   97|  8.89k|	{                                                         \
  |  |   98|  8.89k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  8.89k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 8.89k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  8.89k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  8.89k|	}
  ------------------
 4157|  8.89k|					if (optlen == 8U) {
  ------------------
  |  Branch (4157:10): [True: 3.99k, False: 4.89k]
  ------------------
 4158|  3.99k|						key = isc_buffer_getuint32(
 4159|  3.99k|							&optbuf);
 4160|  3.99k|						snprintf(buf, sizeof(buf),
 4161|  3.99k|							 "/%u", key);
 4162|  3.99k|						ADD_STRING(target, buf);
  ------------------
  |  |   97|  3.99k|	{                                                         \
  |  |   98|  3.99k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  3.99k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 3.99k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  3.99k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  3.99k|	}
  ------------------
 4163|  3.99k|					}
 4164|  8.89k|					ADD_STRING(target, " (");
  ------------------
  |  |   97|  8.89k|	{                                                         \
  |  |   98|  8.89k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  8.89k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 8.89k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  8.89k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  8.89k|	}
  ------------------
 4165|  8.89k|					CHECK(dns_ttl_totext(secs, true, true,
  ------------------
  |  |  255|  8.89k|	{                                      \
  |  |  256|  8.89k|		result = (r);                  \
  |  |  257|  8.89k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 8.89k]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|  8.89k|	}
  ------------------
 4166|  8.89k|							     target));
 4167|  8.89k|					if (optlen == 8U) {
  ------------------
  |  Branch (4167:10): [True: 3.99k, False: 4.89k]
  ------------------
 4168|  3.99k|						ADD_STRING(target, "/");
  ------------------
  |  |   97|  3.99k|	{                                                         \
  |  |   98|  3.99k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  3.99k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 3.99k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  3.99k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  3.99k|	}
  ------------------
 4169|  3.99k|						CHECK(dns_ttl_totext(key, true,
  ------------------
  |  |  255|  3.99k|	{                                      \
  |  |  256|  3.99k|		result = (r);                  \
  |  |  257|  3.99k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 3.99k]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|  3.99k|	}
  ------------------
 4170|  3.99k|								     true,
 4171|  3.99k|								     target));
 4172|  3.99k|					}
 4173|  8.89k|					ADD_STRING(target, ")\n");
  ------------------
  |  |   97|  8.89k|	{                                                         \
  |  |   98|  8.89k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  8.89k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 8.89k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  8.89k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  8.89k|	}
  ------------------
 4174|  8.89k|					continue;
 4175|  8.89k|				}
 4176|      0|				break;
 4177|  11.9k|			case DNS_OPT_CLIENT_SUBNET:
  ------------------
  |  Branch (4177:4): [True: 11.9k, False: 318k]
  ------------------
 4178|  11.9k|				isc_buffer_init(&ecsbuf,
 4179|  11.9k|						isc_buffer_current(&optbuf),
  ------------------
  |  |  146|  11.9k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
 4180|  11.9k|						optlen);
 4181|  11.9k|				isc_buffer_add(&ecsbuf, optlen);
 4182|  11.9k|				result = render_ecs(&ecsbuf, target);
 4183|  11.9k|				if (result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (4183:9): [True: 0, False: 11.9k]
  ------------------
 4184|      0|					return result;
 4185|      0|				}
 4186|  11.9k|				if (result == ISC_R_SUCCESS) {
  ------------------
  |  Branch (4186:9): [True: 11.9k, False: 0]
  ------------------
 4187|  11.9k|					isc_buffer_forward(&optbuf, optlen);
 4188|  11.9k|					ADD_STRING(target, "\n");
  ------------------
  |  |   97|  11.9k|	{                                                         \
  |  |   98|  11.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  11.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 11.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  11.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  11.9k|	}
  ------------------
 4189|  11.9k|					continue;
 4190|  11.9k|				}
 4191|      0|				break;
 4192|  17.3k|			case DNS_OPT_EXPIRE:
  ------------------
  |  Branch (4192:4): [True: 17.3k, False: 313k]
  ------------------
 4193|  17.3k|				if (optlen == 4) {
  ------------------
  |  Branch (4193:9): [True: 13.0k, False: 4.35k]
  ------------------
 4194|  13.0k|					uint32_t secs;
 4195|  13.0k|					secs = isc_buffer_getuint32(&optbuf);
 4196|  13.0k|					snprintf(buf, sizeof(buf), " %u", secs);
 4197|  13.0k|					ADD_STRING(target, buf);
  ------------------
  |  |   97|  13.0k|	{                                                         \
  |  |   98|  13.0k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  13.0k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 13.0k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  13.0k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  13.0k|	}
  ------------------
 4198|  13.0k|					ADD_STRING(target, " (");
  ------------------
  |  |   97|  13.0k|	{                                                         \
  |  |   98|  13.0k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  13.0k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 13.0k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  13.0k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  13.0k|	}
  ------------------
 4199|  13.0k|					RETERR(dns_ttl_totext(secs, true, true,
  ------------------
  |  |  276|  13.0k|	{                                  \
  |  |  277|  13.0k|		isc_result_t _r = (x);     \
  |  |  278|  13.0k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 13.0k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  13.0k|	}
  ------------------
 4200|  13.0k|							      target));
 4201|  13.0k|					ADD_STRING(target, ")\n");
  ------------------
  |  |   97|  13.0k|	{                                                         \
  |  |   98|  13.0k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  13.0k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 13.0k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  13.0k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  13.0k|	}
  ------------------
 4202|  13.0k|					continue;
 4203|  13.0k|				}
 4204|  4.35k|				break;
 4205|  4.35k|			case DNS_OPT_TCP_KEEPALIVE:
  ------------------
  |  Branch (4205:4): [True: 3.22k, False: 327k]
  ------------------
 4206|  3.22k|				if (optlen == 2) {
  ------------------
  |  Branch (4206:9): [True: 2.28k, False: 948]
  ------------------
 4207|  2.28k|					unsigned int dsecs;
 4208|  2.28k|					dsecs = isc_buffer_getuint16(&optbuf);
 4209|  2.28k|					snprintf(buf, sizeof(buf), " %u.%u",
 4210|  2.28k|						 dsecs / 10U, dsecs % 10U);
 4211|  2.28k|					ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.28k|	{                                                         \
  |  |   98|  2.28k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.28k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.28k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.28k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.28k|	}
  ------------------
 4212|  2.28k|					ADD_STRING(target, " secs\n");
  ------------------
  |  |   97|  2.28k|	{                                                         \
  |  |   98|  2.28k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.28k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.28k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.28k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.28k|	}
  ------------------
 4213|  2.28k|					continue;
 4214|  2.28k|				}
 4215|    948|				break;
 4216|  7.94k|			case DNS_OPT_PAD:
  ------------------
  |  Branch (4216:4): [True: 7.94k, False: 322k]
  ------------------
 4217|  7.94k|				if (optlen > 0U) {
  ------------------
  |  Branch (4217:9): [True: 2.01k, False: 5.93k]
  ------------------
 4218|  2.01k|					snprintf(buf, sizeof(buf),
 4219|  2.01k|						 " (%u bytes)", optlen);
 4220|  2.01k|					ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.01k|	{                                                         \
  |  |   98|  2.01k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.01k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.01k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.01k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.01k|	}
  ------------------
 4221|  2.01k|					isc_buffer_forward(&optbuf, optlen);
 4222|  2.01k|				}
 4223|  7.94k|				ADD_STRING(target, "\n");
  ------------------
  |  |   97|  7.94k|	{                                                         \
  |  |   98|  7.94k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  7.94k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 7.94k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  7.94k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  7.94k|	}
  ------------------
 4224|  7.94k|				continue;
 4225|  2.64k|			case DNS_OPT_CHAIN:
  ------------------
  |  Branch (4225:4): [True: 2.64k, False: 328k]
  ------------------
 4226|  3.83k|			case DNS_OPT_REPORT_CHANNEL:
  ------------------
  |  Branch (4226:4): [True: 1.19k, False: 329k]
  ------------------
 4227|  3.83k|				if (optlen > 0U) {
  ------------------
  |  Branch (4227:9): [True: 2.52k, False: 1.31k]
  ------------------
 4228|  2.52k|					isc_buffer_t sb = optbuf;
 4229|  2.52k|					isc_buffer_setactive(&optbuf, optlen);
 4230|  2.52k|					result = render_nameopt(&optbuf, false,
 4231|  2.52k|								target);
 4232|  2.52k|					if (result == ISC_R_SUCCESS) {
  ------------------
  |  Branch (4232:10): [True: 1.38k, False: 1.13k]
  ------------------
 4233|  1.38k|						ADD_STRING(target, "\n");
  ------------------
  |  |   97|  1.38k|	{                                                         \
  |  |   98|  1.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.38k|	}
  ------------------
 4234|  1.38k|						continue;
 4235|  1.38k|					}
 4236|  1.13k|					optbuf = sb;
 4237|  1.13k|				}
 4238|  2.45k|				ADD_STRING(target, "\n");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 4239|  2.45k|				break;
 4240|  1.82k|			case DNS_OPT_KEY_TAG:
  ------------------
  |  Branch (4240:4): [True: 1.82k, False: 328k]
  ------------------
 4241|  1.82k|				if (optlen > 0U && (optlen % 2U) == 0U) {
  ------------------
  |  Branch (4241:9): [True: 1.82k, False: 0]
  |  Branch (4241:24): [True: 1.82k, False: 0]
  ------------------
 4242|  1.82k|					const char *sep = "";
 4243|  18.2k|					while (optlen > 0U) {
  ------------------
  |  Branch (4243:13): [True: 16.4k, False: 1.82k]
  ------------------
 4244|  16.4k|						uint16_t id =
 4245|  16.4k|							isc_buffer_getuint16(
 4246|  16.4k|								&optbuf);
 4247|  16.4k|						snprintf(buf, sizeof(buf),
 4248|  16.4k|							 "%s %u", sep, id);
 4249|  16.4k|						ADD_STRING(target, buf);
  ------------------
  |  |   97|  16.4k|	{                                                         \
  |  |   98|  16.4k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  16.4k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 16.4k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  16.4k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  16.4k|	}
  ------------------
 4250|  16.4k|						sep = ",";
 4251|  16.4k|						optlen -= 2;
 4252|  16.4k|					}
 4253|  1.82k|					ADD_STRING(target, "\n");
  ------------------
  |  |   97|  1.82k|	{                                                         \
  |  |   98|  1.82k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.82k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.82k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.82k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.82k|	}
  ------------------
 4254|  1.82k|					continue;
 4255|  1.82k|				}
 4256|      0|				break;
 4257|  7.37k|			case DNS_OPT_EDE:
  ------------------
  |  Branch (4257:4): [True: 7.37k, False: 323k]
  ------------------
 4258|  7.37k|				if (optlen >= 2U) {
  ------------------
  |  Branch (4258:9): [True: 7.37k, False: 0]
  ------------------
 4259|  7.37k|					uint16_t ede;
 4260|  7.37k|					ede = isc_buffer_getuint16(&optbuf);
 4261|  7.37k|					snprintf(buf, sizeof(buf), " %u", ede);
 4262|  7.37k|					ADD_STRING(target, buf);
  ------------------
  |  |   97|  7.37k|	{                                                         \
  |  |   98|  7.37k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  7.37k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 7.37k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  7.37k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  7.37k|	}
  ------------------
 4263|  7.37k|					if (ede < ARRAY_SIZE(edetext)) {
  ------------------
  |  |   98|  7.37k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (4263:10): [True: 2.84k, False: 4.53k]
  ------------------
 4264|  2.84k|						ADD_STRING(target, " (");
  ------------------
  |  |   97|  2.84k|	{                                                         \
  |  |   98|  2.84k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.84k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.84k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.84k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.84k|	}
  ------------------
 4265|  2.84k|						ADD_STRING(target,
  ------------------
  |  |   97|  2.84k|	{                                                         \
  |  |   98|  2.84k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.84k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.84k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.84k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.84k|	}
  ------------------
 4266|  2.84k|							   edetext[ede]);
 4267|  2.84k|						ADD_STRING(target, ")");
  ------------------
  |  |   97|  2.84k|	{                                                         \
  |  |   98|  2.84k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.84k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.84k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.84k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.84k|	}
  ------------------
 4268|  2.84k|					}
 4269|  7.37k|					optlen -= 2;
 4270|  7.37k|					if (optlen != 0) {
  ------------------
  |  Branch (4270:10): [True: 5.38k, False: 1.99k]
  ------------------
 4271|  5.38k|						ADD_STRING(target, ":");
  ------------------
  |  |   97|  5.38k|	{                                                         \
  |  |   98|  5.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  5.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 5.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  5.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  5.38k|	}
  ------------------
 4272|  5.38k|					}
 4273|  7.37k|				} else if (optlen == 1U) {
  ------------------
  |  Branch (4273:16): [True: 0, False: 0]
  ------------------
 4274|       |					/* Malformed */
 4275|      0|					optdata = isc_buffer_current(&optbuf);
  ------------------
  |  |  146|      0|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
 4276|      0|					snprintf(buf, sizeof(buf),
 4277|      0|						 " %02x (\"%c\")\n", optdata[0],
 4278|      0|						 isprint(optdata[0])
  ------------------
  |  Branch (4278:8): [True: 0, False: 0]
  ------------------
 4279|      0|							 ? optdata[0]
 4280|      0|							 : '.');
 4281|      0|					isc_buffer_forward(&optbuf, optlen);
 4282|      0|					ADD_STRING(target, buf);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4283|      0|					continue;
 4284|      0|				}
 4285|  7.37k|				break;
 4286|  7.37k|			case DNS_OPT_CLIENT_TAG:
  ------------------
  |  Branch (4286:4): [True: 462, False: 330k]
  ------------------
 4287|  1.15k|			case DNS_OPT_SERVER_TAG:
  ------------------
  |  Branch (4287:4): [True: 692, False: 330k]
  ------------------
 4288|  1.15k|				if (optlen == 2U) {
  ------------------
  |  Branch (4288:9): [True: 1.15k, False: 0]
  ------------------
 4289|  1.15k|					uint16_t id =
 4290|  1.15k|						isc_buffer_getuint16(&optbuf);
 4291|  1.15k|					snprintf(buf, sizeof(buf), " %u\n", id);
 4292|  1.15k|					ADD_STRING(target, buf);
  ------------------
  |  |   97|  1.15k|	{                                                         \
  |  |   98|  1.15k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.15k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.15k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.15k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.15k|	}
  ------------------
 4293|  1.15k|					continue;
 4294|  1.15k|				}
 4295|      0|				break;
 4296|  30.2k|			case DNS_OPT_ZONEVERSION:
  ------------------
  |  Branch (4296:4): [True: 30.2k, False: 300k]
  ------------------
 4297|  30.2k|				if (optlen >= 2U) {
  ------------------
  |  Branch (4297:9): [True: 24.5k, False: 5.70k]
  ------------------
 4298|  24.5k|					isc_buffer_t zonebuf = optbuf;
 4299|  24.5k|					isc_buffer_setactive(&zonebuf, optlen);
 4300|  24.5k|					CHECK(render_zoneversion(
  ------------------
  |  |  255|  24.5k|	{                                      \
  |  |  256|  24.5k|		result = (r);                  \
  |  |  257|  24.5k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 2, False: 24.5k]
  |  |  ------------------
  |  |  258|      2|			goto cleanup;          \
  |  |  259|      2|		}                              \
  |  |  260|  24.5k|	}
  ------------------
 4301|  24.5k|						msg, &zonebuf, style, target));
 4302|  24.5k|					ADD_STRING(target, "\n");
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 4303|  24.5k|					isc_buffer_forward(&optbuf, optlen);
 4304|  24.5k|					continue;
 4305|  24.5k|				}
 4306|  5.70k|				break;
 4307|   234k|			default:
  ------------------
  |  Branch (4307:4): [True: 234k, False: 96.3k]
  ------------------
 4308|   234k|				break;
 4309|   330k|			}
 4310|       |
 4311|   255k|			if (optlen != 0) {
  ------------------
  |  Branch (4311:8): [True: 47.6k, False: 207k]
  ------------------
 4312|  47.6k|				int i;
 4313|  47.6k|				bool utf8ok = false;
 4314|       |
 4315|  47.6k|				ADD_STRING(target, " ");
  ------------------
  |  |   97|  47.6k|	{                                                         \
  |  |   98|  47.6k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  47.6k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 47.6k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  47.6k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  47.6k|	}
  ------------------
 4316|       |
 4317|  47.6k|				optdata = isc_buffer_current(&optbuf);
  ------------------
  |  |  146|  47.6k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
 4318|  47.6k|				if (optcode == DNS_OPT_EDE) {
  ------------------
  |  Branch (4318:9): [True: 5.38k, False: 42.2k]
  ------------------
 4319|  5.38k|					utf8ok = isc_utf8_valid(optdata,
 4320|  5.38k|								optlen);
 4321|  5.38k|				}
 4322|  47.6k|				if (!utf8ok) {
  ------------------
  |  Branch (4322:9): [True: 42.2k, False: 5.38k]
  ------------------
 4323|  1.74M|					for (i = 0; i < optlen; i++) {
  ------------------
  |  Branch (4323:18): [True: 1.70M, False: 42.2k]
  ------------------
 4324|  1.70M|						const char *sep;
 4325|  1.70M|						switch (optcode) {
 4326|  10.5k|						case DNS_OPT_COOKIE:
  ------------------
  |  Branch (4326:7): [True: 10.5k, False: 1.69M]
  ------------------
 4327|  10.5k|							sep = "";
 4328|  10.5k|							break;
 4329|  1.69M|						default:
  ------------------
  |  Branch (4329:7): [True: 1.69M, False: 10.5k]
  ------------------
 4330|  1.69M|							sep = " ";
 4331|  1.69M|							break;
 4332|  1.70M|						}
 4333|  1.70M|						snprintf(buf, sizeof(buf),
 4334|  1.70M|							 "%02x%s", optdata[i],
 4335|  1.70M|							 sep);
 4336|  1.70M|						ADD_STRING(target, buf);
  ------------------
  |  |   97|  1.70M|	{                                                         \
  |  |   98|  1.70M|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.70M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.70M]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.70M|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.70M|	}
  ------------------
 4337|  1.70M|					}
 4338|  42.2k|				}
 4339|       |
 4340|  47.6k|				isc_buffer_forward(&optbuf, optlen);
 4341|       |
 4342|  47.6k|				if (optcode == DNS_OPT_COOKIE) {
  ------------------
  |  Branch (4342:9): [True: 1.06k, False: 46.5k]
  ------------------
 4343|       |					/*
 4344|       |					 * Valid server cookie?
 4345|       |					 */
 4346|  1.06k|					if (msg->cc_ok && optlen >= 16) {
  ------------------
  |  Branch (4346:10): [True: 0, False: 1.06k]
  |  Branch (4346:24): [True: 0, False: 0]
  ------------------
 4347|      0|						ADD_STRING(target, " (good)");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4348|      0|					}
 4349|       |					/*
 4350|       |					 * Server cookie is not valid but
 4351|       |					 * we had our cookie echoed back.
 4352|       |					 */
 4353|  1.06k|					if (msg->cc_ok && optlen < 16) {
  ------------------
  |  Branch (4353:10): [True: 0, False: 1.06k]
  |  Branch (4353:24): [True: 0, False: 0]
  ------------------
 4354|      0|						ADD_STRING(target, " (echoed)");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4355|      0|					}
 4356|       |					/*
 4357|       |					 * We didn't get our cookie echoed
 4358|       |					 * back.
 4359|       |					 */
 4360|  1.06k|					if (msg->cc_bad) {
  ------------------
  |  Branch (4360:10): [True: 0, False: 1.06k]
  ------------------
 4361|      0|						ADD_STRING(target, " (bad)");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4362|      0|					}
 4363|  1.06k|					ADD_STRING(target, "\n");
  ------------------
  |  |   97|  1.06k|	{                                                         \
  |  |   98|  1.06k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.06k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.06k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.06k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.06k|	}
  ------------------
 4364|  1.06k|					continue;
 4365|  1.06k|				}
 4366|       |
 4367|  46.5k|				if (optcode == DNS_OPT_CLIENT_SUBNET) {
  ------------------
  |  Branch (4367:9): [True: 0, False: 46.5k]
  ------------------
 4368|      0|					ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4369|      0|					continue;
 4370|      0|				}
 4371|       |
 4372|       |				/*
 4373|       |				 * For non-COOKIE options, add a printable
 4374|       |				 * version.
 4375|       |				 */
 4376|  46.5k|				if (optcode != DNS_OPT_EDE) {
  ------------------
  |  Branch (4376:9): [True: 41.1k, False: 5.38k]
  ------------------
 4377|  41.1k|					ADD_STRING(target, "(\"");
  ------------------
  |  |   97|  41.1k|	{                                                         \
  |  |   98|  41.1k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  41.1k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 41.1k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  41.1k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  41.1k|	}
  ------------------
 4378|  41.1k|				} else {
 4379|  5.38k|					ADD_STRING(target, "(");
  ------------------
  |  |   97|  5.38k|	{                                                         \
  |  |   98|  5.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  5.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 5.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  5.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  5.38k|	}
  ------------------
 4380|  5.38k|				}
 4381|  46.5k|				if (isc_buffer_availablelength(target) < optlen)
  ------------------
  |  |  162|  46.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (4381:9): [True: 0, False: 46.5k]
  ------------------
 4382|      0|				{
 4383|      0|					return ISC_R_NOSPACE;
 4384|      0|				}
 4385|  1.76M|				for (i = 0; i < optlen; i++) {
  ------------------
  |  Branch (4385:17): [True: 1.71M, False: 46.5k]
  ------------------
 4386|  1.71M|					if (isprint(optdata[i]) ||
  ------------------
  |  Branch (4386:10): [True: 130k, False: 1.58M]
  ------------------
 4387|  1.58M|					    (utf8ok && optdata[i] > 127))
  ------------------
  |  Branch (4387:11): [True: 20.7k, False: 1.56M]
  |  Branch (4387:21): [True: 4.37k, False: 16.4k]
  ------------------
 4388|   134k|					{
 4389|   134k|						isc_buffer_putmem(
 4390|   134k|							target, &optdata[i], 1);
 4391|  1.58M|					} else {
 4392|  1.58M|						isc_buffer_putstr(target, ".");
 4393|  1.58M|					}
 4394|  1.71M|				}
 4395|  46.5k|				if (optcode != DNS_OPT_EDE) {
  ------------------
  |  Branch (4395:9): [True: 41.1k, False: 5.38k]
  ------------------
 4396|  41.1k|					ADD_STRING(target, "\")");
  ------------------
  |  |   97|  41.1k|	{                                                         \
  |  |   98|  41.1k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  41.1k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 41.1k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  41.1k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  41.1k|	}
  ------------------
 4397|  41.1k|				} else {
 4398|  5.38k|					ADD_STRING(target, ")");
  ------------------
  |  |   97|  5.38k|	{                                                         \
  |  |   98|  5.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  5.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 5.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  5.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  5.38k|	}
  ------------------
 4399|  5.38k|				}
 4400|  46.5k|			}
 4401|   254k|			ADD_STRING(target, "\n");
  ------------------
  |  |   97|   254k|	{                                                         \
  |  |   98|   254k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   254k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 254k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|   254k|			isc_buffer_putstr(b, s);                  \
  |  |  103|   254k|	}
  ------------------
 4402|   254k|		}
 4403|  4.51k|		return ISC_R_SUCCESS;
 4404|  17.8k|	case DNS_PSEUDOSECTION_TSIG:
  ------------------
  |  Branch (4404:2): [True: 17.8k, False: 35.7k]
  ------------------
 4405|  17.8k|		ps = dns_message_gettsig(msg, &name);
 4406|  17.8k|		if (ps == NULL) {
  ------------------
  |  Branch (4406:7): [True: 17.8k, False: 45]
  ------------------
 4407|  17.8k|			return ISC_R_SUCCESS;
 4408|  17.8k|		}
 4409|     45|		INDENT(style);
  ------------------
  |  | 3191|     45|	do {                                                                 \
  |  | 3192|     45|		unsigned int __i;                                            \
  |  | 3193|     45|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|     45|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|     45|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 45, False: 0]
  |  |  ------------------
  |  | 3195|     45|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|     45|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 45, False: 0]
  |  |  ------------------
  |  | 3196|     45|		{                                                            \
  |  | 3197|     45|			break;                                               \
  |  | 3198|     45|		}                                                            \
  |  | 3199|     45|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4410|     45|		if ((flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0) {
  ------------------
  |  Branch (4410:7): [True: 45, False: 0]
  ------------------
 4411|     45|			ADD_STRING(target, ";; TSIG PSEUDOSECTION:\n");
  ------------------
  |  |   97|     45|	{                                                         \
  |  |   98|     45|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|     45|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 45]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|     45|			isc_buffer_putstr(b, s);                  \
  |  |  103|     45|	}
  ------------------
 4412|     45|		}
 4413|     45|		result = dns_master_rdatasettotext(name, ps, style,
 4414|     45|						   &msg->indent, target);
 4415|     45|		if ((flags & DNS_MESSAGETEXTFLAG_NOHEADERS) == 0 &&
  ------------------
  |  Branch (4415:7): [True: 45, False: 0]
  ------------------
 4416|     45|		    (flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0)
  ------------------
  |  Branch (4416:7): [True: 45, False: 0]
  ------------------
 4417|     45|		{
 4418|     45|			ADD_STRING(target, "\n");
  ------------------
  |  |   97|     45|	{                                                         \
  |  |   98|     45|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|     45|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 45]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|     45|			isc_buffer_putstr(b, s);                  \
  |  |  103|     45|	}
  ------------------
 4419|     45|		}
 4420|     45|		return result;
 4421|  17.8k|	case DNS_PSEUDOSECTION_SIG0:
  ------------------
  |  Branch (4421:2): [True: 17.8k, False: 35.7k]
  ------------------
 4422|  17.8k|		ps = dns_message_getsig0(msg, &name);
 4423|  17.8k|		if (ps == NULL) {
  ------------------
  |  Branch (4423:7): [True: 17.8k, False: 64]
  ------------------
 4424|  17.8k|			return ISC_R_SUCCESS;
 4425|  17.8k|		}
 4426|     64|		INDENT(style);
  ------------------
  |  | 3191|     64|	do {                                                                 \
  |  | 3192|     64|		unsigned int __i;                                            \
  |  | 3193|     64|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|     64|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|     64|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 64, False: 0]
  |  |  ------------------
  |  | 3195|     64|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|     64|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 64, False: 0]
  |  |  ------------------
  |  | 3196|     64|		{                                                            \
  |  | 3197|     64|			break;                                               \
  |  | 3198|     64|		}                                                            \
  |  | 3199|     64|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4427|     64|		if ((flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0) {
  ------------------
  |  Branch (4427:7): [True: 64, False: 0]
  ------------------
 4428|     64|			ADD_STRING(target, ";; SIG0 PSEUDOSECTION:\n");
  ------------------
  |  |   97|     64|	{                                                         \
  |  |   98|     64|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|     64|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 64]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|     64|			isc_buffer_putstr(b, s);                  \
  |  |  103|     64|	}
  ------------------
 4429|     64|		}
 4430|     64|		result = dns_master_rdatasettotext(name, ps, style,
 4431|     64|						   &msg->indent, target);
 4432|     64|		if ((flags & DNS_MESSAGETEXTFLAG_NOHEADERS) == 0 &&
  ------------------
  |  Branch (4432:7): [True: 64, False: 0]
  ------------------
 4433|     64|		    (flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0)
  ------------------
  |  Branch (4433:7): [True: 64, False: 0]
  ------------------
 4434|     64|		{
 4435|     64|			ADD_STRING(target, "\n");
  ------------------
  |  |   97|     64|	{                                                         \
  |  |   98|     64|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|     64|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 64]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|     64|			isc_buffer_putstr(b, s);                  \
  |  |  103|     64|	}
  ------------------
 4436|     64|		}
 4437|     64|		return result;
 4438|      0|	default:
  ------------------
  |  Branch (4438:2): [True: 0, False: 53.6k]
  ------------------
 4439|      0|		break;
 4440|  53.6k|	}
 4441|      0|	result = ISC_R_UNEXPECTED;
 4442|      3|cleanup:
 4443|      3|	return result;
 4444|      0|}
dns_message_headertotext:
 4448|  17.9k|			 dns_messagetextflag_t flags, isc_buffer_t *target) {
 4449|  17.9k|	char buf[sizeof("1234567890")];
 4450|  17.9k|	isc_result_t result = ISC_R_SUCCESS;
 4451|       |
 4452|  17.9k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  17.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 17.9k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 17.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4453|  17.9k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|  17.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  17.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 17.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4454|       |
 4455|  17.9k|	if ((flags & DNS_MESSAGETEXTFLAG_NOHEADERS) != 0) {
  ------------------
  |  Branch (4455:6): [True: 0, False: 17.9k]
  ------------------
 4456|      0|		return ISC_R_SUCCESS;
 4457|      0|	}
 4458|       |
 4459|  17.9k|	if (dns_master_styleflags(style) & DNS_STYLEFLAG_YAML) {
  ------------------
  |  |  107|  17.9k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (4459:6): [True: 0, False: 17.9k]
  ------------------
 4460|      0|		INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4461|      0|		ADD_STRING(target, "opcode: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4462|      0|		ADD_STRING(target, opcodetext[msg->opcode]);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4463|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4464|      0|		INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4465|      0|		ADD_STRING(target, "status: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4466|      0|		RETERR(dns_rcode_totext(msg->rcode, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
 4467|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4468|      0|		INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4469|      0|		ADD_STRING(target, "id: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4470|      0|		snprintf(buf, sizeof(buf), "%u", msg->id);
 4471|      0|		ADD_STRING(target, buf);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4472|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4473|      0|		INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4474|      0|		ADD_STRING(target, "flags:");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4475|      0|		if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
  ------------------
  |  Branch (4475:7): [True: 0, False: 0]
  ------------------
 4476|      0|			ADD_STRING(target, " qr");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4477|      0|		}
 4478|      0|		if ((msg->flags & DNS_MESSAGEFLAG_AA) != 0) {
  ------------------
  |  Branch (4478:7): [True: 0, False: 0]
  ------------------
 4479|      0|			ADD_STRING(target, " aa");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4480|      0|		}
 4481|      0|		if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) {
  ------------------
  |  Branch (4481:7): [True: 0, False: 0]
  ------------------
 4482|      0|			ADD_STRING(target, " tc");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4483|      0|		}
 4484|      0|		if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0) {
  ------------------
  |  Branch (4484:7): [True: 0, False: 0]
  ------------------
 4485|      0|			ADD_STRING(target, " rd");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4486|      0|		}
 4487|      0|		if ((msg->flags & DNS_MESSAGEFLAG_RA) != 0) {
  ------------------
  |  Branch (4487:7): [True: 0, False: 0]
  ------------------
 4488|      0|			ADD_STRING(target, " ra");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4489|      0|		}
 4490|      0|		if ((msg->flags & DNS_MESSAGEFLAG_AD) != 0) {
  ------------------
  |  Branch (4490:7): [True: 0, False: 0]
  ------------------
 4491|      0|			ADD_STRING(target, " ad");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4492|      0|		}
 4493|      0|		if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
  ------------------
  |  Branch (4493:7): [True: 0, False: 0]
  ------------------
 4494|      0|			ADD_STRING(target, " cd");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4495|      0|		}
 4496|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4497|       |		/*
 4498|       |		 * The final unnamed flag must be zero.
 4499|       |		 */
 4500|      0|		if ((msg->flags & 0x0040U) != 0) {
  ------------------
  |  Branch (4500:7): [True: 0, False: 0]
  ------------------
 4501|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4502|      0|			ADD_STRING(target, "MBZ: 0x4");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4503|      0|			ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4504|      0|		}
 4505|      0|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (4505:7): [True: 0, False: 0]
  ------------------
 4506|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4507|      0|			ADD_STRING(target, "QUESTION: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4508|      0|		} else {
 4509|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4510|      0|			ADD_STRING(target, "ZONE: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4511|      0|		}
 4512|      0|		snprintf(buf, sizeof(buf), "%1u",
 4513|      0|			 msg->counts[DNS_SECTION_QUESTION]);
 4514|      0|		ADD_STRING(target, buf);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4515|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4516|      0|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (4516:7): [True: 0, False: 0]
  ------------------
 4517|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4518|      0|			ADD_STRING(target, "ANSWER: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4519|      0|		} else {
 4520|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4521|      0|			ADD_STRING(target, "PREREQ: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4522|      0|		}
 4523|      0|		snprintf(buf, sizeof(buf), "%1u",
 4524|      0|			 msg->counts[DNS_SECTION_ANSWER]);
 4525|      0|		ADD_STRING(target, buf);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4526|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4527|      0|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (4527:7): [True: 0, False: 0]
  ------------------
 4528|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4529|      0|			ADD_STRING(target, "AUTHORITY: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4530|      0|		} else {
 4531|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4532|      0|			ADD_STRING(target, "UPDATE: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4533|      0|		}
 4534|      0|		snprintf(buf, sizeof(buf), "%1u",
 4535|      0|			 msg->counts[DNS_SECTION_AUTHORITY]);
 4536|      0|		ADD_STRING(target, buf);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4537|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4538|      0|		INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4539|      0|		ADD_STRING(target, "ADDITIONAL: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4540|      0|		snprintf(buf, sizeof(buf), "%1u",
 4541|      0|			 msg->counts[DNS_SECTION_ADDITIONAL]);
 4542|      0|		ADD_STRING(target, buf);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4543|      0|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 4544|  17.9k|	} else {
 4545|  17.9k|		INDENT(style);
  ------------------
  |  | 3191|  17.9k|	do {                                                                 \
  |  | 3192|  17.9k|		unsigned int __i;                                            \
  |  | 3193|  17.9k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  17.9k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  17.9k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 17.9k, False: 0]
  |  |  ------------------
  |  | 3195|  17.9k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  17.9k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 17.9k, False: 0]
  |  |  ------------------
  |  | 3196|  17.9k|		{                                                            \
  |  | 3197|  17.9k|			break;                                               \
  |  | 3198|  17.9k|		}                                                            \
  |  | 3199|  17.9k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4546|  17.9k|		ADD_STRING(target, ";; ->>HEADER<<- opcode: ");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4547|  17.9k|		ADD_STRING(target, opcodetext[msg->opcode]);
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4548|  17.9k|		ADD_STRING(target, ", status: ");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4549|  17.9k|		RETERR(dns_rcode_totext(msg->rcode, target));
  ------------------
  |  |  276|  17.9k|	{                                  \
  |  |  277|  17.9k|		isc_result_t _r = (x);     \
  |  |  278|  17.9k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  17.9k|	}
  ------------------
 4550|  17.9k|		ADD_STRING(target, ", id: ");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4551|  17.9k|		snprintf(buf, sizeof(buf), "%6u", msg->id);
 4552|  17.9k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4553|  17.9k|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4554|  17.9k|		INDENT(style);
  ------------------
  |  | 3191|  17.9k|	do {                                                                 \
  |  | 3192|  17.9k|		unsigned int __i;                                            \
  |  | 3193|  17.9k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  17.9k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  17.9k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 17.9k, False: 0]
  |  |  ------------------
  |  | 3195|  17.9k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  17.9k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 17.9k, False: 0]
  |  |  ------------------
  |  | 3196|  17.9k|		{                                                            \
  |  | 3197|  17.9k|			break;                                               \
  |  | 3198|  17.9k|		}                                                            \
  |  | 3199|  17.9k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4555|  17.9k|		ADD_STRING(target, ";; flags:");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4556|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_QR) != 0) {
  ------------------
  |  Branch (4556:7): [True: 5.87k, False: 12.0k]
  ------------------
 4557|  5.87k|			ADD_STRING(target, " qr");
  ------------------
  |  |   97|  5.87k|	{                                                         \
  |  |   98|  5.87k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  5.87k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 5.87k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  5.87k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  5.87k|	}
  ------------------
 4558|  5.87k|		}
 4559|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_AA) != 0) {
  ------------------
  |  Branch (4559:7): [True: 7.48k, False: 10.4k]
  ------------------
 4560|  7.48k|			ADD_STRING(target, " aa");
  ------------------
  |  |   97|  7.48k|	{                                                         \
  |  |   98|  7.48k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  7.48k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 7.48k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  7.48k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  7.48k|	}
  ------------------
 4561|  7.48k|		}
 4562|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0) {
  ------------------
  |  Branch (4562:7): [True: 8.70k, False: 9.20k]
  ------------------
 4563|  8.70k|			ADD_STRING(target, " tc");
  ------------------
  |  |   97|  8.70k|	{                                                         \
  |  |   98|  8.70k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  8.70k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 8.70k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  8.70k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  8.70k|	}
  ------------------
 4564|  8.70k|		}
 4565|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_RD) != 0) {
  ------------------
  |  Branch (4565:7): [True: 7.30k, False: 10.5k]
  ------------------
 4566|  7.30k|			ADD_STRING(target, " rd");
  ------------------
  |  |   97|  7.30k|	{                                                         \
  |  |   98|  7.30k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  7.30k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 7.30k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  7.30k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  7.30k|	}
  ------------------
 4567|  7.30k|		}
 4568|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_RA) != 0) {
  ------------------
  |  Branch (4568:7): [True: 3.96k, False: 13.9k]
  ------------------
 4569|  3.96k|			ADD_STRING(target, " ra");
  ------------------
  |  |   97|  3.96k|	{                                                         \
  |  |   98|  3.96k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  3.96k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 3.96k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  3.96k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  3.96k|	}
  ------------------
 4570|  3.96k|		}
 4571|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_AD) != 0) {
  ------------------
  |  Branch (4571:7): [True: 5.03k, False: 12.8k]
  ------------------
 4572|  5.03k|			ADD_STRING(target, " ad");
  ------------------
  |  |   97|  5.03k|	{                                                         \
  |  |   98|  5.03k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  5.03k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 5.03k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  5.03k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  5.03k|	}
  ------------------
 4573|  5.03k|		}
 4574|  17.9k|		if ((msg->flags & DNS_MESSAGEFLAG_CD) != 0) {
  ------------------
  |  Branch (4574:7): [True: 6.26k, False: 11.6k]
  ------------------
 4575|  6.26k|			ADD_STRING(target, " cd");
  ------------------
  |  |   97|  6.26k|	{                                                         \
  |  |   98|  6.26k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  6.26k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 6.26k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  6.26k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  6.26k|	}
  ------------------
 4576|  6.26k|		}
 4577|       |		/*
 4578|       |		 * The final unnamed flag must be zero.
 4579|       |		 */
 4580|  17.9k|		if ((msg->flags & 0x0040U) != 0) {
  ------------------
  |  Branch (4580:7): [True: 5.11k, False: 12.7k]
  ------------------
 4581|  5.11k|			INDENT(style);
  ------------------
  |  | 3191|  5.11k|	do {                                                                 \
  |  | 3192|  5.11k|		unsigned int __i;                                            \
  |  | 3193|  5.11k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  5.11k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  5.11k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 5.11k, False: 0]
  |  |  ------------------
  |  | 3195|  5.11k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  5.11k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 5.11k, False: 0]
  |  |  ------------------
  |  | 3196|  5.11k|		{                                                            \
  |  | 3197|  5.11k|			break;                                               \
  |  | 3198|  5.11k|		}                                                            \
  |  | 3199|  5.11k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4582|  5.11k|			ADD_STRING(target, "; MBZ: 0x4");
  ------------------
  |  |   97|  5.11k|	{                                                         \
  |  |   98|  5.11k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  5.11k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 5.11k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  5.11k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  5.11k|	}
  ------------------
 4583|  5.11k|		}
 4584|  17.9k|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (4584:7): [True: 15.7k, False: 2.20k]
  ------------------
 4585|  15.7k|			INDENT(style);
  ------------------
  |  | 3191|  15.7k|	do {                                                                 \
  |  | 3192|  15.7k|		unsigned int __i;                                            \
  |  | 3193|  15.7k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  15.7k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  15.7k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 15.7k, False: 0]
  |  |  ------------------
  |  | 3195|  15.7k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  15.7k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 15.7k, False: 0]
  |  |  ------------------
  |  | 3196|  15.7k|		{                                                            \
  |  | 3197|  15.7k|			break;                                               \
  |  | 3198|  15.7k|		}                                                            \
  |  | 3199|  15.7k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4586|  15.7k|			ADD_STRING(target, "; QUESTION: ");
  ------------------
  |  |   97|  15.7k|	{                                                         \
  |  |   98|  15.7k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  15.7k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 15.7k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  15.7k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  15.7k|	}
  ------------------
 4587|  15.7k|		} else {
 4588|  2.20k|			INDENT(style);
  ------------------
  |  | 3191|  2.20k|	do {                                                                 \
  |  | 3192|  2.20k|		unsigned int __i;                                            \
  |  | 3193|  2.20k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  2.20k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  2.20k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 2.20k, False: 0]
  |  |  ------------------
  |  | 3195|  2.20k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  2.20k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 2.20k, False: 0]
  |  |  ------------------
  |  | 3196|  2.20k|		{                                                            \
  |  | 3197|  2.20k|			break;                                               \
  |  | 3198|  2.20k|		}                                                            \
  |  | 3199|  2.20k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 4589|  2.20k|			ADD_STRING(target, "; ZONE: ");
  ------------------
  |  |   97|  2.20k|	{                                                         \
  |  |   98|  2.20k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.20k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.20k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.20k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.20k|	}
  ------------------
 4590|  2.20k|		}
 4591|  17.9k|		snprintf(buf, sizeof(buf), "%1u",
 4592|  17.9k|			 msg->counts[DNS_SECTION_QUESTION]);
 4593|  17.9k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4594|  17.9k|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (4594:7): [True: 15.7k, False: 2.20k]
  ------------------
 4595|  15.7k|			ADD_STRING(target, ", ANSWER: ");
  ------------------
  |  |   97|  15.7k|	{                                                         \
  |  |   98|  15.7k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  15.7k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 15.7k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  15.7k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  15.7k|	}
  ------------------
 4596|  15.7k|		} else {
 4597|  2.20k|			ADD_STRING(target, ", PREREQ: ");
  ------------------
  |  |   97|  2.20k|	{                                                         \
  |  |   98|  2.20k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.20k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.20k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.20k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.20k|	}
  ------------------
 4598|  2.20k|		}
 4599|  17.9k|		snprintf(buf, sizeof(buf), "%1u",
 4600|  17.9k|			 msg->counts[DNS_SECTION_ANSWER]);
 4601|  17.9k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4602|  17.9k|		if (msg->opcode != dns_opcode_update) {
  ------------------
  |  Branch (4602:7): [True: 15.7k, False: 2.20k]
  ------------------
 4603|  15.7k|			ADD_STRING(target, ", AUTHORITY: ");
  ------------------
  |  |   97|  15.7k|	{                                                         \
  |  |   98|  15.7k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  15.7k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 15.7k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  15.7k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  15.7k|	}
  ------------------
 4604|  15.7k|		} else {
 4605|  2.20k|			ADD_STRING(target, ", UPDATE: ");
  ------------------
  |  |   97|  2.20k|	{                                                         \
  |  |   98|  2.20k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.20k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.20k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.20k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.20k|	}
  ------------------
 4606|  2.20k|		}
 4607|  17.9k|		snprintf(buf, sizeof(buf), "%1u",
 4608|  17.9k|			 msg->counts[DNS_SECTION_AUTHORITY]);
 4609|  17.9k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4610|  17.9k|		ADD_STRING(target, ", ADDITIONAL: ");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4611|  17.9k|		snprintf(buf, sizeof(buf), "%1u",
 4612|  17.9k|			 msg->counts[DNS_SECTION_ADDITIONAL]);
 4613|  17.9k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4614|  17.9k|		ADD_STRING(target, "\n");
  ------------------
  |  |   97|  17.9k|	{                                                         \
  |  |   98|  17.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  17.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  17.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  17.9k|	}
  ------------------
 4615|  17.9k|	}
 4616|       |
 4617|  17.9k|cleanup:
 4618|  17.9k|	return result;
 4619|  17.9k|}
dns_message_totext:
 4623|  17.9k|		   dns_messagetextflag_t flags, isc_buffer_t *target) {
 4624|  17.9k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  17.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 17.9k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 17.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4625|  17.9k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|  17.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  17.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 17.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 4626|       |
 4627|  17.9k|	RETERR(dns_message_headertotext(msg, style, flags, target));
  ------------------
  |  |  276|  17.9k|	{                                  \
  |  |  277|  17.9k|		isc_result_t _r = (x);     \
  |  |  278|  17.9k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 17.9k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  17.9k|	}
  ------------------
 4628|  17.9k|	RETERR(dns_message_pseudosectiontotext(msg, DNS_PSEUDOSECTION_OPT,
  ------------------
  |  |  276|  17.9k|	{                                  \
  |  |  277|  17.9k|		isc_result_t _r = (x);     \
  |  |  278|  17.9k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 3, False: 17.9k]
  |  |  ------------------
  |  |  279|      3|			return ((_r));     \
  |  |  280|      3|		}                          \
  |  |  281|  17.9k|	}
  ------------------
 4629|  17.9k|					       style, flags, target));
 4630|  17.9k|	RETERR(dns_message_sectiontotext(msg, DNS_SECTION_QUESTION, style,
  ------------------
  |  |  276|  17.9k|	{                                  \
  |  |  277|  17.9k|		isc_result_t _r = (x);     \
  |  |  278|  17.9k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 17.8k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  17.9k|	}
  ------------------
 4631|  17.9k|					 flags, target));
 4632|  17.8k|	RETERR(dns_message_sectiontotext(msg, DNS_SECTION_ANSWER, style, flags,
  ------------------
  |  |  276|  17.8k|	{                                  \
  |  |  277|  17.8k|		isc_result_t _r = (x);     \
  |  |  278|  17.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 17.8k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  17.8k|	}
  ------------------
 4633|  17.8k|					 target));
 4634|  17.8k|	RETERR(dns_message_sectiontotext(msg, DNS_SECTION_AUTHORITY, style,
  ------------------
  |  |  276|  17.8k|	{                                  \
  |  |  277|  17.8k|		isc_result_t _r = (x);     \
  |  |  278|  17.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 4, False: 17.8k]
  |  |  ------------------
  |  |  279|      4|			return ((_r));     \
  |  |  280|      4|		}                          \
  |  |  281|  17.8k|	}
  ------------------
 4635|  17.8k|					 flags, target));
 4636|  17.8k|	RETERR(dns_message_sectiontotext(msg, DNS_SECTION_ADDITIONAL, style,
  ------------------
  |  |  276|  17.8k|	{                                  \
  |  |  277|  17.8k|		isc_result_t _r = (x);     \
  |  |  278|  17.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 17.8k]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|  17.8k|	}
  ------------------
 4637|  17.8k|					 flags, target));
 4638|  17.8k|	RETERR(dns_message_pseudosectiontotext(msg, DNS_PSEUDOSECTION_TSIG,
  ------------------
  |  |  276|  17.8k|	{                                  \
  |  |  277|  17.8k|		isc_result_t _r = (x);     \
  |  |  278|  17.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 17.8k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  17.8k|	}
  ------------------
 4639|  17.8k|					       style, flags, target));
 4640|  17.8k|	return dns_message_pseudosectiontotext(msg, DNS_PSEUDOSECTION_SIG0,
 4641|  17.8k|					       style, flags, target);
 4642|  17.8k|}
dns_message_createpools:
 5029|  22.3k|			isc_mempool_t **rdspoolp) {
 5030|  22.3k|	REQUIRE(mctx != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 5031|  22.3k|	REQUIRE(namepoolp != NULL && *namepoolp == NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 5032|  22.3k|	REQUIRE(rdspoolp != NULL && *rdspoolp == NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 5033|       |
 5034|  22.3k|	isc_mempool_create(mctx, sizeof(dns_fixedname_t), "dns_fixedname_pool",
  ------------------
  |  |  382|  22.3k|	isc__mempool_create((c), (s), (n), (mp)_ISC_MEM_FILELINE)
  ------------------
 5035|  22.3k|			   namepoolp);
 5036|  22.3k|	isc_mempool_setfillcount(*namepoolp, NAME_FILLCOUNT);
  ------------------
  |  |  124|  22.3k|#define NAME_FILLCOUNT	   1024
  ------------------
 5037|  22.3k|	isc_mempool_setfreemax(*namepoolp, NAME_FREEMAX);
  ------------------
  |  |  125|  22.3k|#define NAME_FREEMAX	   8 * NAME_FILLCOUNT
  |  |  ------------------
  |  |  |  |  124|  22.3k|#define NAME_FILLCOUNT	   1024
  |  |  ------------------
  ------------------
 5038|       |
 5039|  22.3k|	isc_mempool_create(mctx, sizeof(dns_rdataset_t), "dns_rdataset_pool",
  ------------------
  |  |  382|  22.3k|	isc__mempool_create((c), (s), (n), (mp)_ISC_MEM_FILELINE)
  ------------------
 5040|  22.3k|			   rdspoolp);
 5041|  22.3k|	isc_mempool_setfillcount(*rdspoolp, RDATASET_FILLCOUNT);
  ------------------
  |  |  129|  22.3k|#define RDATASET_FILLCOUNT 1024
  ------------------
 5042|  22.3k|	isc_mempool_setfreemax(*rdspoolp, RDATASET_FREEMAX);
  ------------------
  |  |  130|  22.3k|#define RDATASET_FREEMAX   8 * RDATASET_FILLCOUNT
  |  |  ------------------
  |  |  |  |  129|  22.3k|#define RDATASET_FILLCOUNT 1024
  |  |  ------------------
  ------------------
 5043|  22.3k|}
dns_message_destroypools:
 5046|  22.3k|dns_message_destroypools(isc_mempool_t **namepoolp, isc_mempool_t **rdspoolp) {
 5047|  22.3k|	REQUIRE(namepoolp != NULL && *namepoolp != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 5048|  22.3k|	REQUIRE(rdspoolp != NULL && *rdspoolp != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 5049|       |
 5050|  22.3k|	ENSURE(isc_mempool_getallocated(*namepoolp) == 0);
  ------------------
  |  |  200|  22.3k|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|  22.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
 5051|  22.3k|	ENSURE(isc_mempool_getallocated(*rdspoolp) == 0);
  ------------------
  |  |  200|  22.3k|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|  22.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
 5052|       |
 5053|  22.3k|	isc_mempool_destroy(rdspoolp);
  ------------------
  |  |  399|  22.3k|#define isc_mempool_destroy(mp) isc__mempool_destroy((mp)_ISC_MEM_FILELINE)
  ------------------
 5054|  22.3k|	isc_mempool_destroy(namepoolp);
  ------------------
  |  |  399|  22.3k|#define isc_mempool_destroy(mp) isc__mempool_destroy((mp)_ISC_MEM_FILELINE)
  ------------------
 5055|  22.3k|}
message.c:msginit:
  425|  22.3k|msginit(dns_message_t *m) {
  426|  22.3k|	msginitheader(m);
  427|  22.3k|	msginitprivate(m);
  428|  22.3k|	msginittsig(m);
  429|  22.3k|	m->header_ok = 0;
  430|  22.3k|	m->question_ok = 0;
  431|  22.3k|	m->tcp_continuation = 0;
  432|  22.3k|	m->verified_sig = 0;
  433|  22.3k|	m->verify_attempted = 0;
  434|  22.3k|	m->query.base = NULL;
  435|  22.3k|	m->query.length = 0;
  436|  22.3k|	m->free_query = 0;
  437|  22.3k|	m->saved.base = NULL;
  438|  22.3k|	m->saved.length = 0;
  439|  22.3k|	m->free_saved = 0;
  440|  22.3k|	m->cc_ok = 0;
  441|  22.3k|	m->cc_bad = 0;
  442|  22.3k|	m->tkey = 0;
  443|  22.3k|	m->rdclass_set = 0;
  444|  22.3k|	m->has_dname = 0;
  445|       |	m->querytsig = NULL;
  446|  22.3k|	m->indent.string = "\t";
  447|  22.3k|	m->indent.count = 0;
  448|  22.3k|}
message.c:msginitheader:
  378|  22.3k|msginitheader(dns_message_t *m) {
  379|  22.3k|	m->id = 0;
  380|  22.3k|	m->flags = 0;
  381|  22.3k|	m->rcode = 0;
  382|  22.3k|	m->opcode = 0;
  383|  22.3k|	m->rdclass = 0;
  384|  22.3k|}
message.c:msginittsig:
  409|  22.3k|msginittsig(dns_message_t *m) {
  410|  22.3k|	m->tsigstatus = dns_rcode_noerror;
  ------------------
  |  |  269|  22.3k|#define dns_rcode_noerror ((dns_rcode_t)dns_rcode_noerror)
  ------------------
  411|  22.3k|	m->querytsigstatus = dns_rcode_noerror;
  ------------------
  |  |  269|  22.3k|#define dns_rcode_noerror ((dns_rcode_t)dns_rcode_noerror)
  ------------------
  412|  22.3k|	m->tsigkey = NULL;
  413|  22.3k|	m->tsigctx = NULL;
  414|  22.3k|	m->sigstart = -1;
  415|  22.3k|	m->sig0key = NULL;
  416|  22.3k|	m->sig0status = dns_rcode_noerror;
  ------------------
  |  |  269|  22.3k|#define dns_rcode_noerror ((dns_rcode_t)dns_rcode_noerror)
  ------------------
  417|  22.3k|	m->timeadjust = 0;
  418|  22.3k|}
message.c:msgreset:
  540|  22.3k|msgreset(dns_message_t *msg, bool everything) {
  541|  22.3k|	dns_msgblock_t *msgblock = NULL, *next_msgblock = NULL;
  542|  22.3k|	isc_buffer_t *dynbuf = NULL, *next_dynbuf = NULL;
  543|       |
  544|  22.3k|	msgresetnames(msg, 0);
  545|  22.3k|	msgresetopt(msg);
  546|  22.3k|	msgresetsigs(msg, false);
  547|  22.3k|	msgresetedns(msg);
  548|       |
  549|       |	/*
  550|       |	 * Clean up linked lists.
  551|       |	 */
  552|       |
  553|       |	/*
  554|       |	 * Run through the free lists, and just unlink anything found there.
  555|       |	 * The memory isn't lost since these are part of message blocks we
  556|       |	 * have allocated.
  557|       |	 */
  558|  22.3k|	ISC_LIST_FOREACH(msg->freerdata, rdata, link) {
  ------------------
  |  |  234|  22.3k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  22.3k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  22.3k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 0, False: 22.3k]
  |  |  ------------------
  |  |  236|  22.3k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 0, False: 22.3k]
  |  |  ------------------
  |  |  237|  22.3k|	     elt = elt##_next,                                             \
  |  |  238|      0|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  559|      0|		ISC_LIST_UNLINK(msg->freerdata, rdata, link);
  ------------------
  |  |  137|      0|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|      0|	do {                                                         \
  |  |  |  |  133|      0|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|      0|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|	do {                                                            \
  |  |  |  |  |  |  110|      0|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|      0|		} else {                                                \
  |  |  |  |  |  |  113|      0|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|      0|		}                                                       \
  |  |  |  |  |  |  116|      0|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|      0|		} else {                                                \
  |  |  |  |  |  |  119|      0|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|      0|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|      0|		}                                                       \
  |  |  |  |  |  |  122|      0|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|      0|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|      0|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  560|      0|	}
  561|  22.3k|	ISC_LIST_FOREACH(msg->freerdatalist, rdatalist, link) {
  ------------------
  |  |  234|  22.3k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  22.3k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  22.3k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 0, False: 22.3k]
  |  |  ------------------
  |  |  236|  22.3k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 0, False: 22.3k]
  |  |  ------------------
  |  |  237|  22.3k|	     elt = elt##_next,                                             \
  |  |  238|      0|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|      0|		ISC_LIST_UNLINK(msg->freerdatalist, rdatalist, link);
  ------------------
  |  |  137|      0|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|      0|	do {                                                         \
  |  |  |  |  133|      0|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|      0|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|	do {                                                            \
  |  |  |  |  |  |  110|      0|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|      0|		} else {                                                \
  |  |  |  |  |  |  113|      0|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|      0|		}                                                       \
  |  |  |  |  |  |  116|      0|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|      0|		} else {                                                \
  |  |  |  |  |  |  119|      0|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|      0|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|      0|		}                                                       \
  |  |  |  |  |  |  122|      0|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|      0|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|      0|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  563|      0|	}
  564|       |
  565|  22.3k|	dynbuf = ISC_LIST_HEAD(msg->scratchpad);
  ------------------
  |  |   62|  22.3k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  566|  22.3k|	INSIST(dynbuf != NULL);
  ------------------
  |  |  202|  22.3k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  22.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  567|  22.3k|	if (!everything) {
  ------------------
  |  Branch (567:6): [True: 0, False: 22.3k]
  ------------------
  568|      0|		isc_buffer_clear(dynbuf);
  569|      0|		dynbuf = ISC_LIST_NEXT(dynbuf, link);
  ------------------
  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  570|      0|	}
  571|   107k|	while (dynbuf != NULL) {
  ------------------
  |  Branch (571:9): [True: 85.1k, False: 22.3k]
  ------------------
  572|  85.1k|		next_dynbuf = ISC_LIST_NEXT(dynbuf, link);
  ------------------
  |  |  140|  85.1k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  573|  85.1k|		ISC_LIST_UNLINK(msg->scratchpad, dynbuf, link);
  ------------------
  |  |  137|  85.1k|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|  85.1k|	do {                                                         \
  |  |  |  |  133|  85.1k|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|  85.1k|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|  85.1k|	do {                                                            \
  |  |  |  |  |  |  110|  85.1k|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 62.7k, False: 22.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|  62.7k|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|  62.7k|		} else {                                                \
  |  |  |  |  |  |  113|  22.3k|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  22.3k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 22.3k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  22.3k|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|  22.3k|		}                                                       \
  |  |  |  |  |  |  116|  85.1k|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 85.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|  85.1k|		} else {                                                \
  |  |  |  |  |  |  119|  85.1k|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  85.1k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 85.1k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|  85.1k|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|  85.1k|		}                                                       \
  |  |  |  |  |  |  122|  85.1k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  85.1k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|  85.1k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  85.1k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|  85.1k|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  85.1k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 85.1k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|  85.1k|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  85.1k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 85.1k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|  85.1k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 85.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|  85.1k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 85.1k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|  85.1k|		isc_buffer_free(&dynbuf);
  575|  85.1k|		dynbuf = next_dynbuf;
  576|  85.1k|	}
  577|       |
  578|  22.3k|	msgblock = ISC_LIST_HEAD(msg->rdatas);
  ------------------
  |  |   62|  22.3k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  579|  22.3k|	if (!everything && msgblock != NULL) {
  ------------------
  |  Branch (579:6): [True: 0, False: 22.3k]
  |  Branch (579:21): [True: 0, False: 0]
  ------------------
  580|      0|		msgblock_reset(msgblock);
  581|      0|		msgblock = ISC_LIST_NEXT(msgblock, link);
  ------------------
  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  582|      0|	}
  583|  72.2k|	while (msgblock != NULL) {
  ------------------
  |  Branch (583:9): [True: 49.8k, False: 22.3k]
  ------------------
  584|  49.8k|		next_msgblock = ISC_LIST_NEXT(msgblock, link);
  ------------------
  |  |  140|  49.8k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  585|  49.8k|		ISC_LIST_UNLINK(msg->rdatas, msgblock, link);
  ------------------
  |  |  137|  49.8k|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|  49.8k|	do {                                                         \
  |  |  |  |  133|  49.8k|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|  49.8k|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|  49.8k|	do {                                                            \
  |  |  |  |  |  |  110|  49.8k|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 29.8k, False: 20.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|  29.8k|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|  29.8k|		} else {                                                \
  |  |  |  |  |  |  113|  20.0k|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  20.0k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 20.0k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  20.0k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  20.0k|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|  20.0k|		}                                                       \
  |  |  |  |  |  |  116|  49.8k|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 49.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|  49.8k|		} else {                                                \
  |  |  |  |  |  |  119|  49.8k|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  49.8k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 49.8k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  49.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|  49.8k|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|  49.8k|		}                                                       \
  |  |  |  |  |  |  122|  49.8k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  49.8k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|  49.8k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  49.8k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|  49.8k|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  49.8k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 49.8k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  49.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|  49.8k|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  49.8k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 49.8k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  49.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|  49.8k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 49.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|  49.8k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 49.8k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  586|  49.8k|		msgblock_free(msg->mctx, msgblock, sizeof(dns_rdata_t));
  587|  49.8k|		msgblock = next_msgblock;
  588|  49.8k|	}
  589|       |
  590|       |	/*
  591|       |	 * rdatalists could be empty.
  592|       |	 */
  593|       |
  594|  22.3k|	msgblock = ISC_LIST_HEAD(msg->rdatalists);
  ------------------
  |  |   62|  22.3k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  595|  22.3k|	if (!everything && msgblock != NULL) {
  ------------------
  |  Branch (595:6): [True: 0, False: 22.3k]
  |  Branch (595:21): [True: 0, False: 0]
  ------------------
  596|      0|		msgblock_reset(msgblock);
  597|      0|		msgblock = ISC_LIST_NEXT(msgblock, link);
  ------------------
  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  598|      0|	}
  599|  84.2k|	while (msgblock != NULL) {
  ------------------
  |  Branch (599:9): [True: 61.9k, False: 22.3k]
  ------------------
  600|  61.9k|		next_msgblock = ISC_LIST_NEXT(msgblock, link);
  ------------------
  |  |  140|  61.9k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  601|  61.9k|		ISC_LIST_UNLINK(msg->rdatalists, msgblock, link);
  ------------------
  |  |  137|  61.9k|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|  61.9k|	do {                                                         \
  |  |  |  |  133|  61.9k|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|  61.9k|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|  61.9k|	do {                                                            \
  |  |  |  |  |  |  110|  61.9k|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 41.7k, False: 20.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|  41.7k|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|  41.7k|		} else {                                                \
  |  |  |  |  |  |  113|  20.2k|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  20.2k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 20.2k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  20.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  20.2k|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|  20.2k|		}                                                       \
  |  |  |  |  |  |  116|  61.9k|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 61.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|  61.9k|		} else {                                                \
  |  |  |  |  |  |  119|  61.9k|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  61.9k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 61.9k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  61.9k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|  61.9k|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|  61.9k|		}                                                       \
  |  |  |  |  |  |  122|  61.9k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  61.9k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|  61.9k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  61.9k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|  61.9k|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  61.9k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 61.9k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  61.9k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|  61.9k|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  61.9k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 61.9k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  61.9k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|  61.9k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 61.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|  61.9k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 61.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  602|  61.9k|		msgblock_free(msg->mctx, msgblock, sizeof(dns_rdatalist_t));
  603|  61.9k|		msgblock = next_msgblock;
  604|  61.9k|	}
  605|       |
  606|  22.3k|	if (msg->tsigkey != NULL) {
  ------------------
  |  Branch (606:6): [True: 0, False: 22.3k]
  ------------------
  607|      0|		dns_tsigkey_detach(&msg->tsigkey);
  608|      0|		msg->tsigkey = NULL;
  609|      0|	}
  610|       |
  611|  22.3k|	if (msg->tsigctx != NULL) {
  ------------------
  |  Branch (611:6): [True: 0, False: 22.3k]
  ------------------
  612|      0|		dst_context_destroy(&msg->tsigctx);
  613|      0|	}
  614|       |
  615|  22.3k|	if (msg->query.base != NULL) {
  ------------------
  |  Branch (615:6): [True: 0, False: 22.3k]
  ------------------
  616|      0|		if (msg->free_query != 0) {
  ------------------
  |  Branch (616:7): [True: 0, False: 0]
  ------------------
  617|      0|			isc_mem_put(msg->mctx, msg->query.base,
  ------------------
  |  |  171|      0|	do {                                                      \
  |  |  172|      0|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|      0|		(p) = NULL;                                       \
  |  |  174|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  618|      0|				    msg->query.length);
  619|      0|		}
  620|      0|		msg->query.base = NULL;
  621|      0|		msg->query.length = 0;
  622|      0|	}
  623|       |
  624|  22.3k|	if (msg->saved.base != NULL) {
  ------------------
  |  Branch (624:6): [True: 22.3k, False: 0]
  ------------------
  625|  22.3k|		if (msg->free_saved != 0) {
  ------------------
  |  Branch (625:7): [True: 0, False: 22.3k]
  ------------------
  626|      0|			isc_mem_put(msg->mctx, msg->saved.base,
  ------------------
  |  |  171|      0|	do {                                                      \
  |  |  172|      0|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|      0|		(p) = NULL;                                       \
  |  |  174|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  627|      0|				    msg->saved.length);
  628|      0|		}
  629|  22.3k|		msg->saved.base = NULL;
  630|  22.3k|		msg->saved.length = 0;
  631|  22.3k|	}
  632|       |
  633|       |	/*
  634|       |	 * cleanup the buffer cleanup list
  635|       |	 */
  636|  22.3k|	dynbuf = ISC_LIST_HEAD(msg->cleanup);
  ------------------
  |  |   62|  22.3k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  637|  22.3k|	while (dynbuf != NULL) {
  ------------------
  |  Branch (637:9): [True: 0, False: 22.3k]
  ------------------
  638|      0|		next_dynbuf = ISC_LIST_NEXT(dynbuf, link);
  ------------------
  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  639|      0|		ISC_LIST_UNLINK(msg->cleanup, dynbuf, link);
  ------------------
  |  |  137|      0|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|      0|	do {                                                         \
  |  |  |  |  133|      0|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|      0|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|	do {                                                            \
  |  |  |  |  |  |  110|      0|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|      0|		} else {                                                \
  |  |  |  |  |  |  113|      0|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|      0|		}                                                       \
  |  |  |  |  |  |  116|      0|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|      0|		} else {                                                \
  |  |  |  |  |  |  119|      0|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|      0|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|      0|		}                                                       \
  |  |  |  |  |  |  122|      0|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|      0|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|      0|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  640|      0|		isc_buffer_free(&dynbuf);
  641|      0|		dynbuf = next_dynbuf;
  642|      0|	}
  643|       |
  644|       |	/*
  645|       |	 * Set other bits to normal default values.
  646|       |	 */
  647|  22.3k|	if (!everything) {
  ------------------
  |  Branch (647:6): [True: 0, False: 22.3k]
  ------------------
  648|      0|		msginit(msg);
  649|      0|	}
  650|  22.3k|}
message.c:msgblock_free:
  283|   111k|	      unsigned int sizeof_type) {
  284|   111k|	unsigned int length;
  285|       |
  286|   111k|	length = sizeof(dns_msgblock_t) + (sizeof_type * block->count);
  287|       |
  288|       |	isc_mem_put(mctx, block, length);
  ------------------
  |  |  171|   111k|	do {                                                      \
  |  |  172|   111k|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|   111k|		(p) = NULL;                                       \
  |  |  174|   111k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 111k]
  |  |  ------------------
  ------------------
  289|   111k|}
message.c:dns__message_destroy:
  749|  22.3k|dns__message_destroy(dns_message_t *msg) {
  750|  22.3k|	REQUIRE(msg != NULL);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  22.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  751|  22.3k|	REQUIRE(DNS_MESSAGE_VALID(msg));
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 22.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  752|       |
  753|  22.3k|	msgreset(msg, true);
  754|       |
  755|  22.3k|	msg->magic = 0;
  756|       |
  757|  22.3k|	if (msg->free_pools) {
  ------------------
  |  Branch (757:6): [True: 22.3k, False: 0]
  ------------------
  758|  22.3k|		dns_message_destroypools(&msg->namepool, &msg->rdspool);
  759|  22.3k|	}
  760|       |
  761|       |	isc_mem_putanddetach(&msg->mctx, msg, sizeof(dns_message_t));
  ------------------
  |  |  187|  22.3k|	do {                                                               \
  |  |  188|  22.3k|		isc__mem_putanddetach((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  189|  22.3k|		(p) = NULL;                                                \
  |  |  190|  22.3k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (190:11): [Folded, False: 22.3k]
  |  |  ------------------
  ------------------
  762|  22.3k|}
message.c:early_sanity_check:
 1545|  22.3k|early_sanity_check(dns_message_t *msg) {
 1546|  22.3k|	bool is_unknown_opcode = msg->opcode >= dns_opcode_max;
 1547|  22.3k|	bool is_query_response = (msg->flags & DNS_MESSAGEFLAG_QR) != 0;
 1548|  22.3k|	bool no_questions = msg->counts[DNS_SECTION_QUESTION] == 0;
 1549|  22.3k|	bool many_questions = msg->counts[DNS_SECTION_QUESTION] > 1;
 1550|  22.3k|	bool has_answer = msg->counts[DNS_SECTION_ANSWER] > 0;
 1551|  22.3k|	bool has_auth = msg->counts[DNS_SECTION_AUTHORITY] > 0;
 1552|       |
 1553|  22.3k|	if (is_unknown_opcode) {
  ------------------
  |  Branch (1553:6): [True: 7.77k, False: 14.5k]
  ------------------
 1554|  7.77k|		return DNS_R_NOTIMP;
 1555|  14.5k|	} else if (many_questions) {
  ------------------
  |  Branch (1555:13): [True: 1.43k, False: 13.1k]
  ------------------
 1556|  1.43k|		return DNS_R_FORMERR;
 1557|  13.1k|	} else if (no_questions && (msg->opcode != dns_opcode_query) &&
  ------------------
  |  Branch (1557:13): [True: 11.9k, False: 1.14k]
  |  Branch (1557:29): [True: 5.69k, False: 6.27k]
  ------------------
 1558|  5.69k|		   (msg->opcode != dns_opcode_status))
  ------------------
  |  Branch (1558:6): [True: 4.71k, False: 982]
  ------------------
 1559|  4.71k|	{
 1560|       |		/*
 1561|       |		 * Per RFC9619, the two cases where qdcount == 0 is acceptable
 1562|       |		 * are AXFR transfers and cookies, and both have opcode 0.
 1563|       |		 *
 1564|       |		 * RFC9619 also specifies that msg->opcode == dns_opcode_status
 1565|       |		 * is unspecified, so we ignore it.
 1566|       |		 */
 1567|  4.71k|		return DNS_R_FORMERR;
 1568|  8.40k|	} else if (msg->opcode == dns_opcode_notify &&
  ------------------
  |  Branch (1568:13): [True: 213, False: 8.18k]
  ------------------
 1569|    213|		   ((is_query_response && has_answer) || has_auth))
  ------------------
  |  Branch (1569:8): [True: 88, False: 125]
  |  Branch (1569:29): [True: 36, False: 52]
  |  Branch (1569:44): [True: 38, False: 139]
  ------------------
 1570|     74|	{
 1571|     74|		return DNS_R_FORMERR;
 1572|     74|	}
 1573|  8.32k|	return ISC_R_SUCCESS;
 1574|  22.3k|}
message.c:getquestions:
  931|  22.3k|	     unsigned int options) {
  932|  22.3k|	isc_region_t r;
  933|  22.3k|	unsigned int count;
  934|  22.3k|	dns_name_t *name = NULL;
  935|  22.3k|	dns_rdataset_t *rdataset = NULL;
  936|  22.3k|	dns_rdatalist_t *rdatalist = NULL;
  937|  22.3k|	isc_result_t result = ISC_R_SUCCESS;
  938|  22.3k|	dns_rdatatype_t rdtype;
  939|  22.3k|	dns_rdataclass_t rdclass;
  940|  22.3k|	dns_namelist_t *section = &msg->sections[DNS_SECTION_QUESTION];
  941|  22.3k|	bool best_effort = ((options & DNS_MESSAGEPARSE_BESTEFFORT) != 0);
  ------------------
  |  |  202|  22.3k|	0x0002 /*%< return a message if a \
  ------------------
  942|  22.3k|	bool seen_problem = false;
  943|  22.3k|	bool free_name = false;
  944|       |
  945|  22.3k|	REQUIRE(msg->counts[DNS_SECTION_QUESTION] <= 1 || best_effort);
  ------------------
  |  |  198|  22.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  24.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 19.7k, False: 2.55k]
  |  |  |  |  |  Branch (42:11): [True: 2.55k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  946|       |
  947|   125k|	for (count = 0; count < msg->counts[DNS_SECTION_QUESTION]; count++) {
  ------------------
  |  Branch (947:18): [True: 103k, False: 22.1k]
  ------------------
  948|   103k|		name = NULL;
  949|   103k|		dns_message_gettempname(msg, &name);
  950|   103k|		free_name = true;
  951|       |
  952|       |		/*
  953|       |		 * Parse the name out of this packet.
  954|       |		 */
  955|   103k|		isc_buffer_remainingregion(source, &r);
  956|   103k|		isc_buffer_setactive(source, r.length);
  957|   103k|		CHECK(getname(name, source, msg, dctx));
  ------------------
  |  |  255|   103k|	{                                      \
  |  |  256|   103k|		result = (r);                  \
  |  |  257|   103k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 111, False: 103k]
  |  |  ------------------
  |  |  258|    111|			goto cleanup;          \
  |  |  259|    111|		}                              \
  |  |  260|   103k|	}
  ------------------
  958|       |
  959|   103k|		ISC_LIST_APPEND(*section, name, link);
  ------------------
  |  |  100|   103k|	do {                                                  \
  |  |  101|   103k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|   103k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|   103k|	do {                                            \
  |  |  |  |   89|   103k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 99.4k, False: 4.12k]
  |  |  |  |  ------------------
  |  |  |  |   90|  99.4k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  99.4k|		} else {                                \
  |  |  |  |   92|  4.12k|			(list).head = (elt);            \
  |  |  |  |   93|  4.12k|		}                                       \
  |  |  |  |   94|   103k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|   103k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|   103k|		(list).tail = (elt);                    \
  |  |  |  |   97|   103k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 103k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|   103k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 103k]
  |  |  ------------------
  ------------------
  960|       |
  961|   103k|		free_name = false;
  962|       |
  963|       |		/*
  964|       |		 * Get type and class.
  965|       |		 */
  966|   103k|		isc_buffer_remainingregion(source, &r);
  967|   103k|		if (r.length < 4) {
  ------------------
  |  Branch (967:7): [True: 23, False: 103k]
  ------------------
  968|     23|			CLEANUP(ISC_R_UNEXPECTEDEND);
  ------------------
  |  |  266|     23|	{                     \
  |  |  267|     23|		result = (r); \
  |  |  268|     23|		goto cleanup; \
  |  |  269|     23|	}
  ------------------
  969|      0|		}
  970|   103k|		rdtype = isc_buffer_getuint16(source);
  971|   103k|		rdclass = isc_buffer_getuint16(source);
  972|       |
  973|       |		/*
  974|       |		 * Notify and update messages need to specify the data class.
  975|       |		 */
  976|   103k|		if ((msg->opcode == dns_opcode_update ||
  ------------------
  |  Branch (976:8): [True: 4.61k, False: 98.9k]
  ------------------
  977|  98.9k|		     msg->opcode == dns_opcode_notify) &&
  ------------------
  |  Branch (977:8): [True: 4.01k, False: 94.9k]
  ------------------
  978|  8.62k|		    (rdclass == dns_rdataclass_none ||
  ------------------
  |  |   32|  17.2k|#define dns_rdataclass_none	((dns_rdataclass_t)dns_rdataclass_none)
  ------------------
  |  Branch (978:8): [True: 346, False: 8.28k]
  ------------------
  979|  8.28k|		     rdclass == dns_rdataclass_any))
  ------------------
  |  |   34|  8.28k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
  |  Branch (979:8): [True: 309, False: 7.97k]
  ------------------
  980|    655|		{
  981|    655|			DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|    655|	do {                                 \
  |  |  912|    655|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 655, False: 0]
  |  |  ------------------
  |  |  913|    655|			seen_problem = true; \
  |  |  914|    655|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|    655|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 655]
  |  |  ------------------
  ------------------
  982|    655|		}
  983|       |
  984|       |		/*
  985|       |		 * If this class is different than the one we already read,
  986|       |		 * this is an error.
  987|       |		 */
  988|   103k|		if (msg->rdclass_set == 0) {
  ------------------
  |  Branch (988:7): [True: 4.11k, False: 99.4k]
  ------------------
  989|  4.11k|			msg->rdclass = rdclass;
  990|  4.11k|			msg->rdclass_set = 1;
  991|  99.4k|		} else if (msg->rdclass != rdclass) {
  ------------------
  |  Branch (991:14): [True: 93.2k, False: 6.16k]
  ------------------
  992|  93.2k|			DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  93.2k|	do {                                 \
  |  |  912|  93.2k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 93.2k, False: 0]
  |  |  ------------------
  |  |  913|  93.2k|			seen_problem = true; \
  |  |  914|  93.2k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  93.2k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 93.2k]
  |  |  ------------------
  ------------------
  993|  93.2k|		}
  994|       |
  995|       |		/*
  996|       |		 * Is this a TKEY query?
  997|       |		 */
  998|   103k|		if (rdtype == dns_rdatatype_tkey) {
  ------------------
  |  |  189|   103k|#define dns_rdatatype_tkey	((dns_rdatatype_t)dns_rdatatype_tkey)
  ------------------
  |  Branch (998:7): [True: 342, False: 103k]
  ------------------
  999|    342|			msg->tkey = 1;
 1000|    342|		}
 1001|       |
 1002|       |		/*
 1003|       |		 * Allocate a new rdatalist.
 1004|       |		 */
 1005|   103k|		rdatalist = newrdatalist(msg);
 1006|   103k|		rdatalist->type = rdtype;
 1007|   103k|		rdatalist->rdclass = rdclass;
 1008|   103k|		rdatalist->covers = dns_rdatatype_none;
  ------------------
  |  |  114|   103k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
 1009|       |
 1010|       |		/*
 1011|       |		 * Convert rdatalist to rdataset, and attach the latter to
 1012|       |		 * the name.
 1013|       |		 */
 1014|   103k|		dns_message_gettemprdataset(msg, &rdataset);
 1015|   103k|		dns_rdatalist_tordataset(rdatalist, rdataset);
 1016|       |
 1017|   103k|		rdataset->attributes.question = true;
 1018|       |
 1019|   103k|		ISC_LIST_APPEND(name->list, rdataset, link);
  ------------------
  |  |  100|   103k|	do {                                                  \
  |  |  101|   103k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|   103k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|   103k|	do {                                            \
  |  |  |  |   89|   103k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 0, False: 103k]
  |  |  |  |  ------------------
  |  |  |  |   90|      0|			(list).tail->link.next = (elt); \
  |  |  |  |   91|   103k|		} else {                                \
  |  |  |  |   92|   103k|			(list).head = (elt);            \
  |  |  |  |   93|   103k|		}                                       \
  |  |  |  |   94|   103k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|   103k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|   103k|		(list).tail = (elt);                    \
  |  |  |  |   97|   103k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 103k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|   103k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 103k]
  |  |  ------------------
  ------------------
 1020|       |
 1021|   103k|		rdataset = NULL;
 1022|   103k|	}
 1023|       |
 1024|  22.1k|	if (seen_problem) {
  ------------------
  |  Branch (1024:6): [True: 2.38k, False: 19.8k]
  ------------------
 1025|       |		/* XXX test coverage */
 1026|  2.38k|		result = DNS_R_RECOVERABLE;
 1027|  2.38k|	}
 1028|       |
 1029|  22.3k|cleanup:
 1030|  22.3k|	if (rdataset != NULL) {
  ------------------
  |  Branch (1030:6): [True: 0, False: 22.3k]
  ------------------
 1031|      0|		dns_rdataset_cleanup(rdataset);
  ------------------
  |  |  297|      0|	if (rdataset != NULL && dns_rdataset_isassociated(rdataset)) { \
  |  |  ------------------
  |  |  |  Branch (297:6): [True: 0, False: 0]
  |  |  |  Branch (297:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  298|      0|		dns__rdataset_disassociate(rdataset DNS__DB_FILELINE); \
  |  |  299|      0|	}
  ------------------
 1032|      0|		dns_message_puttemprdataset(msg, &rdataset);
 1033|      0|	}
 1034|       |
 1035|  22.3k|	if (free_name) {
  ------------------
  |  Branch (1035:6): [True: 111, False: 22.2k]
  ------------------
 1036|    111|		dns_message_puttempname(msg, &name);
 1037|    111|	}
 1038|       |
 1039|  22.3k|	return result;
 1040|  22.1k|}
message.c:getname:
  830|   390k|	dns_decompress_t dctx) {
  831|   390k|	isc_buffer_t *scratch;
  832|   390k|	isc_result_t result;
  833|   390k|	unsigned int tries;
  834|       |
  835|   390k|	scratch = currentbuffer(msg);
  836|       |
  837|       |	/*
  838|       |	 * First try:  use current buffer.
  839|       |	 * Second try:  allocate a new buffer and use that.
  840|       |	 */
  841|   390k|	tries = 0;
  842|   406k|	while (tries < 2) {
  ------------------
  |  Branch (842:9): [True: 406k, False: 0]
  ------------------
  843|   406k|		result = dns_name_fromwire(name, source, dctx, scratch);
  844|       |
  845|   406k|		if (result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (845:7): [True: 16.1k, False: 390k]
  ------------------
  846|  16.1k|			tries++;
  847|       |
  848|  16.1k|			newbuffer(msg, SCRATCHPAD_SIZE);
  ------------------
  |  |  123|  16.1k|#define SCRATCHPAD_SIZE	   1232
  ------------------
  849|  16.1k|			scratch = currentbuffer(msg);
  850|  16.1k|			dns_name_reset(name);
  851|   390k|		} else {
  852|   390k|			return result;
  853|   390k|		}
  854|   406k|	}
  855|       |
  856|      0|	UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  857|   390k|}
message.c:currentbuffer:
  306|   735k|currentbuffer(dns_message_t *msg) {
  307|   735k|	isc_buffer_t *dynbuf;
  308|       |
  309|   735k|	dynbuf = ISC_LIST_TAIL(msg->scratchpad);
  ------------------
  |  |   63|   735k|#define ISC_LIST_TAIL(list)  ((list).tail)
  ------------------
  310|   735k|	INSIST(dynbuf != NULL);
  ------------------
  |  |  202|   735k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   735k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 735k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   735k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  311|       |
  312|   735k|	return dynbuf;
  313|   735k|}
message.c:newbuffer:
  297|  62.7k|newbuffer(dns_message_t *msg, unsigned int size) {
  298|  62.7k|	isc_buffer_t *dynbuf = NULL;
  299|       |
  300|  62.7k|	isc_buffer_allocate(msg->mctx, &dynbuf, size);
  301|       |
  302|       |	ISC_LIST_APPEND(msg->scratchpad, dynbuf, link);
  ------------------
  |  |  100|  62.7k|	do {                                                  \
  |  |  101|  62.7k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  62.7k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  62.7k|	do {                                            \
  |  |  |  |   89|  62.7k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 62.7k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   90|  62.7k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  62.7k|		} else {                                \
  |  |  |  |   92|      0|			(list).head = (elt);            \
  |  |  |  |   93|      0|		}                                       \
  |  |  |  |   94|  62.7k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  62.7k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  62.7k|		(list).tail = (elt);                    \
  |  |  |  |   97|  62.7k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 62.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  62.7k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 62.7k]
  |  |  ------------------
  ------------------
  303|  62.7k|}
message.c:getsection:
 1056|  60.6k|	   dns_section_t sectionid, unsigned int options) {
 1057|  60.6k|	isc_region_t r;
 1058|  60.6k|	unsigned int count, rdatalen;
 1059|  60.6k|	dns_name_t *name = NULL;
 1060|  60.6k|	dns_name_t *found_name = NULL;
 1061|  60.6k|	dns_rdataset_t *rdataset = NULL;
 1062|  60.6k|	dns_rdataset_t *found_rdataset = NULL;
 1063|  60.6k|	dns_rdatalist_t *rdatalist = NULL;
 1064|  60.6k|	isc_result_t result = ISC_R_SUCCESS;
 1065|  60.6k|	dns_rdatatype_t rdtype, covers;
 1066|  60.6k|	dns_rdataclass_t rdclass;
 1067|  60.6k|	dns_rdata_t *rdata = NULL;
 1068|  60.6k|	dns_ttl_t ttl;
 1069|  60.6k|	dns_namelist_t *section = &msg->sections[sectionid];
 1070|  60.6k|	bool free_name = false, seen_problem = false;
 1071|  60.6k|	bool free_hashmaps = false;
 1072|  60.6k|	bool preserve_order = ((options & DNS_MESSAGEPARSE_PRESERVEORDER) != 0);
  ------------------
  |  |  200|  60.6k|#define DNS_MESSAGEPARSE_PRESERVEORDER 0x0001 /*%< preserve rdata order */
  ------------------
 1073|  60.6k|	bool best_effort = ((options & DNS_MESSAGEPARSE_BESTEFFORT) != 0);
  ------------------
  |  |  202|  60.6k|	0x0002 /*%< return a message if a \
  ------------------
 1074|  60.6k|	bool isedns, issigzero, istsig;
 1075|  60.6k|	isc_hashmap_t *name_map = NULL;
 1076|       |
 1077|  60.6k|	if (msg->counts[sectionid] > 1) {
  ------------------
  |  Branch (1077:6): [True: 13.0k, False: 47.5k]
  ------------------
 1078|  13.0k|		isc_hashmap_create(msg->mctx, 1, &name_map);
 1079|  13.0k|	}
 1080|       |
 1081|   343k|	for (count = 0; count < msg->counts[sectionid]; count++) {
  ------------------
  |  Branch (1081:18): [True: 287k, False: 56.3k]
  ------------------
 1082|   287k|		int recstart = source->current;
 1083|   287k|		bool skip_name_search, skip_type_search;
 1084|       |
 1085|   287k|		skip_name_search = false;
 1086|   287k|		skip_type_search = false;
 1087|   287k|		isedns = false;
 1088|   287k|		issigzero = false;
 1089|   287k|		istsig = false;
 1090|   287k|		found_rdataset = NULL;
 1091|       |
 1092|   287k|		name = NULL;
 1093|   287k|		dns_message_gettempname(msg, &name);
 1094|   287k|		free_name = true;
 1095|       |
 1096|       |		/*
 1097|       |		 * Parse the name out of this packet.
 1098|       |		 */
 1099|   287k|		isc_buffer_remainingregion(source, &r);
 1100|   287k|		isc_buffer_setactive(source, r.length);
 1101|   287k|		CHECK(getname(name, source, msg, dctx));
  ------------------
  |  |  255|   287k|	{                                      \
  |  |  256|   287k|		result = (r);                  \
  |  |  257|   287k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 1.62k, False: 285k]
  |  |  ------------------
  |  |  258|  1.62k|			goto cleanup;          \
  |  |  259|  1.62k|		}                              \
  |  |  260|   287k|	}
  ------------------
 1102|       |
 1103|       |		/*
 1104|       |		 * Get type, class, ttl, and rdatalen.  Verify that at least
 1105|       |		 * rdatalen bytes remain.  (Some of this is deferred to
 1106|       |		 * later.)
 1107|       |		 */
 1108|   285k|		isc_buffer_remainingregion(source, &r);
 1109|   285k|		if (r.length < 2 + 2 + 4 + 2) {
  ------------------
  |  Branch (1109:7): [True: 165, False: 285k]
  ------------------
 1110|    165|			CLEANUP(ISC_R_UNEXPECTEDEND);
  ------------------
  |  |  266|    165|	{                     \
  |  |  267|    165|		result = (r); \
  |  |  268|    165|		goto cleanup; \
  |  |  269|    165|	}
  ------------------
 1111|      0|		}
 1112|   285k|		rdtype = isc_buffer_getuint16(source);
 1113|   285k|		rdclass = isc_buffer_getuint16(source);
 1114|       |
 1115|       |		/*
 1116|       |		 * If there was no question section, we may not yet have
 1117|       |		 * established a class.  Do so now.
 1118|       |		 */
 1119|   285k|		if (msg->rdclass_set == 0 &&
  ------------------
  |  Branch (1119:7): [True: 21.0k, False: 264k]
  ------------------
 1120|  21.0k|		    rdtype != dns_rdatatype_opt &&  /* class is UDP SIZE */
  ------------------
  |  |  155|   306k|#define dns_rdatatype_opt	((dns_rdatatype_t)dns_rdatatype_opt)
  ------------------
  |  Branch (1120:7): [True: 15.6k, False: 5.37k]
  ------------------
 1121|  15.6k|		    rdtype != dns_rdatatype_tsig && /* class is ANY */
  ------------------
  |  |  190|   300k|#define dns_rdatatype_tsig	((dns_rdatatype_t)dns_rdatatype_tsig)
  ------------------
  |  Branch (1121:7): [True: 14.9k, False: 774]
  ------------------
 1122|  14.9k|		    rdtype != dns_rdatatype_tkey)   /* class is undefined */
  ------------------
  |  |  189|  14.9k|#define dns_rdatatype_tkey	((dns_rdatatype_t)dns_rdatatype_tkey)
  ------------------
  |  Branch (1122:7): [True: 14.3k, False: 534]
  ------------------
 1123|  14.3k|		{
 1124|  14.3k|			msg->rdclass = rdclass;
 1125|  14.3k|			msg->rdclass_set = 1;
 1126|  14.3k|		}
 1127|       |
 1128|       |		/*
 1129|       |		 * If this class is different than the one in the question
 1130|       |		 * section, bail.
 1131|       |		 */
 1132|   285k|		if (msg->opcode != dns_opcode_update &&
  ------------------
  |  Branch (1132:7): [True: 250k, False: 34.4k]
  ------------------
 1133|   250k|		    rdtype != dns_rdatatype_tsig &&
  ------------------
  |  |  190|   535k|#define dns_rdatatype_tsig	((dns_rdatatype_t)dns_rdatatype_tsig)
  ------------------
  |  Branch (1133:7): [True: 246k, False: 4.15k]
  ------------------
 1134|   246k|		    rdtype != dns_rdatatype_opt &&
  ------------------
  |  |  155|   531k|#define dns_rdatatype_opt	((dns_rdatatype_t)dns_rdatatype_opt)
  ------------------
  |  Branch (1134:7): [True: 237k, False: 8.99k]
  ------------------
 1135|   237k|		    rdtype != dns_rdatatype_key &&  /* in a TKEY query */
  ------------------
  |  |  139|   522k|#define dns_rdatatype_key	((dns_rdatatype_t)dns_rdatatype_key)
  ------------------
  |  Branch (1135:7): [True: 235k, False: 1.88k]
  ------------------
 1136|   235k|		    rdtype != dns_rdatatype_sig &&  /* SIG(0) */
  ------------------
  |  |  138|   520k|#define dns_rdatatype_sig	((dns_rdatatype_t)dns_rdatatype_sig)
  ------------------
  |  Branch (1136:7): [True: 232k, False: 3.37k]
  ------------------
 1137|   232k|		    rdtype != dns_rdatatype_tkey && /* Win2000 TKEY */
  ------------------
  |  |  189|   517k|#define dns_rdatatype_tkey	((dns_rdatatype_t)dns_rdatatype_tkey)
  ------------------
  |  Branch (1137:7): [True: 229k, False: 2.62k]
  ------------------
 1138|   229k|		    msg->rdclass != dns_rdataclass_any &&
  ------------------
  |  |   34|   514k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
  |  Branch (1138:7): [True: 226k, False: 2.86k]
  ------------------
 1139|   226k|		    msg->rdclass != rdclass)
  ------------------
  |  Branch (1139:7): [True: 170k, False: 56.3k]
  ------------------
 1140|   170k|		{
 1141|   170k|			DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|   170k|	do {                                 \
  |  |  912|   170k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 170k, False: 0]
  |  |  ------------------
  |  |  913|   170k|			seen_problem = true; \
  |  |  914|   170k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|   170k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 170k]
  |  |  ------------------
  ------------------
 1142|   170k|		}
 1143|       |
 1144|       |		/*
 1145|       |		 * If this is not a TKEY query/response then the KEY
 1146|       |		 * record's class needs to match.
 1147|       |		 */
 1148|   285k|		if (msg->opcode != dns_opcode_update && !msg->tkey &&
  ------------------
  |  Branch (1148:7): [True: 250k, False: 34.4k]
  |  Branch (1148:43): [True: 248k, False: 2.26k]
  ------------------
 1149|   248k|		    rdtype == dns_rdatatype_key &&
  ------------------
  |  |  139|   533k|#define dns_rdatatype_key	((dns_rdatatype_t)dns_rdatatype_key)
  ------------------
  |  Branch (1149:7): [True: 1.88k, False: 246k]
  ------------------
 1150|  1.88k|		    msg->rdclass != dns_rdataclass_any &&
  ------------------
  |  |   34|   287k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
  |  Branch (1150:7): [True: 1.67k, False: 216]
  ------------------
 1151|  1.67k|		    msg->rdclass != rdclass)
  ------------------
  |  Branch (1151:7): [True: 1.16k, False: 509]
  ------------------
 1152|  1.16k|		{
 1153|  1.16k|			DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  1.16k|	do {                                 \
  |  |  912|  1.16k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 1.16k, False: 0]
  |  |  ------------------
  |  |  913|  1.16k|			seen_problem = true; \
  |  |  914|  1.16k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  1.16k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 1.16k]
  |  |  ------------------
  ------------------
 1154|  1.16k|		}
 1155|       |
 1156|       |		/*
 1157|       |		 * Special type handling for TSIG, OPT, and TKEY.
 1158|       |		 */
 1159|   285k|		if (rdtype == dns_rdatatype_tsig) {
  ------------------
  |  |  190|   285k|#define dns_rdatatype_tsig	((dns_rdatatype_t)dns_rdatatype_tsig)
  ------------------
  |  Branch (1159:7): [True: 4.87k, False: 280k]
  ------------------
 1160|       |			/*
 1161|       |			 * If it is a tsig, verify that it is in the
 1162|       |			 * additional data section.
 1163|       |			 */
 1164|  4.87k|			if (sectionid != DNS_SECTION_ADDITIONAL ||
  ------------------
  |  Branch (1164:8): [True: 2.56k, False: 2.31k]
  ------------------
 1165|  2.31k|			    rdclass != dns_rdataclass_any ||
  ------------------
  |  |   34|  7.19k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
  |  Branch (1165:8): [True: 945, False: 1.37k]
  ------------------
 1166|  1.37k|			    count != msg->counts[sectionid] - 1)
  ------------------
  |  Branch (1166:8): [True: 1.31k, False: 54]
  ------------------
 1167|  4.82k|			{
 1168|  4.82k|				DO_ERROR(DNS_R_BADTSIG);
  ------------------
  |  |  911|  4.82k|	do {                                 \
  |  |  912|  4.82k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 4.82k, False: 0]
  |  |  ------------------
  |  |  913|  4.82k|			seen_problem = true; \
  |  |  914|  4.82k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  4.82k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 4.82k]
  |  |  ------------------
  ------------------
 1169|  4.82k|			} else {
 1170|     54|				skip_name_search = true;
 1171|     54|				skip_type_search = true;
 1172|     54|				istsig = true;
 1173|     54|			}
 1174|   280k|		} else if (rdtype == dns_rdatatype_opt) {
  ------------------
  |  |  155|   280k|#define dns_rdatatype_opt	((dns_rdatatype_t)dns_rdatatype_opt)
  ------------------
  |  Branch (1174:14): [True: 9.97k, False: 270k]
  ------------------
 1175|       |			/*
 1176|       |			 * The name of an OPT record must be ".", it
 1177|       |			 * must be in the additional data section, and
 1178|       |			 * it must be the first OPT we've seen.
 1179|       |			 */
 1180|  9.97k|			if (!dns_name_isroot(name) ||
  ------------------
  |  Branch (1180:8): [True: 698, False: 9.27k]
  ------------------
 1181|  9.27k|			    sectionid != DNS_SECTION_ADDITIONAL ||
  ------------------
  |  Branch (1181:8): [True: 3.58k, False: 5.69k]
  ------------------
 1182|  5.69k|			    msg->opt != NULL)
  ------------------
  |  Branch (1182:8): [True: 1.05k, False: 4.64k]
  ------------------
 1183|  5.33k|			{
 1184|  5.33k|				DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  5.33k|	do {                                 \
  |  |  912|  5.33k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 5.33k, False: 0]
  |  |  ------------------
  |  |  913|  5.33k|			seen_problem = true; \
  |  |  914|  5.33k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  5.33k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 5.33k]
  |  |  ------------------
  ------------------
 1185|  5.33k|			} else {
 1186|  4.64k|				skip_name_search = true;
 1187|  4.64k|				skip_type_search = true;
 1188|  4.64k|				isedns = true;
 1189|  4.64k|			}
 1190|   270k|		} else if (rdtype == dns_rdatatype_tkey) {
  ------------------
  |  |  189|   270k|#define dns_rdatatype_tkey	((dns_rdatatype_t)dns_rdatatype_tkey)
  ------------------
  |  Branch (1190:14): [True: 2.87k, False: 267k]
  ------------------
 1191|       |			/*
 1192|       |			 * A TKEY must be in the additional section if this
 1193|       |			 * is a query, and the answer section if this is a
 1194|       |			 * response.  Unless it's a Win2000 client.
 1195|       |			 *
 1196|       |			 * Its class is ignored.
 1197|       |			 */
 1198|  2.87k|			dns_section_t tkeysection;
 1199|       |
 1200|  2.87k|			if ((msg->flags & DNS_MESSAGEFLAG_QR) == 0) {
  ------------------
  |  Branch (1200:8): [True: 2.02k, False: 858]
  ------------------
 1201|  2.02k|				tkeysection = DNS_SECTION_ADDITIONAL;
 1202|  2.02k|			} else {
 1203|    858|				tkeysection = DNS_SECTION_ANSWER;
 1204|    858|			}
 1205|  2.87k|			if (sectionid != tkeysection &&
  ------------------
  |  Branch (1205:8): [True: 1.94k, False: 930]
  ------------------
 1206|  1.94k|			    sectionid != DNS_SECTION_ANSWER)
  ------------------
  |  Branch (1206:8): [True: 1.01k, False: 935]
  ------------------
 1207|  1.01k|			{
 1208|  1.01k|				DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  1.01k|	do {                                 \
  |  |  912|  1.01k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 1.01k, False: 0]
  |  |  ------------------
  |  |  913|  1.01k|			seen_problem = true; \
  |  |  914|  1.01k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  1.01k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 1.01k]
  |  |  ------------------
  ------------------
 1209|  1.01k|			}
 1210|  2.87k|		}
 1211|       |
 1212|       |		/*
 1213|       |		 * ... now get ttl and rdatalen, and check buffer.
 1214|       |		 */
 1215|   285k|		ttl = isc_buffer_getuint32(source);
 1216|   285k|		rdatalen = isc_buffer_getuint16(source);
 1217|   285k|		r.length -= (2 + 2 + 4 + 2);
 1218|   285k|		if (r.length < rdatalen) {
  ------------------
  |  Branch (1218:7): [True: 135, False: 285k]
  ------------------
 1219|    135|			CLEANUP(ISC_R_UNEXPECTEDEND);
  ------------------
  |  |  266|    135|	{                     \
  |  |  267|    135|		result = (r); \
  |  |  268|    135|		goto cleanup; \
  |  |  269|    135|	}
  ------------------
 1220|      0|		}
 1221|       |
 1222|       |		/*
 1223|       |		 * Read the rdata from the wire format.  Interpret the
 1224|       |		 * rdata according to its actual class, even if it had a
 1225|       |		 * DynDNS meta-class in the packet (unless this is a TSIG).
 1226|       |		 * Then put the meta-class back into the finished rdata.
 1227|       |		 */
 1228|   285k|		rdata = newrdata(msg);
 1229|   285k|		if (msg->opcode == dns_opcode_update &&
  ------------------
  |  Branch (1229:7): [True: 34.4k, False: 250k]
  ------------------
 1230|  34.4k|		    update(sectionid, rdclass))
  ------------------
  |  Branch (1230:7): [True: 2.79k, False: 31.6k]
  ------------------
 1231|  2.79k|		{
 1232|  2.79k|			if (rdatalen != 0) {
  ------------------
  |  Branch (1232:8): [True: 12, False: 2.78k]
  ------------------
 1233|     12|				CLEANUP(DNS_R_FORMERR);
  ------------------
  |  |  266|     12|	{                     \
  |  |  267|     12|		result = (r); \
  |  |  268|     12|		goto cleanup; \
  |  |  269|     12|	}
  ------------------
 1234|      0|			}
 1235|       |			/*
 1236|       |			 * When the rdata is empty, the data pointer is
 1237|       |			 * never dereferenced, but it must still be non-NULL.
 1238|       |			 * Casting 1 rather than "" avoids warnings about
 1239|       |			 * discarding the const attribute of a string,
 1240|       |			 * for compilers that would warn about such things.
 1241|       |			 */
 1242|  2.78k|			rdata->data = (unsigned char *)1;
 1243|  2.78k|			rdata->length = 0;
 1244|  2.78k|			rdata->rdclass = rdclass;
 1245|  2.78k|			rdata->type = rdtype;
 1246|  2.78k|			rdata->flags = DNS_RDATA_UPDATE;
  ------------------
  |  |  168|  2.78k|#define DNS_RDATA_UPDATE  0x0001 /*%< update pseudo record. */
  ------------------
 1247|  2.78k|			result = ISC_R_SUCCESS;
 1248|   282k|		} else if (rdclass == dns_rdataclass_none &&
  ------------------
  |  |   32|   564k|#define dns_rdataclass_none	((dns_rdataclass_t)dns_rdataclass_none)
  ------------------
  |  Branch (1248:14): [True: 5.89k, False: 276k]
  ------------------
 1249|  5.89k|			   msg->opcode == dns_opcode_update &&
  ------------------
  |  Branch (1249:7): [True: 1.06k, False: 4.83k]
  ------------------
 1250|  1.06k|			   sectionid == DNS_SECTION_UPDATE)
  ------------------
  |  |  186|  1.06k|#define DNS_SECTION_UPDATE	 DNS_SECTION_AUTHORITY
  ------------------
  |  Branch (1250:7): [True: 495, False: 572]
  ------------------
 1251|    495|		{
 1252|    495|			result = getrdata(source, msg, dctx, msg->rdclass,
 1253|    495|					  rdtype, rdatalen, rdata);
 1254|   281k|		} else {
 1255|   281k|			result = getrdata(source, msg, dctx, rdclass, rdtype,
 1256|   281k|					  rdatalen, rdata);
 1257|   281k|		}
 1258|   285k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1258:7): [True: 2.35k, False: 282k]
  ------------------
 1259|  2.35k|			goto cleanup;
 1260|  2.35k|		}
 1261|   282k|		rdata->rdclass = rdclass;
 1262|   282k|		if (rdtype == dns_rdatatype_rrsig && rdata->flags == 0) {
  ------------------
  |  |  160|   565k|#define dns_rdatatype_rrsig	((dns_rdatatype_t)dns_rdatatype_rrsig)
  ------------------
  |  Branch (1262:7): [True: 5.36k, False: 277k]
  |  Branch (1262:40): [True: 4.98k, False: 386]
  ------------------
 1263|  4.98k|			covers = dns_rdata_covers(rdata);
 1264|       |			/* A signature can only cover a real rdata type */
 1265|  4.98k|			if (covers == dns_rdatatype_none ||
  ------------------
  |  |  114|  9.96k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
  |  Branch (1265:8): [True: 747, False: 4.23k]
  ------------------
 1266|  4.23k|			    dns_rdatatype_ismeta(covers) ||
  ------------------
  |  Branch (1266:8): [True: 495, False: 3.74k]
  ------------------
 1267|  3.74k|			    dns_rdatatype_issig(covers))
  ------------------
  |  Branch (1267:8): [True: 172, False: 3.56k]
  ------------------
 1268|  1.41k|			{
 1269|  1.41k|				DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  1.41k|	do {                                 \
  |  |  912|  1.41k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 1.41k, False: 0]
  |  |  ------------------
  |  |  913|  1.41k|			seen_problem = true; \
  |  |  914|  1.41k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  1.41k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 1.41k]
  |  |  ------------------
  ------------------
 1270|  1.41k|			}
 1271|   277k|		} else if (rdtype == dns_rdatatype_sig /* SIG(0) */ &&
  ------------------
  |  |  138|   555k|#define dns_rdatatype_sig	((dns_rdatatype_t)dns_rdatatype_sig)
  ------------------
  |  Branch (1271:14): [True: 4.67k, False: 273k]
  ------------------
 1272|  4.67k|			   rdata->flags == 0)
  ------------------
  |  Branch (1272:7): [True: 4.16k, False: 508]
  ------------------
 1273|  4.16k|		{
 1274|  4.16k|			covers = dns_rdata_covers(rdata);
 1275|  4.16k|			if (covers == dns_rdatatype_none) {
  ------------------
  |  |  114|  4.16k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
  |  Branch (1275:8): [True: 1.15k, False: 3.01k]
  ------------------
 1276|  1.15k|				if (sectionid != DNS_SECTION_ADDITIONAL ||
  ------------------
  |  Branch (1276:9): [True: 435, False: 716]
  ------------------
 1277|    716|				    count != msg->counts[sectionid] - 1 ||
  ------------------
  |  Branch (1277:9): [True: 645, False: 71]
  ------------------
 1278|     71|				    !dns_name_isroot(name))
  ------------------
  |  Branch (1278:9): [True: 7, False: 64]
  ------------------
 1279|  1.08k|				{
 1280|  1.08k|					DO_ERROR(DNS_R_BADSIG0);
  ------------------
  |  |  911|  1.08k|	do {                                 \
  |  |  912|  1.08k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 1.08k, False: 0]
  |  |  ------------------
  |  |  913|  1.08k|			seen_problem = true; \
  |  |  914|  1.08k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  1.08k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 1.08k]
  |  |  ------------------
  ------------------
 1281|  1.08k|				} else {
 1282|     64|					skip_name_search = true;
 1283|     64|					skip_type_search = true;
 1284|     64|					issigzero = true;
 1285|     64|				}
 1286|  3.01k|			} else {
 1287|  3.01k|				covers = dns_rdatatype_none;
  ------------------
  |  |  114|  3.01k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
 1288|  3.01k|			}
 1289|   273k|		} else {
 1290|   273k|			covers = dns_rdatatype_none;
  ------------------
  |  |  114|   273k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
 1291|   273k|		}
 1292|       |
 1293|       |		/*
 1294|       |		 * Check the ownername of NSEC3 records
 1295|       |		 */
 1296|   282k|		if (rdtype == dns_rdatatype_nsec3 &&
  ------------------
  |  |  164|   565k|#define dns_rdatatype_nsec3	((dns_rdatatype_t)dns_rdatatype_nsec3)
  ------------------
  |  Branch (1296:7): [True: 4.67k, False: 278k]
  ------------------
 1297|  4.67k|		    !dns_rdata_checkowner(name, msg->rdclass, rdtype, false))
  ------------------
  |  Branch (1297:7): [True: 18, False: 4.66k]
  ------------------
 1298|     18|		{
 1299|     18|			CLEANUP(DNS_R_BADOWNERNAME);
  ------------------
  |  |  266|     18|	{                     \
  |  |  267|     18|		result = (r); \
  |  |  268|     18|		goto cleanup; \
  |  |  269|     18|	}
  ------------------
 1300|      0|		}
 1301|       |
 1302|       |		/*
 1303|       |		 * If we are doing a dynamic update or this is a meta-type,
 1304|       |		 * don't bother searching for a name, just append this one
 1305|       |		 * to the end of the message.
 1306|       |		 */
 1307|   282k|		if (preserve_order || msg->opcode == dns_opcode_update ||
  ------------------
  |  Branch (1307:7): [True: 0, False: 282k]
  |  Branch (1307:25): [True: 34.2k, False: 248k]
  ------------------
 1308|   248k|		    skip_name_search)
  ------------------
  |  Branch (1308:7): [True: 3.95k, False: 244k]
  ------------------
 1309|  38.1k|		{
 1310|  38.1k|			if (!isedns && !istsig && !issigzero) {
  ------------------
  |  Branch (1310:8): [True: 33.6k, False: 4.54k]
  |  Branch (1310:19): [True: 33.6k, False: 45]
  |  Branch (1310:30): [True: 33.5k, False: 64]
  ------------------
 1311|  33.5k|				ISC_LIST_APPEND(*section, name, link);
  ------------------
  |  |  100|  33.5k|	do {                                                  \
  |  |  101|  33.5k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  33.5k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  33.5k|	do {                                            \
  |  |  |  |   89|  33.5k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 31.4k, False: 2.10k]
  |  |  |  |  ------------------
  |  |  |  |   90|  31.4k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  31.4k|		} else {                                \
  |  |  |  |   92|  2.10k|			(list).head = (elt);            \
  |  |  |  |   93|  2.10k|		}                                       \
  |  |  |  |   94|  33.5k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  33.5k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  33.5k|		(list).tail = (elt);                    \
  |  |  |  |   97|  33.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 33.5k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  33.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 33.5k]
  |  |  ------------------
  ------------------
 1312|  33.5k|				free_name = false;
 1313|  33.5k|			}
 1314|   244k|		} else {
 1315|   244k|			if (name_map == NULL) {
  ------------------
  |  Branch (1315:8): [True: 6.72k, False: 237k]
  ------------------
 1316|  6.72k|				result = ISC_R_SUCCESS;
 1317|  6.72k|				goto skip_name_check;
 1318|  6.72k|			}
 1319|       |
 1320|       |			/*
 1321|       |			 * Run through the section, looking to see if this name
 1322|       |			 * is already there.  If it is found, put back the
 1323|       |			 * allocated name since we no longer need it, and set
 1324|       |			 * our name pointer to point to the name we found.
 1325|       |			 */
 1326|   237k|			result = isc_hashmap_add(name_map, dns_name_hash(name),
 1327|   237k|						 name_match, name, name,
 1328|   237k|						 (void **)&found_name);
 1329|       |
 1330|       |			/*
 1331|       |			 * If it is a new name, append to the section.
 1332|       |			 */
 1333|   244k|		skip_name_check:
 1334|   244k|			switch (result) {
 1335|  37.7k|			case ISC_R_SUCCESS:
  ------------------
  |  Branch (1335:4): [True: 37.7k, False: 206k]
  ------------------
 1336|  37.7k|				ISC_LIST_APPEND(*section, name, link);
  ------------------
  |  |  100|  37.7k|	do {                                                  \
  |  |  101|  37.7k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  37.7k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  37.7k|	do {                                            \
  |  |  |  |   89|  37.7k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 20.9k, False: 16.7k]
  |  |  |  |  ------------------
  |  |  |  |   90|  20.9k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  20.9k|		} else {                                \
  |  |  |  |   92|  16.7k|			(list).head = (elt);            \
  |  |  |  |   93|  16.7k|		}                                       \
  |  |  |  |   94|  37.7k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  37.7k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  37.7k|		(list).tail = (elt);                    \
  |  |  |  |   97|  37.7k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 37.7k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  37.7k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 37.7k]
  |  |  ------------------
  ------------------
 1337|  37.7k|				break;
 1338|   206k|			case ISC_R_EXISTS:
  ------------------
  |  Branch (1338:4): [True: 206k, False: 37.7k]
  ------------------
 1339|   206k|				dns_message_puttempname(msg, &name);
 1340|   206k|				name = found_name;
 1341|   206k|				found_name = NULL;
 1342|   206k|				break;
 1343|      0|			default:
  ------------------
  |  Branch (1343:4): [True: 0, False: 244k]
  ------------------
 1344|      0|				UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
 1345|   244k|			}
 1346|   244k|			free_name = false;
 1347|   244k|		}
 1348|       |
 1349|   282k|		rdatalist = newrdatalist(msg);
 1350|   282k|		rdatalist->type = rdtype;
 1351|   282k|		rdatalist->covers = covers;
 1352|   282k|		rdatalist->rdclass = rdclass;
 1353|   282k|		rdatalist->ttl = ttl;
 1354|       |
 1355|   282k|		dns_message_gettemprdataset(msg, &rdataset);
 1356|   282k|		dns_rdatalist_tordataset(rdatalist, rdataset);
 1357|   282k|		dns_rdataset_setownercase(rdataset, name);
 1358|   282k|		rdatalist = NULL;
 1359|       |
 1360|       |		/*
 1361|       |		 * Search name for the particular type and class.
 1362|       |		 * Skip this stage if in update mode or this is a meta-type.
 1363|       |		 */
 1364|   282k|		if (isedns || istsig || issigzero) {
  ------------------
  |  Branch (1364:7): [True: 4.54k, False: 278k]
  |  Branch (1364:17): [True: 45, False: 278k]
  |  Branch (1364:27): [True: 64, False: 278k]
  ------------------
 1365|       |			/* Skip adding the rdataset to the tables */
 1366|   278k|		} else if (preserve_order || msg->opcode == dns_opcode_update ||
  ------------------
  |  Branch (1366:14): [True: 0, False: 278k]
  |  Branch (1366:32): [True: 33.5k, False: 244k]
  ------------------
 1367|   244k|			   skip_type_search)
  ------------------
  |  Branch (1367:7): [True: 0, False: 244k]
  ------------------
 1368|  33.5k|		{
 1369|  33.5k|			result = ISC_R_SUCCESS;
 1370|       |
 1371|  33.5k|			ISC_LIST_APPEND(name->list, rdataset, link);
  ------------------
  |  |  100|  33.5k|	do {                                                  \
  |  |  101|  33.5k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  33.5k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  33.5k|	do {                                            \
  |  |  |  |   89|  33.5k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 0, False: 33.5k]
  |  |  |  |  ------------------
  |  |  |  |   90|      0|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  33.5k|		} else {                                \
  |  |  |  |   92|  33.5k|			(list).head = (elt);            \
  |  |  |  |   93|  33.5k|		}                                       \
  |  |  |  |   94|  33.5k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  33.5k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  33.5k|		(list).tail = (elt);                    \
  |  |  |  |   97|  33.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 33.5k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  33.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 33.5k]
  |  |  ------------------
  ------------------
 1372|   244k|		} else {
 1373|       |			/*
 1374|       |			 * If this is a type that can only occur in
 1375|       |			 * the question section, fail.
 1376|       |			 */
 1377|   244k|			if (dns_rdatatype_questiononly(rdtype)) {
  ------------------
  |  Branch (1377:8): [True: 5.86k, False: 238k]
  ------------------
 1378|  5.86k|				DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  5.86k|	do {                                 \
  |  |  912|  5.86k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 5.86k, False: 0]
  |  |  ------------------
  |  |  913|  5.86k|			seen_problem = true; \
  |  |  914|  5.86k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  5.86k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 5.86k]
  |  |  ------------------
  ------------------
 1379|  5.86k|			}
 1380|       |
 1381|   244k|			if (ISC_LIST_EMPTY(name->list)) {
  ------------------
  |  |   64|   244k|#define ISC_LIST_EMPTY(list) ((list).head == NULL)
  |  |  ------------------
  |  |  |  Branch (64:30): [True: 37.7k, False: 206k]
  |  |  ------------------
  ------------------
 1382|  37.7k|				result = ISC_R_SUCCESS;
 1383|  37.7k|				goto skip_rds_check;
 1384|  37.7k|			}
 1385|       |
 1386|   206k|			if (name->hashmap == NULL) {
  ------------------
  |  Branch (1386:8): [True: 14.4k, False: 192k]
  ------------------
 1387|  14.4k|				isc_hashmap_create(msg->mctx, 1,
 1388|  14.4k|						   &name->hashmap);
 1389|  14.4k|				free_hashmaps = true;
 1390|       |
 1391|  14.4k|				INSIST(ISC_LIST_HEAD(name->list) ==
  ------------------
  |  |  202|  14.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  14.4k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 14.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  14.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1392|  14.4k|				       ISC_LIST_TAIL(name->list));
 1393|       |
 1394|  14.4k|				dns_rdataset_t *old_rdataset =
 1395|  14.4k|					ISC_LIST_HEAD(name->list);
  ------------------
  |  |   62|  14.4k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1396|       |
 1397|  14.4k|				result = isc_hashmap_add(
 1398|  14.4k|					name->hashmap, rds_hash(old_rdataset),
 1399|  14.4k|					rds_match, old_rdataset, old_rdataset,
 1400|  14.4k|					NULL);
 1401|       |
 1402|  14.4k|				INSIST(result == ISC_R_SUCCESS);
  ------------------
  |  |  202|  14.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  14.4k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 14.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  14.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1403|  14.4k|			}
 1404|       |
 1405|   206k|			result = isc_hashmap_add(
 1406|   206k|				name->hashmap, rds_hash(rdataset), rds_match,
 1407|   206k|				rdataset, rdataset, (void **)&found_rdataset);
 1408|       |
 1409|       |			/*
 1410|       |			 * If we found an rdataset that matches, we need to
 1411|       |			 * append this rdata to that set.  If we did not, we
 1412|       |			 * need to create a new rdatalist, store the important
 1413|       |			 * bits there, convert it to an rdataset, and link the
 1414|       |			 * latter to the name. Yuck.  When appending, make
 1415|       |			 * certain that the type isn't a singleton type, such as
 1416|       |			 * SOA or CNAME.
 1417|       |			 *
 1418|       |			 * Note that this check will be bypassed when preserving
 1419|       |			 * order, the opcode is an update, or the type search is
 1420|       |			 * skipped.
 1421|       |			 */
 1422|   244k|		skip_rds_check:
 1423|   244k|			switch (result) {
 1424|   156k|			case ISC_R_EXISTS:
  ------------------
  |  Branch (1424:4): [True: 156k, False: 87.5k]
  ------------------
 1425|       |				/* Free the rdataset we used as the key */
 1426|   156k|				dns__message_putassociatedrdataset(msg,
 1427|   156k|								   &rdataset);
 1428|   156k|				result = ISC_R_SUCCESS;
 1429|   156k|				rdataset = found_rdataset;
 1430|       |
 1431|   156k|				if (!dns_rdatatype_issingleton(rdtype)) {
  ------------------
  |  Branch (1431:9): [True: 146k, False: 10.2k]
  ------------------
 1432|   146k|					break;
 1433|   146k|				}
 1434|       |
 1435|  10.2k|				dns_rdatalist_fromrdataset(rdataset,
 1436|  10.2k|							   &rdatalist);
 1437|  10.2k|				dns_rdata_t *first =
 1438|  10.2k|					ISC_LIST_HEAD(rdatalist->rdata);
  ------------------
  |  |   62|  10.2k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1439|  10.2k|				INSIST(first != NULL);
  ------------------
  |  |  202|  10.2k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  10.2k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 10.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1440|  10.2k|				if (dns_rdata_compare(rdata, first) != 0) {
  ------------------
  |  Branch (1440:9): [True: 5.58k, False: 4.65k]
  ------------------
 1441|  5.58k|					DO_ERROR(DNS_R_FORMERR);
  ------------------
  |  |  911|  5.58k|	do {                                 \
  |  |  912|  5.58k|		if (best_effort) {           \
  |  |  ------------------
  |  |  |  Branch (912:7): [True: 5.58k, False: 0]
  |  |  ------------------
  |  |  913|  5.58k|			seen_problem = true; \
  |  |  914|  5.58k|		} else {                     \
  |  |  915|      0|			result = r;          \
  |  |  916|      0|			goto cleanup;        \
  |  |  917|      0|		}                            \
  |  |  918|  5.58k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (918:11): [Folded, False: 5.58k]
  |  |  ------------------
  ------------------
 1442|  5.58k|				}
 1443|  10.2k|				break;
 1444|  87.5k|			case ISC_R_SUCCESS:
  ------------------
  |  Branch (1444:4): [True: 87.5k, False: 156k]
  ------------------
 1445|  87.5k|				ISC_LIST_APPEND(name->list, rdataset, link);
  ------------------
  |  |  100|  87.5k|	do {                                                  \
  |  |  101|  87.5k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  87.5k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  87.5k|	do {                                            \
  |  |  |  |   89|  87.5k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 49.8k, False: 37.7k]
  |  |  |  |  ------------------
  |  |  |  |   90|  49.8k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  49.8k|		} else {                                \
  |  |  |  |   92|  37.7k|			(list).head = (elt);            \
  |  |  |  |   93|  37.7k|		}                                       \
  |  |  |  |   94|  87.5k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  87.5k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  87.5k|		(list).tail = (elt);                    \
  |  |  |  |   97|  87.5k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 87.5k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  87.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 87.5k]
  |  |  ------------------
  ------------------
 1446|  87.5k|				break;
 1447|      0|			default:
  ------------------
  |  Branch (1447:4): [True: 0, False: 244k]
  ------------------
 1448|      0|				UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
 1449|   244k|			}
 1450|   244k|		}
 1451|       |
 1452|       |		/*
 1453|       |		 * Minimize TTLs.
 1454|       |		 *
 1455|       |		 * Section 5.2 of RFC2181 says we should drop
 1456|       |		 * nonauthoritative rrsets where the TTLs differ, but we
 1457|       |		 * currently treat them the as if they were authoritative and
 1458|       |		 * minimize them.
 1459|       |		 */
 1460|   282k|		if (ttl != rdataset->ttl) {
  ------------------
  |  Branch (1460:7): [True: 41.2k, False: 241k]
  ------------------
 1461|  41.2k|			rdataset->attributes.ttladjusted = true;
 1462|  41.2k|			if (ttl < rdataset->ttl) {
  ------------------
  |  Branch (1462:8): [True: 4.44k, False: 36.7k]
  ------------------
 1463|  4.44k|				rdataset->ttl = ttl;
 1464|  4.44k|			}
 1465|  41.2k|		}
 1466|       |
 1467|       |		/* Append this rdata to the rdataset. */
 1468|   282k|		dns_rdatalist_fromrdataset(rdataset, &rdatalist);
 1469|   282k|		ISC_LIST_APPEND(rdatalist->rdata, rdata, link);
  ------------------
  |  |  100|   282k|	do {                                                  \
  |  |  101|   282k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|   282k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|   282k|	do {                                            \
  |  |  |  |   89|   282k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 156k, False: 125k]
  |  |  |  |  ------------------
  |  |  |  |   90|   156k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|   156k|		} else {                                \
  |  |  |  |   92|   125k|			(list).head = (elt);            \
  |  |  |  |   93|   125k|		}                                       \
  |  |  |  |   94|   282k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|   282k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|   282k|		(list).tail = (elt);                    \
  |  |  |  |   97|   282k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 282k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|   282k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 282k]
  |  |  ------------------
  ------------------
 1470|       |
 1471|       |		/*
 1472|       |		 * If this is an OPT, SIG(0) or TSIG record, remember it.
 1473|       |		 * Also, set the extended rcode for TSIG.
 1474|       |		 *
 1475|       |		 * Note msg->opt, msg->sig0 and msg->tsig will only be
 1476|       |		 * already set if best-effort parsing is enabled otherwise
 1477|       |		 * there will only be at most one of each.
 1478|       |		 */
 1479|   282k|		if (isedns) {
  ------------------
  |  Branch (1479:7): [True: 4.54k, False: 278k]
  ------------------
 1480|  4.54k|			dns_rcode_t ercode;
 1481|       |
 1482|  4.54k|			msg->opt = rdataset;
 1483|  4.54k|			ercode = (dns_rcode_t)((msg->opt->ttl &
 1484|  4.54k|						DNS_MESSAGE_EDNSRCODE_MASK) >>
  ------------------
  |  |   88|  4.54k|#define DNS_MESSAGE_EDNSRCODE_MASK    0xff000000U
  ------------------
 1485|  4.54k|					       20);
 1486|  4.54k|			msg->rcode |= ercode;
 1487|  4.54k|			dns_message_puttempname(msg, &name);
 1488|  4.54k|			free_name = false;
 1489|   278k|		} else if (issigzero) {
  ------------------
  |  Branch (1489:14): [True: 64, False: 278k]
  ------------------
 1490|     64|			msg->sig0 = rdataset;
 1491|     64|			msg->sig0name = name;
 1492|     64|			msg->sigstart = recstart;
 1493|     64|			free_name = false;
 1494|   278k|		} else if (istsig) {
  ------------------
  |  Branch (1494:14): [True: 45, False: 278k]
  ------------------
 1495|     45|			msg->tsig = rdataset;
 1496|     45|			msg->tsigname = name;
 1497|     45|			msg->sigstart = recstart;
 1498|       |			/*
 1499|       |			 * Windows doesn't like TSIG names to be compressed.
 1500|       |			 */
 1501|     45|			msg->tsigname->attributes.nocompress = true;
 1502|     45|			free_name = false;
 1503|   278k|		} else if (rdtype == dns_rdatatype_dname &&
  ------------------
  |  |  153|   556k|#define dns_rdatatype_dname	((dns_rdatatype_t)dns_rdatatype_dname)
  ------------------
  |  Branch (1503:14): [True: 2.72k, False: 275k]
  ------------------
 1504|  2.72k|			   sectionid == DNS_SECTION_ANSWER &&
  ------------------
  |  Branch (1504:7): [True: 1.75k, False: 974]
  ------------------
 1505|  1.75k|			   msg->opcode == dns_opcode_query)
  ------------------
  |  Branch (1505:7): [True: 715, False: 1.04k]
  ------------------
 1506|    715|		{
 1507|    715|			msg->has_dname = 1;
 1508|    715|		}
 1509|   282k|		rdataset = NULL;
 1510|       |
 1511|   282k|		if (seen_problem) {
  ------------------
  |  Branch (1511:7): [True: 227k, False: 55.0k]
  ------------------
 1512|   227k|			if (free_name) {
  ------------------
  |  Branch (1512:8): [True: 0, False: 227k]
  ------------------
 1513|       |				/* XXX test coverage */
 1514|      0|				dns_message_puttempname(msg, &name);
 1515|      0|			}
 1516|   227k|			free_name = false;
 1517|   227k|		}
 1518|   282k|		INSIST(!free_name);
  ------------------
  |  |  202|   282k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   282k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 282k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   282k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1519|   282k|	}
 1520|       |
 1521|  56.3k|	if (seen_problem) {
  ------------------
  |  Branch (1521:6): [True: 8.79k, False: 47.5k]
  ------------------
 1522|  8.79k|		result = DNS_R_RECOVERABLE;
 1523|  8.79k|	}
 1524|       |
 1525|  60.6k|cleanup:
 1526|  60.6k|	if (rdataset != NULL && rdataset != found_rdataset) {
  ------------------
  |  Branch (1526:6): [True: 0, False: 60.6k]
  |  Branch (1526:26): [True: 0, False: 0]
  ------------------
 1527|      0|		dns__message_putassociatedrdataset(msg, &rdataset);
 1528|      0|	}
 1529|  60.6k|	if (free_name) {
  ------------------
  |  Branch (1529:6): [True: 4.30k, False: 56.3k]
  ------------------
 1530|  4.30k|		dns_message_puttempname(msg, &name);
 1531|  4.30k|	}
 1532|       |
 1533|  60.6k|	if (free_hashmaps) {
  ------------------
  |  Branch (1533:6): [True: 7.89k, False: 52.7k]
  ------------------
 1534|  7.89k|		cleanup_name_hashmaps(section);
 1535|  7.89k|	}
 1536|       |
 1537|  60.6k|	if (name_map != NULL) {
  ------------------
  |  Branch (1537:6): [True: 13.0k, False: 47.5k]
  ------------------
 1538|  13.0k|		isc_hashmap_destroy(&name_map);
 1539|  13.0k|	}
 1540|       |
 1541|  60.6k|	return result;
 1542|  56.3k|}
message.c:update:
 1043|  34.4k|update(dns_section_t section, dns_rdataclass_t rdclass) {
 1044|  34.4k|	if (section == DNS_SECTION_PREREQUISITE) {
  ------------------
  |  |  185|  34.4k|#define DNS_SECTION_PREREQUISITE DNS_SECTION_ANSWER
  ------------------
  |  Branch (1044:6): [True: 10.5k, False: 23.9k]
  ------------------
 1045|  10.5k|		return rdclass == dns_rdataclass_any ||
  ------------------
  |  |   34|  21.0k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
  |  Branch (1045:10): [True: 1.60k, False: 8.93k]
  ------------------
 1046|  8.93k|		       rdclass == dns_rdataclass_none;
  ------------------
  |  |   32|  19.4k|#define dns_rdataclass_none	((dns_rdataclass_t)dns_rdataclass_none)
  ------------------
  |  Branch (1046:10): [True: 691, False: 8.24k]
  ------------------
 1047|  10.5k|	}
 1048|  23.9k|	if (section == DNS_SECTION_UPDATE) {
  ------------------
  |  |  186|  23.9k|#define DNS_SECTION_UPDATE	 DNS_SECTION_AUTHORITY
  ------------------
  |  Branch (1048:6): [True: 9.82k, False: 14.1k]
  ------------------
 1049|  9.82k|		return rdclass == dns_rdataclass_any;
  ------------------
  |  |   34|  9.82k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
 1050|  9.82k|	}
 1051|  14.1k|	return false;
 1052|  23.9k|}
message.c:getrdata:
  862|   282k|	 unsigned int rdatalen, dns_rdata_t *rdata) {
  863|   282k|	isc_buffer_t *scratch;
  864|   282k|	isc_result_t result;
  865|   282k|	unsigned int tries;
  866|   282k|	unsigned int trysize;
  867|       |
  868|   282k|	scratch = currentbuffer(msg);
  869|       |
  870|   282k|	isc_buffer_setactive(source, rdatalen);
  871|       |
  872|       |	/*
  873|       |	 * First try:  use current buffer.
  874|       |	 * Second try:  allocate a new buffer of size
  875|       |	 *     max(SCRATCHPAD_SIZE, 2 * compressed_rdatalen)
  876|       |	 *     (the data will fit if it was not more than 50% compressed)
  877|       |	 * Subsequent tries: double buffer size on each try.
  878|       |	 */
  879|   282k|	tries = 0;
  880|   282k|	trysize = 0;
  881|       |	/* XXX possibly change this to a while (tries < 2) loop */
  882|   328k|	for (;;) {
  883|   328k|		result = dns_rdata_fromwire(rdata, rdclass, rdtype, source,
  884|   328k|					    dctx, scratch);
  885|       |
  886|   328k|		if (result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (886:7): [True: 46.6k, False: 282k]
  ------------------
  887|  46.6k|			if (tries == 0) {
  ------------------
  |  Branch (887:8): [True: 38.8k, False: 7.75k]
  ------------------
  888|  38.8k|				trysize = 2 * rdatalen;
  889|  38.8k|				if (trysize < SCRATCHPAD_SIZE) {
  ------------------
  |  |  123|  38.8k|#define SCRATCHPAD_SIZE	   1232
  ------------------
  |  Branch (889:9): [True: 36.3k, False: 2.51k]
  ------------------
  890|  36.3k|					trysize = SCRATCHPAD_SIZE;
  ------------------
  |  |  123|  36.3k|#define SCRATCHPAD_SIZE	   1232
  ------------------
  891|  36.3k|				}
  892|  38.8k|			} else {
  893|  7.75k|				INSIST(trysize != 0);
  ------------------
  |  |  202|  7.75k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  7.75k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 7.75k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  7.75k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  894|  7.75k|				if (trysize >= 65535) {
  ------------------
  |  Branch (894:9): [True: 1, False: 7.75k]
  ------------------
  895|      1|					return ISC_R_NOSPACE;
  896|      1|				}
  897|       |				/* XXX DNS_R_RRTOOLONG? */
  898|  7.75k|				trysize *= 2;
  899|  7.75k|			}
  900|  46.6k|			tries++;
  901|  46.6k|			newbuffer(msg, trysize);
  902|       |
  903|  46.6k|			scratch = currentbuffer(msg);
  904|   282k|		} else {
  905|   282k|			return result;
  906|   282k|		}
  907|   328k|	}
  908|   282k|}
message.c:name_match:
  771|   206k|name_match(void *node, const void *key) {
  772|   206k|	return dns_name_equal(node, key);
  773|   206k|}
message.c:rds_hash:
  789|   221k|rds_hash(dns_rdataset_t *rds) {
  790|   221k|	isc_hash32_t state;
  791|       |
  792|   221k|	isc_hash32_init(&state);
  793|   221k|	isc_hash32_hash(&state, &rds->rdclass, sizeof(rds->rdclass), true);
  794|   221k|	isc_hash32_hash(&state, &rds->type, sizeof(rds->type), true);
  795|   221k|	isc_hash32_hash(&state, &rds->covers, sizeof(rds->covers), true);
  796|       |
  797|   221k|	return isc_hash32_finalize(&state);
  798|   221k|}
message.c:rds_match:
  801|   157k|rds_match(void *node, const void *key0) {
  802|   157k|	const dns_rdataset_t *rds = node;
  803|   157k|	const dns_rdataset_t *key = key0;
  804|       |
  805|   157k|	return rds->rdclass == key->rdclass && rds->type == key->type &&
  ------------------
  |  Branch (805:9): [True: 156k, False: 102]
  |  Branch (805:41): [True: 156k, False: 0]
  ------------------
  806|   156k|	       rds->covers == key->covers;
  ------------------
  |  Branch (806:9): [True: 156k, False: 0]
  ------------------
  807|   157k|}
message.c:cleanup_name_hashmaps:
  921|  7.89k|cleanup_name_hashmaps(dns_namelist_t *section) {
  922|  27.8k|	ISC_LIST_FOREACH(*section, name, link) {
  ------------------
  |  |  234|  7.89k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  7.89k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  7.89k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|  7.89k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 7.89k, False: 0]
  |  |  ------------------
  |  |  236|  35.7k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 27.8k, False: 7.89k]
  |  |  ------------------
  |  |  237|  27.8k|	     elt = elt##_next,                                             \
  |  |  238|  27.8k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|  19.9k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 19.9k, False: 7.89k]
  |  |  ------------------
  ------------------
  923|  27.8k|		if (name->hashmap != NULL) {
  ------------------
  |  Branch (923:7): [True: 14.4k, False: 13.3k]
  ------------------
  924|  14.4k|			isc_hashmap_destroy(&name->hashmap);
  925|  14.4k|		}
  926|  27.8k|	}
  927|  7.89k|}
message.c:update_min_section_ttl:
 1871|   131k|		       dns_rdataset_t *restrict rdataset) {
 1872|   131k|	if (!msg->minttl[sectionid].is_set ||
  ------------------
  |  Branch (1872:6): [True: 10.6k, False: 121k]
  ------------------
 1873|   121k|	    rdataset->ttl < msg->minttl[sectionid].ttl)
  ------------------
  |  Branch (1873:6): [True: 4.65k, False: 116k]
  ------------------
 1874|  15.3k|	{
 1875|       |		msg->minttl[sectionid].is_set = true;
 1876|  15.3k|		msg->minttl[sectionid].ttl = rdataset->ttl;
 1877|  15.3k|	}
 1878|   131k|}
message.c:wrong_priority:
 1802|  29.0k|wrong_priority(dns_rdataset_t *rds, int pass, dns_rdatatype_t preferred_glue) {
 1803|  29.0k|	int pass_needed;
 1804|       |
 1805|       |	/*
 1806|       |	 * If we are not rendering class IN, this ordering is bogus.
 1807|       |	 */
 1808|  29.0k|	if (rds->rdclass != dns_rdataclass_in) {
  ------------------
  |  |   24|  29.0k|#define dns_rdataclass_in	((dns_rdataclass_t)dns_rdataclass_in)
  ------------------
  |  Branch (1808:6): [True: 19.1k, False: 9.92k]
  ------------------
 1809|  19.1k|		return false;
 1810|  19.1k|	}
 1811|       |
 1812|  9.92k|	switch (rds->type) {
 1813|    291|	case dns_rdatatype_a:
  ------------------
  |  |  115|    291|#define dns_rdatatype_a		((dns_rdatatype_t)dns_rdatatype_a)
  ------------------
  |  Branch (1813:2): [True: 291, False: 9.63k]
  ------------------
 1814|    499|	case dns_rdatatype_aaaa:
  ------------------
  |  |  142|    499|#define dns_rdatatype_aaaa	((dns_rdatatype_t)dns_rdatatype_aaaa)
  ------------------
  |  Branch (1814:2): [True: 208, False: 9.71k]
  ------------------
 1815|    499|		if (preferred_glue == rds->type) {
  ------------------
  |  Branch (1815:7): [True: 0, False: 499]
  ------------------
 1816|      0|			pass_needed = 4;
 1817|    499|		} else {
 1818|    499|			pass_needed = 3;
 1819|    499|		}
 1820|    499|		break;
 1821|    318|	case dns_rdatatype_rrsig:
  ------------------
  |  |  160|    318|#define dns_rdatatype_rrsig	((dns_rdatatype_t)dns_rdatatype_rrsig)
  ------------------
  |  Branch (1821:2): [True: 318, False: 9.60k]
  ------------------
 1822|    570|	case dns_rdatatype_dnskey:
  ------------------
  |  |  162|    570|#define dns_rdatatype_dnskey	((dns_rdatatype_t)dns_rdatatype_dnskey)
  ------------------
  |  Branch (1822:2): [True: 252, False: 9.67k]
  ------------------
 1823|    570|		pass_needed = 2;
 1824|    570|		break;
 1825|  8.85k|	default:
  ------------------
  |  Branch (1825:2): [True: 8.85k, False: 1.06k]
  ------------------
 1826|  8.85k|		pass_needed = 1;
 1827|  9.92k|	}
 1828|       |
 1829|  9.92k|	if (pass_needed >= pass) {
  ------------------
  |  Branch (1829:6): [True: 3.73k, False: 6.19k]
  ------------------
 1830|  3.73k|		return false;
 1831|  3.73k|	}
 1832|       |
 1833|  6.19k|	return true;
 1834|  9.92k|}
message.c:maybe_clear_ad:
 1858|    149|maybe_clear_ad(dns_message_t *msg, dns_section_t sectionid) {
 1859|    149|	if (msg->counts[sectionid] == 0 &&
  ------------------
  |  Branch (1859:6): [True: 82, False: 67]
  ------------------
 1860|     82|	    (sectionid == DNS_SECTION_ANSWER ||
  ------------------
  |  Branch (1860:7): [True: 2, False: 80]
  ------------------
 1861|     80|	     (sectionid == DNS_SECTION_AUTHORITY &&
  ------------------
  |  Branch (1861:8): [True: 30, False: 50]
  ------------------
 1862|     30|	      msg->counts[DNS_SECTION_ANSWER] == 0)))
  ------------------
  |  Branch (1862:8): [True: 1, False: 29]
  ------------------
 1863|      3|	{
 1864|      3|		msg->flags &= ~DNS_MESSAGEFLAG_AD;
 1865|      3|	}
 1866|    149|}
message.c:msgresetnames:
  459|  23.7k|msgresetnames(dns_message_t *msg, unsigned int first_section) {
  460|       |	/* Clean up name lists. */
  461|   117k|	for (size_t i = first_section; i < DNS_SECTION_MAX; i++) {
  ------------------
  |  Branch (461:33): [True: 93.6k, False: 23.7k]
  ------------------
  462|   174k|		ISC_LIST_FOREACH(msg->sections[i], name, link) {
  ------------------
  |  |  234|  93.6k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  93.6k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  93.6k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|  23.0k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 23.0k, False: 70.6k]
  |  |  ------------------
  |  |  236|   268k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 174k, False: 93.6k]
  |  |  ------------------
  |  |  237|   174k|	     elt = elt##_next,                                             \
  |  |  238|   174k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|   151k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 151k, False: 23.0k]
  |  |  ------------------
  ------------------
  463|       |			ISC_LIST_UNLINK(msg->sections[i], name, link);
  ------------------
  |  |  137|   174k|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|   174k|	do {                                                         \
  |  |  |  |  133|   174k|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|   174k|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|   174k|	do {                                                            \
  |  |  |  |  |  |  110|   174k|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 151k, False: 23.0k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|   151k|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|   151k|		} else {                                                \
  |  |  |  |  |  |  113|  23.0k|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  23.0k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 23.0k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  23.0k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  23.0k|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|  23.0k|		}                                                       \
  |  |  |  |  |  |  116|   174k|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 174k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|   174k|		} else {                                                \
  |  |  |  |  |  |  119|   174k|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   174k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 174k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   174k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|   174k|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|   174k|		}                                                       \
  |  |  |  |  |  |  122|   174k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   174k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|   174k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   174k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|   174k|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   174k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 174k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   174k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|   174k|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   174k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 174k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   174k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|   174k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 174k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|   174k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 174k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  464|   174k|			msgresetname(msg, name);
  465|   174k|			dns_message_puttempname(msg, &name);
  466|   174k|		}
  467|  93.6k|	}
  468|  23.7k|}
message.c:msgresetname:
  451|   174k|msgresetname(dns_message_t *msg, dns_name_t *name) {
  452|   224k|	ISC_LIST_FOREACH(name->list, rds, link) {
  ------------------
  |  |  234|   174k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|   174k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|   174k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|   174k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 174k, False: 23]
  |  |  ------------------
  |  |  236|   399k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 224k, False: 174k]
  |  |  ------------------
  |  |  237|   224k|	     elt = elt##_next,                                             \
  |  |  238|   224k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|  49.8k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 49.8k, False: 174k]
  |  |  ------------------
  ------------------
  453|       |		ISC_LIST_UNLINK(name->list, rds, link);
  ------------------
  |  |  137|   224k|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|   224k|	do {                                                         \
  |  |  |  |  133|   224k|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|   224k|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|   224k|	do {                                                            \
  |  |  |  |  |  |  110|   224k|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 49.8k, False: 174k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|  49.8k|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|   174k|		} else {                                                \
  |  |  |  |  |  |  113|   174k|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   174k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 174k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   174k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|   174k|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|   174k|		}                                                       \
  |  |  |  |  |  |  116|   224k|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 224k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|   224k|		} else {                                                \
  |  |  |  |  |  |  119|   224k|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   224k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 224k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   224k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|   224k|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|   224k|		}                                                       \
  |  |  |  |  |  |  122|   224k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   224k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|   224k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   224k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|   224k|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   224k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 224k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   224k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|   224k|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|   224k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 224k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|   224k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|   224k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 224k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|   224k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 224k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|   224k|		dns__message_putassociatedrdataset(msg, &rds);
  455|   224k|	}
  456|   174k|}
message.c:renderset:
 1839|  2.25k|	  unsigned int options, unsigned int *countp) {
 1840|  2.25k|	isc_result_t result;
 1841|       |
 1842|       |	/*
 1843|       |	 * Shrink the space in the buffer by the reserved amount.
 1844|       |	 */
 1845|  2.25k|	if (target->length - target->used < reserved) {
  ------------------
  |  Branch (1845:6): [True: 0, False: 2.25k]
  ------------------
 1846|      0|		return ISC_R_NOSPACE;
 1847|      0|	}
 1848|       |
 1849|  2.25k|	target->length -= reserved;
 1850|  2.25k|	result = dns_rdataset_towire(rdataset, owner_name, id, cctx, target,
 1851|  2.25k|				     false, options, countp);
 1852|  2.25k|	target->length += reserved;
 1853|       |
 1854|  2.25k|	return result;
 1855|  2.25k|}
message.c:newrdata:
  321|   285k|newrdata(dns_message_t *msg) {
  322|   285k|	dns_msgblock_t *msgblock;
  323|   285k|	dns_rdata_t *rdata;
  324|       |
  325|   285k|	rdata = ISC_LIST_HEAD(msg->freerdata);
  ------------------
  |  |   62|   285k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  326|   285k|	if (rdata != NULL) {
  ------------------
  |  Branch (326:6): [True: 0, False: 285k]
  ------------------
  327|      0|		ISC_LIST_UNLINK(msg->freerdata, rdata, link);
  ------------------
  |  |  137|      0|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|      0|	do {                                                         \
  |  |  |  |  133|      0|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|      0|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|	do {                                                            \
  |  |  |  |  |  |  110|      0|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|      0|		} else {                                                \
  |  |  |  |  |  |  113|      0|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|      0|		}                                                       \
  |  |  |  |  |  |  116|      0|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|      0|		} else {                                                \
  |  |  |  |  |  |  119|      0|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|      0|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|      0|		}                                                       \
  |  |  |  |  |  |  122|      0|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|      0|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|      0|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|      0|		dns_rdata_reset(rdata);
  329|      0|		return rdata;
  330|      0|	}
  331|       |
  332|   285k|	msgblock = ISC_LIST_TAIL(msg->rdatas);
  ------------------
  |  |   63|   285k|#define ISC_LIST_TAIL(list)  ((list).tail)
  ------------------
  333|   285k|	rdata = msgblock_get(msgblock, dns_rdata_t);
  ------------------
  |  |  190|   285k|	((type *)msgblock_internalget(block, sizeof(type)))
  ------------------
  334|   285k|	if (rdata == NULL) {
  ------------------
  |  Branch (334:6): [True: 49.8k, False: 235k]
  ------------------
  335|  49.8k|		msgblock = msgblock_allocate(msg->mctx, sizeof(dns_rdata_t),
  336|  49.8k|					     RDATA_COUNT);
  ------------------
  |  |  127|  49.8k|#define RDATA_COUNT	   8
  ------------------
  337|  49.8k|		ISC_LIST_APPEND(msg->rdatas, msgblock, link);
  ------------------
  |  |  100|  49.8k|	do {                                                  \
  |  |  101|  49.8k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  49.8k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  49.8k|	do {                                            \
  |  |  |  |   89|  49.8k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 29.8k, False: 20.0k]
  |  |  |  |  ------------------
  |  |  |  |   90|  29.8k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  29.8k|		} else {                                \
  |  |  |  |   92|  20.0k|			(list).head = (elt);            \
  |  |  |  |   93|  20.0k|		}                                       \
  |  |  |  |   94|  49.8k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  49.8k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  49.8k|		(list).tail = (elt);                    \
  |  |  |  |   97|  49.8k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 49.8k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  49.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 49.8k]
  |  |  ------------------
  ------------------
  338|       |
  339|  49.8k|		rdata = msgblock_get(msgblock, dns_rdata_t);
  ------------------
  |  |  190|  49.8k|	((type *)msgblock_internalget(block, sizeof(type)))
  ------------------
  340|  49.8k|	}
  341|       |
  342|   285k|	dns_rdata_init(rdata);
  343|   285k|	return rdata;
  344|   285k|}
message.c:msgblock_internalget:
  258|   783k|msgblock_internalget(dns_msgblock_t *block, unsigned int sizeof_type) {
  259|   783k|	void *ptr;
  260|       |
  261|   783k|	if (block == NULL || block->remaining == 0) {
  ------------------
  |  Branch (261:6): [True: 40.2k, False: 742k]
  |  Branch (261:23): [True: 71.5k, False: 671k]
  ------------------
  262|   111k|		return NULL;
  263|   111k|	}
  264|       |
  265|   671k|	block->remaining--;
  266|       |
  267|   671k|	ptr = (((unsigned char *)block) + sizeof(dns_msgblock_t) +
  268|   671k|	       (sizeof_type * block->remaining));
  269|       |
  270|   671k|	return ptr;
  271|   783k|}
message.c:msgblock_allocate:
  237|   111k|		  unsigned int count) {
  238|   111k|	dns_msgblock_t *block;
  239|   111k|	unsigned int length;
  240|       |
  241|   111k|	length = sizeof(dns_msgblock_t) + (sizeof_type * count);
  242|       |
  243|   111k|	block = isc_mem_get(mctx, length);
  ------------------
  |  |  144|   111k|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
  244|       |
  245|   111k|	block->count = count;
  246|   111k|	block->remaining = count;
  247|       |
  248|   111k|	ISC_LINK_INIT(block, link);
  ------------------
  |  |   57|   111k|#define ISC_LINK_INIT(elt, link) ISC_LINK_INIT_TYPE(elt, link, void)
  |  |  ------------------
  |  |  |  |   53|   111k|	do {                                                 \
  |  |  |  |   54|   111k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   111k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   55|   111k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   111k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   56|   111k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (56:11): [Folded, False: 111k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  249|       |
  250|   111k|	return block;
  251|   111k|}
message.c:newrdatalist:
  352|   386k|newrdatalist(dns_message_t *msg) {
  353|   386k|	dns_msgblock_t *msgblock;
  354|   386k|	dns_rdatalist_t *rdatalist;
  355|       |
  356|   386k|	rdatalist = ISC_LIST_HEAD(msg->freerdatalist);
  ------------------
  |  |   62|   386k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  357|   386k|	if (rdatalist != NULL) {
  ------------------
  |  Branch (357:6): [True: 0, False: 386k]
  ------------------
  358|      0|		ISC_LIST_UNLINK(msg->freerdatalist, rdatalist, link);
  ------------------
  |  |  137|      0|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|      0|	do {                                                         \
  |  |  |  |  133|      0|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|      0|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|	do {                                                            \
  |  |  |  |  |  |  110|      0|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|      0|		} else {                                                \
  |  |  |  |  |  |  113|      0|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|      0|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|      0|		}                                                       \
  |  |  |  |  |  |  116|      0|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      0|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|      0|		} else {                                                \
  |  |  |  |  |  |  119|      0|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|      0|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|      0|		}                                                       \
  |  |  |  |  |  |  122|      0|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|      0|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|      0|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|      0|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|      0|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|      0|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|      0|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  359|      0|		dns_rdatalist_init(rdatalist);
  360|      0|		goto out;
  361|      0|	}
  362|       |
  363|   386k|	msgblock = ISC_LIST_TAIL(msg->rdatalists);
  ------------------
  |  |   63|   386k|#define ISC_LIST_TAIL(list)  ((list).tail)
  ------------------
  364|   386k|	rdatalist = msgblock_get(msgblock, dns_rdatalist_t);
  ------------------
  |  |  190|   386k|	((type *)msgblock_internalget(block, sizeof(type)))
  ------------------
  365|   386k|	if (rdatalist == NULL) {
  ------------------
  |  Branch (365:6): [True: 61.9k, False: 324k]
  ------------------
  366|  61.9k|		msgblock = msgblock_allocate(msg->mctx, sizeof(dns_rdatalist_t),
  367|  61.9k|					     RDATALIST_COUNT);
  ------------------
  |  |  128|  61.9k|#define RDATALIST_COUNT	   8
  ------------------
  368|  61.9k|		ISC_LIST_APPEND(msg->rdatalists, msgblock, link);
  ------------------
  |  |  100|  61.9k|	do {                                                  \
  |  |  101|  61.9k|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |  102|  61.9k|		__ISC_LIST_APPENDUNSAFE(list, elt, link);     \
  |  |  ------------------
  |  |  |  |   88|  61.9k|	do {                                            \
  |  |  |  |   89|  61.9k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 41.7k, False: 20.2k]
  |  |  |  |  ------------------
  |  |  |  |   90|  41.7k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  41.7k|		} else {                                \
  |  |  |  |   92|  20.2k|			(list).head = (elt);            \
  |  |  |  |   93|  20.2k|		}                                       \
  |  |  |  |   94|  61.9k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  61.9k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  61.9k|		(list).tail = (elt);                    \
  |  |  |  |   97|  61.9k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 61.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  103|  61.9k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (103:11): [Folded, False: 61.9k]
  |  |  ------------------
  ------------------
  369|       |
  370|  61.9k|		rdatalist = msgblock_get(msgblock, dns_rdatalist_t);
  ------------------
  |  |  190|  61.9k|	((type *)msgblock_internalget(block, sizeof(type)))
  ------------------
  371|  61.9k|	}
  372|   386k|out:
  373|   386k|	dns_rdatalist_init(rdatalist);
  374|   386k|	return rdatalist;
  375|   386k|}
message.c:dns__message_putassociatedrdataset:
 2482|   386k|dns__message_putassociatedrdataset(dns_message_t *msg, dns_rdataset_t **item) {
 2483|   386k|	dns_rdataset_disassociate(*item);
  ------------------
  |  |  301|   386k|	dns__rdataset_disassociate(rdataset DNS__DB_FILELINE)
  ------------------
 2484|   386k|	dns_message_puttemprdataset(msg, item);
 2485|   386k|}
message.c:msgresetopt:
  471|  22.3k|msgresetopt(dns_message_t *msg) {
  472|  22.3k|	if (msg->opt != NULL) {
  ------------------
  |  Branch (472:6): [True: 4.54k, False: 17.7k]
  ------------------
  473|  4.54k|		if (msg->opt_reserved > 0) {
  ------------------
  |  Branch (473:7): [True: 0, False: 4.54k]
  ------------------
  474|      0|			dns_message_renderrelease(msg, msg->opt_reserved);
  475|      0|			msg->opt_reserved = 0;
  476|      0|		}
  477|  4.54k|		dns__message_putassociatedrdataset(msg, &msg->opt);
  478|       |		msg->opt = NULL;
  479|  4.54k|		msg->cc_ok = 0;
  480|  4.54k|		msg->cc_bad = 0;
  481|  4.54k|	}
  482|  22.3k|}
message.c:msgresetsigs:
  485|  22.3k|msgresetsigs(dns_message_t *msg, bool replying) {
  486|  22.3k|	if (msg->sig_reserved > 0) {
  ------------------
  |  Branch (486:6): [True: 0, False: 22.3k]
  ------------------
  487|      0|		dns_message_renderrelease(msg, msg->sig_reserved);
  488|      0|		msg->sig_reserved = 0;
  489|      0|	}
  490|  22.3k|	if (msg->tsig != NULL) {
  ------------------
  |  Branch (490:6): [True: 44, False: 22.3k]
  ------------------
  491|     44|		INSIST(dns_rdataset_isassociated(msg->tsig));
  ------------------
  |  |  202|     44|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|     44|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 44, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|     44|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  492|     44|		INSIST(msg->namepool != NULL);
  ------------------
  |  |  202|     44|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|     44|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 44, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|     44|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  493|     44|		if (replying) {
  ------------------
  |  Branch (493:7): [True: 0, False: 44]
  ------------------
  494|      0|			INSIST(msg->querytsig == NULL);
  ------------------
  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  495|      0|			msg->querytsig = msg->tsig;
  496|     44|		} else {
  497|     44|			dns__message_putassociatedrdataset(msg, &msg->tsig);
  498|     44|			if (msg->querytsig != NULL) {
  ------------------
  |  Branch (498:8): [True: 0, False: 44]
  ------------------
  499|      0|				dns__message_putassociatedrdataset(
  500|      0|					msg, &msg->querytsig);
  501|      0|			}
  502|     44|		}
  503|     44|		dns_message_puttempname(msg, &msg->tsigname);
  504|     44|		msg->tsig = NULL;
  505|  22.3k|	} else if (msg->querytsig != NULL && !replying) {
  ------------------
  |  Branch (505:13): [True: 0, False: 22.3k]
  |  Branch (505:39): [True: 0, False: 0]
  ------------------
  506|      0|		dns__message_putassociatedrdataset(msg, &msg->querytsig);
  507|      0|		msg->querytsig = NULL;
  508|      0|	}
  509|  22.3k|	if (msg->sig0 != NULL) {
  ------------------
  |  Branch (509:6): [True: 61, False: 22.2k]
  ------------------
  510|     61|		dns__message_putassociatedrdataset(msg, &msg->sig0);
  511|     61|		msg->sig0 = NULL;
  512|     61|	}
  513|  22.3k|	if (msg->sig0name != NULL) {
  ------------------
  |  Branch (513:6): [True: 61, False: 22.2k]
  ------------------
  514|     61|		dns_message_puttempname(msg, &msg->sig0name);
  515|     61|	}
  516|  22.3k|}
message.c:msginitprivate:
  387|  22.3k|msginitprivate(dns_message_t *m) {
  388|  22.3k|	unsigned int i;
  389|       |
  390|   111k|	for (i = 0; i < DNS_SECTION_MAX; i++) {
  ------------------
  |  Branch (390:14): [True: 89.3k, False: 22.3k]
  ------------------
  391|  89.3k|		m->cursors[i] = NULL;
  392|  89.3k|		m->counts[i] = 0;
  393|  89.3k|	}
  394|  22.3k|	m->opt = NULL;
  395|  22.3k|	m->sig0 = NULL;
  396|  22.3k|	m->sig0name = NULL;
  397|  22.3k|	m->tsig = NULL;
  398|  22.3k|	m->tsigname = NULL;
  399|  22.3k|	m->state = DNS_SECTION_ANY; /* indicate nothing parsed or rendered */
  400|  22.3k|	m->opt_reserved = 0;
  401|  22.3k|	m->sig_reserved = 0;
  402|  22.3k|	m->reserved = 0;
  403|  22.3k|	m->padding = 0;
  404|  22.3k|	m->padding_off = 0;
  405|       |	m->buffer = NULL;
  406|  22.3k|}
message.c:render_llq:
 3366|  2.45k|	   const dns_master_style_t *style, isc_buffer_t *target) {
 3367|  2.45k|	char buf[sizeof("18446744073709551615")]; /* 2^64-1 */
 3368|  2.45k|	isc_result_t result = ISC_R_SUCCESS;
 3369|  2.45k|	uint32_t u;
 3370|  2.45k|	uint64_t q;
 3371|  2.45k|	const char *sep1 = " ", *sep2 = ", ";
 3372|  2.45k|	size_t count = msg->indent.count;
 3373|  2.45k|	bool yaml = false;
 3374|       |
 3375|  2.45k|	if ((dns_master_styleflags(style) & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|  2.45k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (3375:6): [True: 0, False: 2.45k]
  ------------------
 3376|      0|		sep1 = sep2 = "\n";
 3377|      0|		msg->indent.count++;
 3378|      0|		yaml = true;
 3379|      0|	}
 3380|       |
 3381|  2.45k|	u = isc_buffer_getuint16(optbuf);
 3382|  2.45k|	ADD_STRING(target, sep1);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3383|  2.45k|	INDENT(style);
  ------------------
  |  | 3191|  2.45k|	do {                                                                 \
  |  | 3192|  2.45k|		unsigned int __i;                                            \
  |  | 3193|  2.45k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  2.45k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  2.45k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3195|  2.45k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  2.45k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3196|  2.45k|		{                                                            \
  |  | 3197|  2.45k|			break;                                               \
  |  | 3198|  2.45k|		}                                                            \
  |  | 3199|  2.45k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3384|  2.45k|	if (yaml) {
  ------------------
  |  Branch (3384:6): [True: 0, False: 2.45k]
  ------------------
 3385|      0|		ADD_STRING(target, "LLQ-VERSION: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3386|  2.45k|	} else {
 3387|  2.45k|		ADD_STRING(target, "Version: ");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3388|  2.45k|	}
 3389|  2.45k|	snprintf(buf, sizeof(buf), "%u", u);
 3390|  2.45k|	ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3391|       |
 3392|  2.45k|	u = isc_buffer_getuint16(optbuf);
 3393|  2.45k|	ADD_STRING(target, sep2);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3394|  2.45k|	INDENT(style);
  ------------------
  |  | 3191|  2.45k|	do {                                                                 \
  |  | 3192|  2.45k|		unsigned int __i;                                            \
  |  | 3193|  2.45k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  2.45k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  2.45k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3195|  2.45k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  2.45k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3196|  2.45k|		{                                                            \
  |  | 3197|  2.45k|			break;                                               \
  |  | 3198|  2.45k|		}                                                            \
  |  | 3199|  2.45k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3395|  2.45k|	if (yaml) {
  ------------------
  |  Branch (3395:6): [True: 0, False: 2.45k]
  ------------------
 3396|      0|		ADD_STRING(target, "LLQ-OPCODE: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3397|  2.45k|	} else {
 3398|  2.45k|		ADD_STRING(target, "Opcode: ");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3399|  2.45k|	}
 3400|  2.45k|	snprintf(buf, sizeof(buf), "%u", u);
 3401|  2.45k|	ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3402|       |
 3403|  2.45k|	u = isc_buffer_getuint16(optbuf);
 3404|  2.45k|	ADD_STRING(target, sep2);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3405|  2.45k|	INDENT(style);
  ------------------
  |  | 3191|  2.45k|	do {                                                                 \
  |  | 3192|  2.45k|		unsigned int __i;                                            \
  |  | 3193|  2.45k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  2.45k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  2.45k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3195|  2.45k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  2.45k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3196|  2.45k|		{                                                            \
  |  | 3197|  2.45k|			break;                                               \
  |  | 3198|  2.45k|		}                                                            \
  |  | 3199|  2.45k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3406|  2.45k|	if (yaml) {
  ------------------
  |  Branch (3406:6): [True: 0, False: 2.45k]
  ------------------
 3407|      0|		ADD_STRING(target, "LLQ-ERROR: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3408|  2.45k|	} else {
 3409|  2.45k|		ADD_STRING(target, "Error: ");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3410|  2.45k|	}
 3411|  2.45k|	snprintf(buf, sizeof(buf), "%u", u);
 3412|  2.45k|	ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3413|       |
 3414|  2.45k|	q = isc_buffer_getuint32(optbuf);
 3415|  2.45k|	q <<= 32;
 3416|  2.45k|	q |= isc_buffer_getuint32(optbuf);
 3417|  2.45k|	ADD_STRING(target, sep2);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3418|  2.45k|	INDENT(style);
  ------------------
  |  | 3191|  2.45k|	do {                                                                 \
  |  | 3192|  2.45k|		unsigned int __i;                                            \
  |  | 3193|  2.45k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  2.45k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  2.45k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3195|  2.45k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  2.45k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3196|  2.45k|		{                                                            \
  |  | 3197|  2.45k|			break;                                               \
  |  | 3198|  2.45k|		}                                                            \
  |  | 3199|  2.45k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3419|  2.45k|	if (yaml) {
  ------------------
  |  Branch (3419:6): [True: 0, False: 2.45k]
  ------------------
 3420|      0|		ADD_STRING(target, "LLQ-ID: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3421|  2.45k|	} else {
 3422|  2.45k|		ADD_STRING(target, "Identifier: ");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3423|  2.45k|	}
 3424|  2.45k|	snprintf(buf, sizeof(buf), "%" PRIu64, q);
 3425|  2.45k|	ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3426|       |
 3427|  2.45k|	u = isc_buffer_getuint32(optbuf);
 3428|  2.45k|	ADD_STRING(target, sep2);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3429|  2.45k|	INDENT(style);
  ------------------
  |  | 3191|  2.45k|	do {                                                                 \
  |  | 3192|  2.45k|		unsigned int __i;                                            \
  |  | 3193|  2.45k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  2.45k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  2.45k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3195|  2.45k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  2.45k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 2.45k, False: 0]
  |  |  ------------------
  |  | 3196|  2.45k|		{                                                            \
  |  | 3197|  2.45k|			break;                                               \
  |  | 3198|  2.45k|		}                                                            \
  |  | 3199|  2.45k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3430|  2.45k|	if (yaml) {
  ------------------
  |  Branch (3430:6): [True: 0, False: 2.45k]
  ------------------
 3431|      0|		ADD_STRING(target, "LLQ-LEASE: ");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3432|  2.45k|	} else {
 3433|  2.45k|		ADD_STRING(target, "Lifetime: ");
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3434|  2.45k|	}
 3435|  2.45k|	snprintf(buf, sizeof(buf), "%u", u);
 3436|  2.45k|	ADD_STRING(target, buf);
  ------------------
  |  |   97|  2.45k|	{                                                         \
  |  |   98|  2.45k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  2.45k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 2.45k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  2.45k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  2.45k|	}
  ------------------
 3437|       |
 3438|  2.45k|cleanup:
 3439|  2.45k|	msg->indent.count = count;
 3440|  2.45k|	return result;
 3441|  2.45k|}
message.c:render_ecs:
 3299|  11.9k|render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target) {
 3300|  11.9k|	int i;
 3301|  11.9k|	char addr[16] = { 0 }, addr_text[64];
 3302|  11.9k|	uint16_t family;
 3303|  11.9k|	uint8_t addrlen, addrbytes, scopelen;
 3304|  11.9k|	isc_result_t result;
 3305|       |
 3306|       |	/*
 3307|       |	 * Note: This routine needs to handle malformed ECS options.
 3308|       |	 */
 3309|       |
 3310|  11.9k|	if (isc_buffer_remaininglength(ecsbuf) < 4) {
  ------------------
  |  |  160|  11.9k|#define isc_buffer_remaininglength(b) ((b)->used - (b)->current)   /* d-b */
  ------------------
  |  Branch (3310:6): [True: 0, False: 11.9k]
  ------------------
 3311|      0|		return DNS_R_OPTERR;
 3312|      0|	}
 3313|  11.9k|	family = isc_buffer_getuint16(ecsbuf);
 3314|  11.9k|	addrlen = isc_buffer_getuint8(ecsbuf);
 3315|  11.9k|	scopelen = isc_buffer_getuint8(ecsbuf);
 3316|       |
 3317|  11.9k|	addrbytes = (addrlen + 7) / 8;
 3318|  11.9k|	if (isc_buffer_remaininglength(ecsbuf) < addrbytes) {
  ------------------
  |  |  160|  11.9k|#define isc_buffer_remaininglength(b) ((b)->used - (b)->current)   /* d-b */
  ------------------
  |  Branch (3318:6): [True: 0, False: 11.9k]
  ------------------
 3319|      0|		return DNS_R_OPTERR;
 3320|      0|	}
 3321|       |
 3322|  11.9k|	if (addrbytes > sizeof(addr)) {
  ------------------
  |  Branch (3322:6): [True: 0, False: 11.9k]
  ------------------
 3323|      0|		return DNS_R_OPTERR;
 3324|      0|	}
 3325|       |
 3326|  25.4k|	for (i = 0; i < addrbytes; i++) {
  ------------------
  |  Branch (3326:14): [True: 13.4k, False: 11.9k]
  ------------------
 3327|  13.4k|		addr[i] = isc_buffer_getuint8(ecsbuf);
 3328|  13.4k|	}
 3329|       |
 3330|  11.9k|	switch (family) {
 3331|  4.04k|	case 0:
  ------------------
  |  Branch (3331:2): [True: 4.04k, False: 7.95k]
  ------------------
 3332|  4.04k|		if (addrlen != 0U || scopelen != 0U) {
  ------------------
  |  Branch (3332:7): [True: 0, False: 4.04k]
  |  Branch (3332:24): [True: 0, False: 4.04k]
  ------------------
 3333|      0|			return DNS_R_OPTERR;
 3334|      0|		}
 3335|  4.04k|		strlcpy(addr_text, "0", sizeof(addr_text));
 3336|  4.04k|		break;
 3337|  2.22k|	case 1:
  ------------------
  |  Branch (3337:2): [True: 2.22k, False: 9.77k]
  ------------------
 3338|  2.22k|		if (addrlen > 32 || scopelen > 32) {
  ------------------
  |  Branch (3338:7): [True: 0, False: 2.22k]
  |  Branch (3338:23): [True: 0, False: 2.22k]
  ------------------
 3339|      0|			return DNS_R_OPTERR;
 3340|      0|		}
 3341|  2.22k|		inet_ntop(AF_INET, addr, addr_text, sizeof(addr_text));
 3342|  2.22k|		break;
 3343|  5.73k|	case 2:
  ------------------
  |  Branch (3343:2): [True: 5.73k, False: 6.26k]
  ------------------
 3344|  5.73k|		if (addrlen > 128 || scopelen > 128) {
  ------------------
  |  Branch (3344:7): [True: 0, False: 5.73k]
  |  Branch (3344:24): [True: 0, False: 5.73k]
  ------------------
 3345|      0|			return DNS_R_OPTERR;
 3346|      0|		}
 3347|  5.73k|		inet_ntop(AF_INET6, addr, addr_text, sizeof(addr_text));
 3348|  5.73k|		break;
 3349|      0|	default:
  ------------------
  |  Branch (3349:2): [True: 0, False: 11.9k]
  ------------------
 3350|      0|		return DNS_R_OPTERR;
 3351|  11.9k|	}
 3352|       |
 3353|  11.9k|	ADD_STRING(target, " ");
  ------------------
  |  |   97|  11.9k|	{                                                         \
  |  |   98|  11.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  11.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 11.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  11.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  11.9k|	}
  ------------------
 3354|  11.9k|	ADD_STRING(target, addr_text);
  ------------------
  |  |   97|  11.9k|	{                                                         \
  |  |   98|  11.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  11.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 11.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  11.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  11.9k|	}
  ------------------
 3355|  11.9k|	snprintf(addr_text, sizeof(addr_text), "/%d/%d", addrlen, scopelen);
 3356|  11.9k|	ADD_STRING(target, addr_text);
  ------------------
  |  |   97|  11.9k|	{                                                         \
  |  |   98|  11.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  11.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 11.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  11.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  11.9k|	}
  ------------------
 3357|       |
 3358|  11.9k|	result = ISC_R_SUCCESS;
 3359|       |
 3360|  11.9k|cleanup:
 3361|  11.9k|	return result;
 3362|  11.9k|}
message.c:render_nameopt:
 3466|  2.52k|render_nameopt(isc_buffer_t *optbuf, bool yaml, isc_buffer_t *target) {
 3467|  2.52k|	dns_decompress_t dctx = DNS_DECOMPRESS_NEVER;
 3468|  2.52k|	dns_fixedname_t fixed;
 3469|  2.52k|	dns_name_t *name = dns_fixedname_initname(&fixed);
 3470|  2.52k|	char namebuf[DNS_NAME_FORMATSIZE];
 3471|  2.52k|	isc_result_t result;
 3472|       |
 3473|  2.52k|	result = dns_name_fromwire(name, optbuf, dctx, NULL);
 3474|  2.52k|	if (result == ISC_R_SUCCESS && isc_buffer_activelength(optbuf) == 0) {
  ------------------
  |  |  161|  1.65k|#define isc_buffer_activelength(b)    ((b)->active - (b)->current) /* c-b */
  ------------------
  |  Branch (3474:6): [True: 1.65k, False: 864]
  |  Branch (3474:33): [True: 1.38k, False: 271]
  ------------------
 3475|  1.38k|		dns_name_format(name, namebuf, sizeof(namebuf));
 3476|  1.38k|		ADD_STRING(target, " \"");
  ------------------
  |  |   97|  1.38k|	{                                                         \
  |  |   98|  1.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.38k|	}
  ------------------
 3477|  1.38k|		if (yaml) {
  ------------------
  |  Branch (3477:7): [True: 0, False: 1.38k]
  ------------------
 3478|      0|			PUT_YAMLSTR(target, (unsigned char *)namebuf,
  ------------------
  |  |  105|      0|	{                                                          \
  |  |  106|      0|		result = put_yamlstr(target, namebuf, len, utfok); \
  |  |  107|      0|		if (result != ISC_R_SUCCESS) {                     \
  |  |  ------------------
  |  |  |  Branch (107:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  108|      0|			goto cleanup;                              \
  |  |  109|      0|		}                                                  \
  |  |  110|      0|	}
  ------------------
 3479|      0|				    strlen(namebuf), false);
 3480|  1.38k|		} else {
 3481|  1.38k|			ADD_STRING(target, namebuf);
  ------------------
  |  |   97|  1.38k|	{                                                         \
  |  |   98|  1.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.38k|	}
  ------------------
 3482|  1.38k|		}
 3483|  1.38k|		ADD_STRING(target, "\"");
  ------------------
  |  |   97|  1.38k|	{                                                         \
  |  |   98|  1.38k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  1.38k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 1.38k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  1.38k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  1.38k|	}
  ------------------
 3484|  1.38k|		return result;
 3485|  1.38k|	}
 3486|  1.13k|	result = ISC_R_FAILURE;
 3487|  1.13k|cleanup:
 3488|  1.13k|	return result;
 3489|  1.13k|}
message.c:render_zoneversion:
 3514|  24.5k|		   const dns_master_style_t *style, isc_buffer_t *target) {
 3515|  24.5k|	isc_result_t result = ISC_R_SUCCESS;
 3516|  24.5k|	unsigned int labels = isc_buffer_getuint8(optbuf);
 3517|  24.5k|	unsigned int type = isc_buffer_getuint8(optbuf);
 3518|  24.5k|	char buf[sizeof("4000000000")];
 3519|  24.5k|	char namebuf[DNS_NAME_FORMATSIZE];
 3520|  24.5k|	dns_name_t *name = ISC_LIST_HEAD(msg->sections[DNS_SECTION_QUESTION]);
  ------------------
  |  |   62|  24.5k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 3521|  24.5k|	dns_name_t suffix = DNS_NAME_INITEMPTY;
  ------------------
  |  |  183|  24.5k|	{ .magic = DNS_NAME_MAGIC,      \
  |  |  ------------------
  |  |  |  |  121|  24.5k|#define DNS_NAME_MAGIC	  ISC_MAGIC('D', 'N', 'S', 'n')
  |  |  |  |  ------------------
  |  |  |  |  |  |   31|  24.5k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  184|  24.5k|	  .link = ISC_LINK_INITIALIZER, \
  |  |  ------------------
  |  |  |  |   30|  24.5k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  |  |  ------------------
  |  |  |  |  |  |   26|  24.5k|	{                                         \
  |  |  |  |  |  |   27|  24.5k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  24.5k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   28|  24.5k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  24.5k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   29|  24.5k|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  185|  24.5k|	  .list = ISC_LIST_INITIALIZER }
  |  |  ------------------
  |  |  |  |   21|  24.5k|	{                     \
  |  |  |  |   22|  24.5k|		.head = NULL, \
  |  |  |  |   23|  24.5k|		.tail = NULL, \
  |  |  |  |   24|  24.5k|	}
  |  |  ------------------
  ------------------
 3522|  24.5k|	bool yaml = false, rawmode = false;
 3523|  24.5k|	const char *sep1 = " ", *sep2 = ", ";
 3524|       |
 3525|  24.5k|	if ((dns_master_styleflags(style) & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|  24.5k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (3525:6): [True: 0, False: 24.5k]
  ------------------
 3526|      0|		msg->indent.count++;
 3527|      0|		sep1 = sep2 = "\n";
 3528|      0|		yaml = true;
 3529|      0|	}
 3530|       |
 3531|  24.5k|	ADD_STRING(target, sep1);
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3532|       |
 3533|  24.5k|	if (msg->counts[DNS_SECTION_QUESTION] != 1 || name == NULL ||
  ------------------
  |  Branch (3533:6): [True: 22.5k, False: 2.03k]
  |  Branch (3533:48): [True: 0, False: 2.03k]
  ------------------
 3534|  2.03k|	    dns_name_countlabels(name) < labels + 1)
  ------------------
  |  Branch (3534:6): [True: 1.45k, False: 581]
  ------------------
 3535|  23.9k|	{
 3536|  23.9k|		rawmode = true;
 3537|  23.9k|		INDENT(style);
  ------------------
  |  | 3191|  23.9k|	do {                                                                 \
  |  | 3192|  23.9k|		unsigned int __i;                                            \
  |  | 3193|  23.9k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  23.9k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  23.9k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 23.9k, False: 0]
  |  |  ------------------
  |  | 3195|  23.9k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  23.9k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 23.9k, False: 0]
  |  |  ------------------
  |  | 3196|  23.9k|		{                                                            \
  |  | 3197|  23.9k|			break;                                               \
  |  | 3198|  23.9k|		}                                                            \
  |  | 3199|  23.9k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3538|  23.9k|		ADD_STRING(target, "LABELS: ");
  ------------------
  |  |   97|  23.9k|	{                                                         \
  |  |   98|  23.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  23.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 23.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  23.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  23.9k|	}
  ------------------
 3539|  23.9k|		snprintf(buf, sizeof(buf), "%u", labels);
 3540|  23.9k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  23.9k|	{                                                         \
  |  |   98|  23.9k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  23.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 23.9k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  23.9k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  23.9k|	}
  ------------------
 3541|  23.9k|	} else {
 3542|    581|		dns_name_split(name, labels + 1, NULL, &suffix);
 3543|    581|		dns_name_format(&suffix, namebuf, sizeof(namebuf));
 3544|       |
 3545|    581|		INDENT(style);
  ------------------
  |  | 3191|    581|	do {                                                                 \
  |  | 3192|    581|		unsigned int __i;                                            \
  |  | 3193|    581|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|    581|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|    581|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 581, False: 0]
  |  |  ------------------
  |  | 3195|    581|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|    581|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 581, False: 0]
  |  |  ------------------
  |  | 3196|    581|		{                                                            \
  |  | 3197|    581|			break;                                               \
  |  | 3198|    581|		}                                                            \
  |  | 3199|    581|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3546|    581|		ADD_STRING(target, "ZONE: ");
  ------------------
  |  |   97|    581|	{                                                         \
  |  |   98|    581|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|    581|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 581]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|    581|			isc_buffer_putstr(b, s);                  \
  |  |  103|    581|	}
  ------------------
 3547|    581|		if (yaml) {
  ------------------
  |  Branch (3547:7): [True: 0, False: 581]
  ------------------
 3548|      0|			ADD_STRING(target, "\"");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3549|      0|			PUT_YAMLSTR(target, (unsigned char *)namebuf,
  ------------------
  |  |  105|      0|	{                                                          \
  |  |  106|      0|		result = put_yamlstr(target, namebuf, len, utfok); \
  |  |  107|      0|		if (result != ISC_R_SUCCESS) {                     \
  |  |  ------------------
  |  |  |  Branch (107:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  108|      0|			goto cleanup;                              \
  |  |  109|      0|		}                                                  \
  |  |  110|      0|	}
  ------------------
 3550|      0|				    strlen(namebuf), false);
 3551|      0|			ADD_STRING(target, "\"");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3552|    581|		} else {
 3553|    581|			ADD_STRING(target, namebuf);
  ------------------
  |  |   97|    581|	{                                                         \
  |  |   98|    581|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|    581|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 581]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|    581|			isc_buffer_putstr(b, s);                  \
  |  |  103|    581|	}
  ------------------
 3554|    581|		}
 3555|    581|	}
 3556|  24.5k|	ADD_STRING(target, sep2);
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3557|       |
 3558|  24.5k|	if (!rawmode && type == 0 && isc_buffer_remaininglength(optbuf) == 4) {
  ------------------
  |  |  160|    147|#define isc_buffer_remaininglength(b) ((b)->used - (b)->current)   /* d-b */
  ------------------
  |  Branch (3558:6): [True: 581, False: 23.9k]
  |  Branch (3558:18): [True: 147, False: 434]
  |  Branch (3558:31): [True: 25, False: 122]
  ------------------
 3559|     25|		uint32_t serial = isc_buffer_getuint32(optbuf);
 3560|     25|		INDENT(style);
  ------------------
  |  | 3191|     25|	do {                                                                 \
  |  | 3192|     25|		unsigned int __i;                                            \
  |  | 3193|     25|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|     25|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|     25|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 25, False: 0]
  |  |  ------------------
  |  | 3195|     25|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|     25|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 25, False: 0]
  |  |  ------------------
  |  | 3196|     25|		{                                                            \
  |  | 3197|     25|			break;                                               \
  |  | 3198|     25|		}                                                            \
  |  | 3199|     25|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3561|     25|		ADD_STRING(target, "SOA-SERIAL: ");
  ------------------
  |  |   97|     25|	{                                                         \
  |  |   98|     25|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|     25|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 25]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|     25|			isc_buffer_putstr(b, s);                  \
  |  |  103|     25|	}
  ------------------
 3562|     25|		snprintf(buf, sizeof(buf), "%u", serial);
 3563|     25|		ADD_STRING(target, buf);
  ------------------
  |  |   97|     25|	{                                                         \
  |  |   98|     25|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|     25|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 25]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|     25|			isc_buffer_putstr(b, s);                  \
  |  |  103|     25|	}
  ------------------
 3564|  24.5k|	} else {
 3565|  24.5k|		size_t len = isc_buffer_remaininglength(optbuf);
  ------------------
  |  |  160|  24.5k|#define isc_buffer_remaininglength(b) ((b)->used - (b)->current)   /* d-b */
  ------------------
 3566|  24.5k|		unsigned char *data = isc_buffer_current(optbuf);
  ------------------
  |  |  146|  24.5k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
 3567|  24.5k|		INDENT(style);
  ------------------
  |  | 3191|  24.5k|	do {                                                                 \
  |  | 3192|  24.5k|		unsigned int __i;                                            \
  |  | 3193|  24.5k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  24.5k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  24.5k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 24.5k, False: 0]
  |  |  ------------------
  |  | 3195|  24.5k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  24.5k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 24.5k, False: 0]
  |  |  ------------------
  |  | 3196|  24.5k|		{                                                            \
  |  | 3197|  24.5k|			break;                                               \
  |  | 3198|  24.5k|		}                                                            \
  |  | 3199|  24.5k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3568|  24.5k|		ADD_STRING(target, "TYPE: ");
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3569|  24.5k|		snprintf(buf, sizeof(buf), "%u", type);
 3570|  24.5k|		ADD_STRING(target, buf);
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3571|  24.5k|		ADD_STRING(target, sep2);
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3572|  24.5k|		INDENT(style);
  ------------------
  |  | 3191|  24.5k|	do {                                                                 \
  |  | 3192|  24.5k|		unsigned int __i;                                            \
  |  | 3193|  24.5k|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|  24.5k|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|  24.5k|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 24.5k, False: 0]
  |  |  ------------------
  |  | 3195|  24.5k|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|  24.5k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 24.5k, False: 0]
  |  |  ------------------
  |  | 3196|  24.5k|		{                                                            \
  |  | 3197|  24.5k|			break;                                               \
  |  | 3198|  24.5k|		}                                                            \
  |  | 3199|  24.5k|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3573|  24.5k|		ADD_STRING(target, "VALUE: ");
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3574|   219M|		for (size_t i = 0; i < len; i++) {
  ------------------
  |  Branch (3574:22): [True: 219M, False: 24.5k]
  ------------------
 3575|   219M|			snprintf(buf, sizeof(buf), "%02x", data[i]);
 3576|   219M|			ADD_STRING(target, buf);
  ------------------
  |  |   97|   219M|	{                                                         \
  |  |   98|   219M|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   219M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 1, False: 219M]
  |  |  ------------------
  |  |   99|      1|			result = ISC_R_NOSPACE;                   \
  |  |  100|      1|			goto cleanup;                             \
  |  |  101|      1|		} else                                            \
  |  |  102|   219M|			isc_buffer_putstr(b, s);                  \
  |  |  103|   219M|	}
  ------------------
 3577|   219M|		}
 3578|  24.5k|		if (yaml) {
  ------------------
  |  Branch (3578:7): [True: 0, False: 24.5k]
  ------------------
 3579|      0|			ADD_STRING(target, sep2);
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3580|      0|			INDENT(style);
  ------------------
  |  | 3191|      0|	do {                                                                 \
  |  | 3192|      0|		unsigned int __i;                                            \
  |  | 3193|      0|		dns_masterstyle_flags_t __flags = dns_master_styleflags(sp); \
  |  | 3194|      0|		if ((__flags & DNS_STYLEFLAG_INDENT) == 0ULL &&              \
  |  |  ------------------
  |  |  |  |  104|      0|#define DNS_STYLEFLAG_INDENT 0x040000000ULL
  |  |  ------------------
  |  |  |  Branch (3194:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3195|      0|		    (__flags & DNS_STYLEFLAG_YAML) == 0ULL)                  \
  |  |  ------------------
  |  |  |  |  107|      0|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  |  |  ------------------
  |  |  |  Branch (3195:7): [True: 0, False: 0]
  |  |  ------------------
  |  | 3196|      0|		{                                                            \
  |  | 3197|      0|			break;                                               \
  |  | 3198|      0|		}                                                            \
  |  | 3199|      0|		for (__i = 0; __i < msg->indent.count; __i++) {              \
  |  |  ------------------
  |  |  |  Branch (3199:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 3200|      0|			ADD_STRING(target, msg->indent.string);              \
  |  |  ------------------
  |  |  |  |   97|      0|	{                                                         \
  |  |  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  |  |  100|      0|			goto cleanup;                             \
  |  |  |  |  101|      0|		} else                                            \
  |  |  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  |  |  103|      0|	}
  |  |  ------------------
  |  | 3201|      0|		}                                                            \
  |  | 3202|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (3202:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 3581|      0|			ADD_STRING(target, "PVALUE: \"");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3582|      0|			PUT_YAMLSTR(target, data, len, false);
  ------------------
  |  |  105|      0|	{                                                          \
  |  |  106|      0|		result = put_yamlstr(target, namebuf, len, utfok); \
  |  |  107|      0|		if (result != ISC_R_SUCCESS) {                     \
  |  |  ------------------
  |  |  |  Branch (107:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  108|      0|			goto cleanup;                              \
  |  |  109|      0|		}                                                  \
  |  |  110|      0|	}
  ------------------
 3583|      0|			ADD_STRING(target, "\"");
  ------------------
  |  |   97|      0|	{                                                         \
  |  |   98|      0|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 0]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|      0|			isc_buffer_putstr(b, s);                  \
  |  |  103|      0|	}
  ------------------
 3584|  24.5k|		} else {
 3585|  24.5k|			ADD_STRING(target, " (\"");
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3586|   219M|			for (size_t i = 0; i < len; i++) {
  ------------------
  |  Branch (3586:23): [True: 219M, False: 24.5k]
  ------------------
 3587|   219M|				if (isprint(data[i])) {
  ------------------
  |  Branch (3587:9): [True: 16.8M, False: 202M]
  ------------------
 3588|  16.8M|					if (isc_buffer_availablelength(target) <
  ------------------
  |  |  162|  16.8M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (3588:10): [True: 0, False: 16.8M]
  ------------------
 3589|  16.8M|					    1)
 3590|      0|					{
 3591|      0|						CLEANUP(ISC_R_NOSPACE);
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
 3592|      0|					}
 3593|  16.8M|					isc_buffer_putmem(target, &data[i], 1);
 3594|   202M|				} else {
 3595|   202M|					ADD_STRING(target, ".");
  ------------------
  |  |   97|   202M|	{                                                         \
  |  |   98|   202M|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|   202M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 1, False: 202M]
  |  |  ------------------
  |  |   99|      1|			result = ISC_R_NOSPACE;                   \
  |  |  100|      1|			goto cleanup;                             \
  |  |  101|      1|		} else                                            \
  |  |  102|   202M|			isc_buffer_putstr(b, s);                  \
  |  |  103|   202M|	}
  ------------------
 3596|   202M|				}
 3597|   219M|			}
 3598|  24.5k|			ADD_STRING(target, "\")");
  ------------------
  |  |   97|  24.5k|	{                                                         \
  |  |   98|  24.5k|		if (strlen(s) >= isc_buffer_availablelength(b)) { \
  |  |  ------------------
  |  |  |  |  162|  24.5k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  |  |  ------------------
  |  |  |  Branch (98:7): [True: 0, False: 24.5k]
  |  |  ------------------
  |  |   99|      0|			result = ISC_R_NOSPACE;                   \
  |  |  100|      0|			goto cleanup;                             \
  |  |  101|      0|		} else                                            \
  |  |  102|  24.5k|			isc_buffer_putstr(b, s);                  \
  |  |  103|  24.5k|	}
  ------------------
 3599|  24.5k|		}
 3600|  24.5k|		isc_buffer_forward(optbuf, len);
 3601|  24.5k|	}
 3602|  24.5k|cleanup:
 3603|  24.5k|	return result;
 3604|  24.5k|}
message.c:msgresetedns:
  519|  22.3k|msgresetedns(dns_message_t *msg) {
  520|  22.3k|	if (msg->edns.opts != NULL) {
  ------------------
  |  Branch (520:6): [True: 0, False: 22.3k]
  ------------------
  521|      0|		INSIST(msg->edns.maxopts != 0);
  ------------------
  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  522|      0|		for (size_t i = 0; i < msg->edns.count; i++) {
  ------------------
  |  Branch (522:22): [True: 0, False: 0]
  ------------------
  523|      0|			if (msg->edns.opts[i].value != NULL) {
  ------------------
  |  Branch (523:8): [True: 0, False: 0]
  ------------------
  524|      0|				isc_mem_put(msg->mctx, msg->edns.opts[i].value,
  ------------------
  |  |  171|      0|	do {                                                      \
  |  |  172|      0|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|      0|		(p) = NULL;                                       \
  |  |  174|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  525|      0|					    msg->edns.opts[i].length);
  526|      0|			}
  527|      0|		}
  528|       |		isc_mem_cput(msg->mctx, msg->edns.opts,
  ------------------
  |  |  176|      0|	do {                                                      \
  |  |  177|      0|		isc__mem_put((c), (p), ISC_CHECKED_MUL((n), (s)), \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  178|      0|			     ISC_MEM_ZERO _ISC_MEM_FILELINE);     \
  |  |  ------------------
  |  |  |  |  142|      0|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  |  |  179|      0|		(p) = NULL;                                       \
  |  |  180|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (180:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  529|      0|			     (size_t)msg->edns.maxopts, sizeof(dns_ednsopt_t));
  530|      0|	}
  531|  22.3k|	msg->edns.maxopts = 0;
  532|  22.3k|	msg->edns.count = 0;
  533|  22.3k|}

dns_name_isabsolute:
  134|   235k|dns_name_isabsolute(const dns_name_t *name) {
  135|       |	/*
  136|       |	 * Does 'name' end in the root label?
  137|       |	 */
  138|       |
  139|   235k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   235k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   471k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 235k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 235k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   235k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  140|       |
  141|   235k|	return name->attributes.absolute;
  142|   235k|}
dns_name_hash:
  314|   237k|dns_name_hash(const dns_name_t *name) {
  315|   237k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   237k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   475k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 237k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 237k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   237k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  316|       |
  317|       |	return isc_hash32(name->ndata, name->length, false);
  318|   237k|}
dns_name_equal:
  437|   206k|dns_name_equal(const dns_name_t *name1, const dns_name_t *name2) {
  438|   206k|	unsigned int length;
  439|       |
  440|       |	/*
  441|       |	 * Are 'name1' and 'name2' equal?
  442|       |	 *
  443|       |	 * Note: It makes no sense for one of the names to be relative and the
  444|       |	 * other absolute.  If both names are relative, then to be meaningfully
  445|       |	 * compared the caller must ensure that they are both relative to the
  446|       |	 * same domain.
  447|       |	 */
  448|       |
  449|   206k|	REQUIRE(DNS_NAME_VALID(name1));
  ------------------
  |  |  198|   206k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   413k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 206k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 206k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   206k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  450|   206k|	REQUIRE(DNS_NAME_VALID(name2));
  ------------------
  |  |  198|   206k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   413k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 206k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 206k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   206k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  451|       |	/*
  452|       |	 * Either name1 is absolute and name2 is absolute, or neither is.
  453|       |	 */
  454|   206k|	REQUIRE((name1->attributes.absolute) == (name2->attributes.absolute));
  ------------------
  |  |  198|   206k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   206k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 206k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   206k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  455|       |
  456|   206k|	if (name1 == name2) {
  ------------------
  |  Branch (456:6): [True: 0, False: 206k]
  ------------------
  457|      0|		return true;
  458|      0|	}
  459|       |
  460|   206k|	length = name1->length;
  461|   206k|	if (length != name2->length) {
  ------------------
  |  Branch (461:6): [True: 0, False: 206k]
  ------------------
  462|      0|		return false;
  463|      0|	}
  464|       |
  465|       |	/* label lengths are < 64 so tolower() does not affect them */
  466|   206k|	return isc_ascii_lowerequal(name1->ndata, name2->ndata, length);
  467|   206k|}
dns_name_rdatacompare:
  499|  8.16k|dns_name_rdatacompare(const dns_name_t *name1, const dns_name_t *name2) {
  500|       |	/*
  501|       |	 * Compare two absolute names as rdata.
  502|       |	 */
  503|       |
  504|  8.16k|	REQUIRE(DNS_NAME_VALID(name1));
  ------------------
  |  |  198|  8.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  16.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8.16k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  505|  8.16k|	REQUIRE(name1->length > 0);
  ------------------
  |  |  198|  8.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  506|  8.16k|	REQUIRE(name1->attributes.absolute);
  ------------------
  |  |  198|  8.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  507|  8.16k|	REQUIRE(DNS_NAME_VALID(name2));
  ------------------
  |  |  198|  8.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  16.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8.16k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  508|  8.16k|	REQUIRE(name2->length > 0);
  ------------------
  |  |  198|  8.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  509|  8.16k|	REQUIRE(name2->attributes.absolute);
  ------------------
  |  |  198|  8.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  8.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  510|       |
  511|       |	/* label lengths are < 64 so tolower() does not affect them */
  512|  8.16k|	return isc_ascii_lowercmp(name1->ndata, name2->ndata,
  513|  8.16k|				  ISC_MIN(name1->length, name2->length));
  ------------------
  |  |   77|  8.16k|#define ISC_MIN(a, b) ((a) < (b) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (77:24): [True: 929, False: 7.23k]
  |  |  ------------------
  ------------------
  514|  8.16k|}
dns_name_getlabel:
  565|  4.67k|dns_name_getlabel(const dns_name_t *name, unsigned int n, dns_label_t *label) {
  566|  4.67k|	dns_offsets_t offsets;
  567|       |
  568|       |	/*
  569|       |	 * Make 'label' refer to the 'n'th least significant label of 'name'.
  570|       |	 */
  571|       |
  572|  4.67k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  4.67k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.35k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 4.67k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 4.67k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.67k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  573|  4.67k|	REQUIRE(label != NULL);
  ------------------
  |  |  198|  4.67k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.67k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.67k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.67k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  574|       |
  575|  4.67k|	uint8_t labels = dns_name_offsets(name, offsets);
  576|       |
  577|  4.67k|	REQUIRE(labels > 0);
  ------------------
  |  |  198|  4.67k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.67k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.67k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.67k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  578|  4.67k|	REQUIRE(n < labels);
  ------------------
  |  |  198|  4.67k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.67k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.67k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.67k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  579|       |
  580|  4.67k|	label->base = &name->ndata[offsets[n]];
  581|  4.67k|	if (n == (unsigned int)labels - 1) {
  ------------------
  |  Branch (581:6): [True: 3.25k, False: 1.42k]
  ------------------
  582|  3.25k|		label->length = name->length - offsets[n];
  583|  3.25k|	} else {
  584|  1.42k|		label->length = offsets[n + 1] - offsets[n];
  585|  1.42k|	}
  586|  4.67k|}
dns_name_getlabelsequence:
  590|    581|			  unsigned int n, dns_name_t *target) {
  591|    581|	unsigned char *p, l;
  592|    581|	unsigned int firstoffset, endoffset;
  593|    581|	unsigned int i;
  594|       |
  595|       |	/*
  596|       |	 * Make 'target' refer to the 'n' labels including and following
  597|       |	 * 'first' in 'source'.
  598|       |	 */
  599|       |
  600|    581|	REQUIRE(DNS_NAME_VALID(source));
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  601|    581|	REQUIRE(DNS_NAME_VALID(target));
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  602|    581|	REQUIRE(DNS_NAME_BINDABLE(target));
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  603|       |
  604|    581|	uint8_t labels = dns_name_countlabels(source);
  605|    581|	REQUIRE(first <= labels && n <= labels - first);
  ------------------
  |  |  198|    581|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 581, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    581|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  606|       |
  607|    581|	p = source->ndata;
  608|    581|	if (first == labels) {
  ------------------
  |  Branch (608:6): [True: 0, False: 581]
  ------------------
  609|      0|		firstoffset = source->length;
  610|    581|	} else {
  611|  1.75k|		for (i = 0; i < first; i++) {
  ------------------
  |  Branch (611:15): [True: 1.17k, False: 581]
  ------------------
  612|  1.17k|			l = *p;
  613|  1.17k|			p += l + 1;
  614|  1.17k|		}
  615|    581|		firstoffset = (unsigned int)(p - source->ndata);
  616|    581|	}
  617|       |
  618|    581|	if (first + n == labels) {
  ------------------
  |  Branch (618:6): [True: 581, False: 0]
  ------------------
  619|    581|		endoffset = source->length;
  620|    581|	} else {
  621|      0|		for (i = 0; i < n; i++) {
  ------------------
  |  Branch (621:15): [True: 0, False: 0]
  ------------------
  622|      0|			l = *p;
  623|      0|			p += l + 1;
  624|      0|		}
  625|      0|		endoffset = (unsigned int)(p - source->ndata);
  626|      0|	}
  627|       |
  628|    581|	target->ndata = &source->ndata[firstoffset];
  629|    581|	target->length = endoffset - firstoffset;
  630|       |
  631|    581|	if (first + n == labels && n > 0 && source->attributes.absolute) {
  ------------------
  |  Branch (631:6): [True: 581, False: 0]
  |  Branch (631:29): [True: 581, False: 0]
  |  Branch (631:38): [True: 581, False: 0]
  ------------------
  632|    581|		target->attributes.absolute = true;
  633|    581|	} else {
  634|       |		target->attributes.absolute = false;
  635|      0|	}
  636|    581|}
dns_name_fromregion:
  656|   465k|dns_name_fromregion(dns_name_t *name, const isc_region_t *r) {
  657|   465k|	size_t length;
  658|   465k|	isc_region_t r2 = { .base = NULL, .length = 0 };
  659|       |
  660|       |	/*
  661|       |	 * Make 'name' refer to region 'r'.
  662|       |	 */
  663|       |
  664|   465k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   465k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   931k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 465k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 465k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   465k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  665|   465k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   465k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   465k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 465k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   465k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  666|   465k|	REQUIRE(DNS_NAME_BINDABLE(name));
  ------------------
  |  |  198|   465k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   931k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 465k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 465k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   465k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  667|       |
  668|   465k|	name->ndata = r->base;
  669|   465k|	if (name->buffer != NULL) {
  ------------------
  |  Branch (669:6): [True: 0, False: 465k]
  ------------------
  670|      0|		isc_buffer_clear(name->buffer);
  671|      0|		isc_buffer_availableregion(name->buffer, &r2);
  672|      0|		length = (r->length < r2.length) ? r->length : r2.length;
  ------------------
  |  Branch (672:12): [True: 0, False: 0]
  ------------------
  673|      0|		if (length > DNS_NAME_MAXWIRE) {
  ------------------
  |  |  190|      0|#define DNS_NAME_MAXWIRE   255
  ------------------
  |  Branch (673:7): [True: 0, False: 0]
  ------------------
  674|      0|			length = DNS_NAME_MAXWIRE;
  ------------------
  |  |  190|      0|#define DNS_NAME_MAXWIRE   255
  ------------------
  675|      0|		}
  676|   465k|	} else {
  677|   465k|		length = (r->length <= DNS_NAME_MAXWIRE) ? r->length
  ------------------
  |  |  190|   465k|#define DNS_NAME_MAXWIRE   255
  ------------------
  |  Branch (677:12): [True: 138k, False: 327k]
  ------------------
  678|   465k|							 : DNS_NAME_MAXWIRE;
  ------------------
  |  |  190|   793k|#define DNS_NAME_MAXWIRE   255
  ------------------
  679|   465k|	}
  680|       |
  681|   465k|	name->attributes.absolute = false;
  682|       |
  683|   465k|	if (length > 0) {
  ------------------
  |  Branch (683:6): [True: 465k, False: 0]
  ------------------
  684|   465k|		size_t offset = 0;
  685|   465k|		uint8_t nlabels = 0;
  686|  2.79M|		while (offset != length) {
  ------------------
  |  Branch (686:10): [True: 2.79M, False: 0]
  ------------------
  687|  2.79M|			uint8_t count;
  688|       |
  689|  2.79M|			INSIST(nlabels < DNS_NAME_MAXLABELS);
  ------------------
  |  |  202|  2.79M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.79M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.79M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.79M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  690|  2.79M|			nlabels++;
  691|       |
  692|  2.79M|			count = r->base[offset];
  693|  2.79M|			INSIST(count <= DNS_NAME_LABELLEN);
  ------------------
  |  |  202|  2.79M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.79M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.79M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.79M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  694|       |
  695|  2.79M|			offset += count + 1;
  696|  2.79M|			INSIST(offset <= length);
  ------------------
  |  |  202|  2.79M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.79M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.79M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.79M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  697|       |
  698|  2.79M|			if (count == 0) {
  ------------------
  |  Branch (698:8): [True: 465k, False: 2.33M]
  ------------------
  699|   465k|				name->attributes.absolute = true;
  700|   465k|				break;
  701|   465k|			}
  702|  2.79M|		}
  703|   465k|		name->length = offset;
  704|   465k|	}
  705|       |
  706|   465k|	if (name->buffer != NULL) {
  ------------------
  |  Branch (706:6): [True: 0, False: 465k]
  ------------------
  707|       |		/*
  708|       |		 * name->length has been updated by set_offsets to the actual
  709|       |		 * length of the name data so we can now copy the actual name
  710|       |		 * data and not anything after it.
  711|       |		 */
  712|      0|		if (name->length > 0) {
  ------------------
  |  Branch (712:7): [True: 0, False: 0]
  ------------------
  713|      0|			memmove(r2.base, r->base, name->length);
  714|      0|		}
  715|      0|		name->ndata = r2.base;
  716|      0|		isc_buffer_add(name->buffer, name->length);
  717|      0|	}
  718|   465k|}
dns_name_totext:
  976|   757k|		isc_buffer_t *target) {
  977|   757k|	isc_result_t result;
  978|   757k|	unsigned char *ndata = NULL;
  979|   757k|	unsigned int nlen;
  980|   757k|	unsigned int labels;
  981|   757k|	bool saw_root = false;
  982|   757k|	unsigned int oused;
  983|   757k|	bool omit_final_dot = ((options & DNS_NAME_OMITFINALDOT) != 0);
  ------------------
  |  |  897|   757k|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  984|   757k|	bool minimal = ((options & DNS_NAME_QUOTED) != 0);
  ------------------
  |  |  899|   757k|#define DNS_NAME_QUOTED	      0x04U /* minimal escaping within double quotes */
  ------------------
  985|   757k|	bool principal = ((options & DNS_NAME_PRINCIPAL) != 0);
  ------------------
  |  |  898|   757k|#define DNS_NAME_PRINCIPAL    0x02U /* do not escape $ and @ */
  ------------------
  986|   757k|	bool first = true;
  987|       |
  988|       |	/*
  989|       |	 * This function assumes the name is in proper uncompressed
  990|       |	 * wire format.
  991|       |	 */
  992|   757k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   757k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.51M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 757k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 757k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   757k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  993|   757k|	REQUIRE(ISC_BUFFER_VALID(target));
  ------------------
  |  |  198|   757k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.51M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 757k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 757k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   757k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  994|       |
  995|   757k|	oused = target->used;
  996|       |
  997|   757k|	ndata = name->ndata;
  998|   757k|	nlen = name->length;
  999|   757k|	labels = dns_name_countlabels(name);
 1000|       |
 1001|   757k|	if (labels == 0 && nlen == 0) {
  ------------------
  |  Branch (1001:6): [True: 0, False: 757k]
  |  Branch (1001:21): [True: 0, False: 0]
  ------------------
 1002|       |		/*
 1003|       |		 * Special handling for an empty name.
 1004|       |		 */
 1005|      0|		omit_final_dot = true;
 1006|      0|		CHECK(isc_buffer_reserve(target, 1));
  ------------------
  |  |  255|      0|	{                                      \
  |  |  256|      0|		result = (r);                  \
  |  |  257|      0|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|      0|	}
  ------------------
 1007|      0|		isc_buffer_putuint8(target, '@');
 1008|       |
 1009|       |		/*
 1010|       |		 * Skip the while() loop.
 1011|       |		 */
 1012|      0|		nlen = 0;
 1013|   757k|	} else if (nlen == 1 && labels == 1 && *ndata == '\0') {
  ------------------
  |  Branch (1013:13): [True: 355k, False: 401k]
  |  Branch (1013:26): [True: 355k, False: 0]
  |  Branch (1013:41): [True: 355k, False: 0]
  ------------------
 1014|       |		/*
 1015|       |		 * Special handling for the root label.
 1016|       |		 */
 1017|   355k|		saw_root = true;
 1018|   355k|		omit_final_dot = false;
 1019|       |
 1020|       |		/*
 1021|       |		 * Skip the while() loop.
 1022|       |		 */
 1023|   355k|		nlen = 0;
 1024|   355k|	}
 1025|       |
 1026|  4.76M|	while (labels > 0 && nlen > 0) {
  ------------------
  |  Branch (1026:9): [True: 4.76M, False: 0]
  |  Branch (1026:23): [True: 4.40M, False: 355k]
  ------------------
 1027|  4.40M|		unsigned int count = *ndata++;
 1028|  4.40M|		labels--;
 1029|  4.40M|		nlen--;
 1030|  4.40M|		if (count == 0) {
  ------------------
  |  Branch (1030:7): [True: 401k, False: 4.00M]
  ------------------
 1031|   401k|			saw_root = true;
 1032|   401k|			break;
 1033|  4.00M|		} else if (!first) {
  ------------------
  |  Branch (1033:14): [True: 3.60M, False: 401k]
  ------------------
 1034|  3.60M|			CHECK(isc_buffer_reserve(target, 1));
  ------------------
  |  |  255|  3.60M|	{                                      \
  |  |  256|  3.60M|		result = (r);                  \
  |  |  257|  3.60M|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 3.60M]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|  3.60M|	}
  ------------------
 1035|  3.60M|			isc_buffer_putuint8(target, '.');
 1036|  3.60M|		}
 1037|  4.00M|		first = false;
 1038|       |
 1039|  4.00M|		if (count <= DNS_NAME_LABELLEN) {
  ------------------
  |  |  192|  4.00M|#define DNS_NAME_LABELLEN  63
  ------------------
  |  Branch (1039:7): [True: 4.00M, False: 0]
  ------------------
 1040|  4.00M|			unsigned char c;
 1041|       |
 1042|  4.00M|			INSIST(nlen >= count);
  ------------------
  |  |  202|  4.00M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  4.00M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 4.00M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  4.00M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1043|       |
 1044|  68.5M|			while (count > 0) {
  ------------------
  |  Branch (1044:11): [True: 64.5M, False: 4.00M]
  ------------------
 1045|  64.5M|				uint32_t value;
 1046|       |
 1047|  64.5M|				c = *ndata;
 1048|  64.5M|				switch (c) {
 1049|       |				/* Special modifiers in zone files. */
 1050|   413k|				case 0x40: /* '@' */
  ------------------
  |  Branch (1050:5): [True: 413k, False: 64.1M]
  ------------------
 1051|   887k|				case 0x24: /* '$' */
  ------------------
  |  Branch (1051:5): [True: 473k, False: 64.1M]
  ------------------
 1052|   887k|					if (principal) {
  ------------------
  |  Branch (1052:10): [True: 0, False: 887k]
  ------------------
 1053|      0|						goto no_escape;
 1054|      0|					}
 1055|   887k|					FALLTHROUGH;
  ------------------
  |  |  105|   887k|#define FALLTHROUGH [[fallthrough]]
  ------------------
 1056|  1.12M|				case 0x28: /* '(' */
  ------------------
  |  Branch (1056:5): [True: 236k, False: 64.3M]
  ------------------
 1057|  1.39M|				case 0x29: /* ')' */
  ------------------
  |  Branch (1057:5): [True: 275k, False: 64.3M]
  ------------------
 1058|  1.61M|				case 0x3B: /* ';' */
  ------------------
  |  Branch (1058:5): [True: 219k, False: 64.3M]
  ------------------
 1059|  1.61M|					if (minimal) {
  ------------------
  |  Branch (1059:10): [True: 0, False: 1.61M]
  ------------------
 1060|      0|						goto no_escape;
 1061|      0|					}
 1062|  1.61M|					FALLTHROUGH;
  ------------------
  |  |  105|  1.61M|#define FALLTHROUGH [[fallthrough]]
  ------------------
 1063|  1.86M|				case 0x22: /* '"' */
  ------------------
  |  Branch (1063:5): [True: 241k, False: 64.3M]
  ------------------
 1064|  2.13M|				case 0x2E: /* '.' */
  ------------------
  |  Branch (1064:5): [True: 276k, False: 64.3M]
  ------------------
 1065|  2.15M|				case 0x5C: /* '\\' */
  ------------------
  |  Branch (1065:5): [True: 14.0k, False: 64.5M]
  ------------------
 1066|  2.15M|					value = '\\' << 8 | c;
 1067|  2.15M|					CHECK(isc_buffer_reserve(target, 2));
  ------------------
  |  |  255|  2.15M|	{                                      \
  |  |  256|  2.15M|		result = (r);                  \
  |  |  257|  2.15M|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 1, False: 2.15M]
  |  |  ------------------
  |  |  258|      1|			goto cleanup;          \
  |  |  259|      1|		}                              \
  |  |  260|  2.15M|	}
  ------------------
 1068|  2.15M|					isc_buffer_putuint16(target, value);
 1069|  2.15M|					ndata++;
 1070|  2.15M|					nlen--;
 1071|  2.15M|					break;
 1072|      0|				no_escape:
 1073|  62.4M|				default:
  ------------------
  |  Branch (1073:5): [True: 62.4M, False: 2.15M]
  ------------------
 1074|  62.4M|					if ((c > 0x20 && c < 0x7f) ||
  ------------------
  |  Branch (1074:11): [True: 16.9M, False: 45.4M]
  |  Branch (1074:23): [True: 4.78M, False: 12.2M]
  ------------------
 1075|  57.6M|					    (c == 0x20 && minimal))
  ------------------
  |  Branch (1075:11): [True: 345k, False: 57.3M]
  |  Branch (1075:24): [True: 0, False: 345k]
  ------------------
 1076|  4.78M|					{
 1077|  4.78M|						CHECK(isc_buffer_reserve(target,
  ------------------
  |  |  255|  4.78M|	{                                      \
  |  |  256|  4.78M|		result = (r);                  \
  |  |  257|  4.78M|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 4.78M]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|  4.78M|	}
  ------------------
 1078|  4.78M|									 1));
 1079|  4.78M|						isc_buffer_putuint8(target, c);
 1080|  4.78M|						ndata++;
 1081|  4.78M|						nlen--;
 1082|  57.6M|					} else {
 1083|  57.6M|						value = 0x5c << 24;
 1084|  57.6M|						value |= (0x30 +
 1085|  57.6M|							  ((c / 100) % 10))
 1086|  57.6M|							 << 16;
 1087|  57.6M|						value |=
 1088|  57.6M|							(0x30 + ((c / 10) % 10))
 1089|  57.6M|							<< 8;
 1090|  57.6M|						value |= 0x30 + (c % 10);
 1091|  57.6M|						CHECK(isc_buffer_reserve(target,
  ------------------
  |  |  255|  57.6M|	{                                      \
  |  |  256|  57.6M|		result = (r);                  \
  |  |  257|  57.6M|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 6, False: 57.6M]
  |  |  ------------------
  |  |  258|      6|			goto cleanup;          \
  |  |  259|      6|		}                              \
  |  |  260|  57.6M|	}
  ------------------
 1092|  57.6M|									 4));
 1093|  57.6M|						isc_buffer_putuint32(target,
 1094|  57.6M|								     value);
 1095|  57.6M|						ndata++;
 1096|  57.6M|						nlen--;
 1097|  57.6M|					}
 1098|  64.5M|				}
 1099|  64.5M|				count--;
 1100|  64.5M|			}
 1101|  4.00M|		} else {
 1102|      0|			FATAL_ERROR("Unexpected label type %02x", count);
  ------------------
  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
 1103|      0|			UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
 1104|      0|		}
 1105|  4.00M|	}
 1106|       |
 1107|   757k|	if (saw_root && !omit_final_dot) {
  ------------------
  |  Branch (1107:6): [True: 757k, False: 0]
  |  Branch (1107:18): [True: 757k, False: 348]
  ------------------
 1108|   757k|		CHECK(isc_buffer_reserve(target, 1));
  ------------------
  |  |  255|   757k|	{                                      \
  |  |  256|   757k|		result = (r);                  \
  |  |  257|   757k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 757k]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|   757k|	}
  ------------------
 1109|   757k|		isc_buffer_putuint8(target, '.');
 1110|   757k|	}
 1111|       |
 1112|   757k|	if (isc_buffer_availablelength(target) > 1) {
  ------------------
  |  |  162|   757k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (1112:6): [True: 757k, False: 2]
  ------------------
 1113|   757k|		uint8_t *p = isc_buffer_used(target);
  ------------------
  |  |  150|   757k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1114|   757k|		*p = 0;
 1115|   757k|	}
 1116|       |
 1117|   757k|	if (totext_filter_proc != NULL) {
  ------------------
  |  Branch (1117:6): [True: 0, False: 757k]
  ------------------
 1118|      0|		return (totext_filter_proc)(target, oused);
 1119|      0|	}
 1120|       |
 1121|   757k|	return ISC_R_SUCCESS;
 1122|       |
 1123|      7|cleanup:
 1124|      7|	return result;
 1125|   757k|}
dns_name_fromwire:
 1277|  1.69M|		  const dns_decompress_t dctx, isc_buffer_t *target) {
 1278|       |	/*
 1279|       |	 * Copy the name at source into target, decompressing it.
 1280|       |	 *
 1281|       |	 *	*** WARNING ***
 1282|       |	 *
 1283|       |	 * dns_name_fromwire() deals with raw network data. An error in this
 1284|       |	 * routine could result in the failure or hijacking of the server.
 1285|       |	 *
 1286|       |	 * The description of name compression in RFC 1035 section 4.1.4 is
 1287|       |	 * subtle wrt certain edge cases. The first important sentence is:
 1288|       |	 *
 1289|       |	 * > In this scheme, an entire domain name or a list of labels at the
 1290|       |	 * > end of a domain name is replaced with a pointer to a prior
 1291|       |	 * > occurrence of the same name.
 1292|       |	 *
 1293|       |	 * The key word is "prior". This says that compression pointers must
 1294|       |	 * point strictly earlier in the message (before our "marker" variable),
 1295|       |	 * which is enough to prevent DoS attacks due to compression loops.
 1296|       |	 *
 1297|       |	 * The next important sentence is:
 1298|       |	 *
 1299|       |	 * > If a domain name is contained in a part of the message subject to a
 1300|       |	 * > length field (such as the RDATA section of an RR), and compression
 1301|       |	 * > is used, the length of the compressed name is used in the length
 1302|       |	 * > calculation, rather than the length of the expanded name.
 1303|       |	 *
 1304|       |	 * When decompressing, this means that the amount of the source buffer
 1305|       |	 * that we consumed (which is checked wrt the container's length field)
 1306|       |	 * is the length of the compressed name. A compressed name is defined as
 1307|       |	 * a sequence of labels ending with the root label or a compression
 1308|       |	 * pointer, that is, the segment of the name that dns_name_fromwire()
 1309|       |	 * examines first.
 1310|       |	 *
 1311|       |	 * This matters when handling names that play dirty tricks, like:
 1312|       |	 *
 1313|       |	 *	+---+---+---+---+---+---+
 1314|       |	 *	| 4 | 1 |'a'|192| 0 | 0 |
 1315|       |	 *	+---+---+---+---+---+---+
 1316|       |	 *
 1317|       |	 * We start at octet 1. There is an ordinary single character label "a",
 1318|       |	 * followed by a compression pointer that refers back to octet zero.
 1319|       |	 * Here there is a label of length 4, which weirdly re-uses the octets
 1320|       |	 * we already examined as the data for the label. It is followed by the
 1321|       |	 * root label,
 1322|       |	 *
 1323|       |	 * The specification says that the compressed name ends after the first
 1324|       |	 * zero octet (after the compression pointer) not the second zero octet,
 1325|       |	 * even though the second octet is later in the message. This shows the
 1326|       |	 * correct way to set our "consumed" variable.
 1327|       |	 */
 1328|       |
 1329|  1.69M|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  1.69M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.38M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.69M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.69M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.69M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1330|  1.69M|	REQUIRE(DNS_NAME_BINDABLE(name));
  ------------------
  |  |  198|  1.69M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.38M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.69M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.69M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.69M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1331|  1.69M|	REQUIRE((target != NULL && ISC_BUFFER_VALID(target)) ||
  ------------------
  |  |  198|  1.69M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  8.47M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.68M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.68M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.68M, False: 5.47k]
  |  |  |  |  |  Branch (42:11): [True: 5.47k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 5.47k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 5.47k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.69M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1332|  1.69M|		(target == NULL && ISC_BUFFER_VALID(name->buffer)));
 1333|       |
 1334|  1.69M|	if (target == NULL && name->buffer != NULL) {
  ------------------
  |  Branch (1334:6): [True: 5.47k, False: 1.68M]
  |  Branch (1334:24): [True: 5.47k, False: 0]
  ------------------
 1335|  5.47k|		target = name->buffer;
 1336|  5.47k|		isc_buffer_clear(target);
 1337|  5.47k|	}
 1338|       |
 1339|  1.69M|	uint8_t *const name_buf = isc_buffer_used(target);
  ------------------
  |  |  150|  1.69M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1340|  1.69M|	const uint32_t name_max = ISC_MIN(DNS_NAME_MAXWIRE,
  ------------------
  |  |   77|  1.69M|#define ISC_MIN(a, b) ((a) < (b) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (77:24): [True: 1.52M, False: 169k]
  |  |  ------------------
  ------------------
 1341|  1.69M|					  isc_buffer_availablelength(target));
 1342|  1.69M|	uint32_t name_len = 0;
 1343|       |
 1344|       |	/*
 1345|       |	 * After chasing a compression pointer, these variables refer to the
 1346|       |	 * source buffer as follows:
 1347|       |	 *
 1348|       |	 * sb --- mr --- cr --- st --- cd --- sm
 1349|       |	 *
 1350|       |	 * sb = source_buf (const)
 1351|       |	 * mr = marker
 1352|       |	 * cr = cursor
 1353|       |	 * st = start (const)
 1354|       |	 * cd = consumed
 1355|       |	 * sm = source_max (const)
 1356|       |	 *
 1357|       |	 * The marker hops backwards for each pointer.
 1358|       |	 * The cursor steps forwards for each label.
 1359|       |	 * The amount of the source we consumed is set once.
 1360|       |	 */
 1361|  1.69M|	const uint8_t *const source_buf = isc_buffer_base(source);
  ------------------
  |  |  144|  1.69M|#define isc_buffer_base(b) ((void *)(b)->base) /*a*/
  ------------------
 1362|  1.69M|	const uint8_t *const source_max = isc_buffer_active(source);
  ------------------
  |  |  148|  1.69M|	((void *)((unsigned char *)(b)->base + (b)->active)) /*c*/
  ------------------
 1363|  1.69M|	const uint8_t *const start = isc_buffer_current(source);
  ------------------
  |  |  146|  1.69M|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
 1364|  1.69M|	const uint8_t *marker = start;
 1365|  1.69M|	const uint8_t *cursor = start;
 1366|  1.69M|	const uint8_t *consumed = NULL;
 1367|       |
 1368|       |	/*
 1369|       |	 * One iteration per label.
 1370|       |	 */
 1371|  12.7M|	while (cursor < source_max) {
  ------------------
  |  Branch (1371:9): [True: 12.7M, False: 2.10k]
  ------------------
 1372|  12.7M|		const uint8_t label_len = *cursor++;
 1373|  12.7M|		if (label_len <= DNS_NAME_LABELLEN) {
  ------------------
  |  |  192|  12.7M|#define DNS_NAME_LABELLEN  63
  ------------------
  |  Branch (1373:7): [True: 11.2M, False: 1.47M]
  ------------------
 1374|       |			/*
 1375|       |			 * Normal label: record its offset, and check bounds on
 1376|       |			 * the name length, which also ensures we don't overrun
 1377|       |			 * the offsets array. Don't touch any source bytes yet!
 1378|       |			 * The source bounds check will happen when we loop.
 1379|       |			 */
 1380|       |			/* and then a step to the ri-i-i-i-i-ight */
 1381|  11.2M|			cursor += label_len;
 1382|  11.2M|			name_len += label_len + 1;
 1383|  11.2M|			if (name_len > name_max) {
  ------------------
  |  Branch (1383:8): [True: 45.7k, False: 11.1M]
  ------------------
 1384|  45.7k|				return name_max == DNS_NAME_MAXWIRE
  ------------------
  |  |  190|  45.7k|#define DNS_NAME_MAXWIRE   255
  ------------------
  |  Branch (1384:12): [True: 4, False: 45.7k]
  ------------------
 1385|  45.7k|					       ? DNS_R_NAMETOOLONG
 1386|  45.7k|					       : ISC_R_NOSPACE;
 1387|  11.1M|			} else if (label_len == 0) {
  ------------------
  |  Branch (1387:15): [True: 1.64M, False: 9.54M]
  ------------------
 1388|  1.64M|				goto root_label;
 1389|  1.64M|			}
 1390|  11.2M|		} else if (label_len < 192) {
  ------------------
  |  Branch (1390:14): [True: 552, False: 1.47M]
  ------------------
 1391|    552|			return DNS_R_BADLABELTYPE;
 1392|  1.47M|		} else if (!dns_decompress_getpermitted(dctx)) {
  ------------------
  |  Branch (1392:14): [True: 207, False: 1.47M]
  ------------------
 1393|    207|			return DNS_R_DISALLOWED;
 1394|  1.47M|		} else if (cursor < source_max) {
  ------------------
  |  Branch (1394:14): [True: 1.47M, False: 26]
  ------------------
 1395|       |			/*
 1396|       |			 * Compression pointer. Ensure it does not loop.
 1397|       |			 *
 1398|       |			 * Copy multiple labels in one go, to make the most of
 1399|       |			 * memmove() performance. Start at the marker and finish
 1400|       |			 * just before the pointer's hi+lo bytes, before the
 1401|       |			 * cursor. Bounds were already checked.
 1402|       |			 */
 1403|  1.47M|			const uint32_t hi = label_len & 0x3F;
 1404|  1.47M|			const uint32_t lo = *cursor++;
 1405|  1.47M|			const uint8_t *pointer = source_buf + (256 * hi + lo);
 1406|  1.47M|			if (pointer >= marker) {
  ------------------
  |  Branch (1406:8): [True: 60, False: 1.47M]
  ------------------
 1407|     60|				return DNS_R_BADPOINTER;
 1408|     60|			}
 1409|  1.47M|			const uint32_t copy_len = (cursor - 2) - marker;
 1410|  1.47M|			uint8_t *const dest = name_buf + name_len - copy_len;
 1411|  1.47M|			memmove(dest, marker, copy_len);
 1412|  1.47M|			consumed = consumed != NULL ? consumed : cursor;
  ------------------
  |  Branch (1412:15): [True: 599k, False: 878k]
  ------------------
 1413|       |			/* it's just a jump to the left */
 1414|  1.47M|			cursor = marker = pointer;
 1415|  1.47M|		}
 1416|  12.7M|	}
 1417|  2.10k|	return ISC_R_UNEXPECTEDEND;
 1418|  1.64M|root_label:;
 1419|       |	/*
 1420|       |	 * Copy labels almost like we do for compression pointers,
 1421|       |	 * from the marker up to and including the root label.
 1422|       |	 */
 1423|  1.64M|	const uint32_t copy_len = cursor - marker;
 1424|  1.64M|	memmove(name_buf + name_len - copy_len, marker, copy_len);
 1425|  1.64M|	consumed = consumed != NULL ? consumed : cursor;
  ------------------
  |  Branch (1425:13): [True: 842k, False: 802k]
  ------------------
 1426|  1.64M|	isc_buffer_forward(source, consumed - start);
 1427|       |
 1428|  1.64M|	name->attributes.absolute = true;
 1429|  1.64M|	name->ndata = name_buf;
 1430|  1.64M|	name->length = name_len;
 1431|  1.64M|	isc_buffer_add(target, name_len);
 1432|       |
 1433|  1.64M|	return ISC_R_SUCCESS;
 1434|  1.69M|}
dns_name_towire:
 1438|   233k|		isc_buffer_t *target) {
 1439|   233k|	bool compress, multi;
 1440|   233k|	unsigned int here;
 1441|   233k|	unsigned int prefix_length;
 1442|   233k|	unsigned int suffix_coff;
 1443|       |
 1444|       |	/*
 1445|       |	 * Convert 'name' into wire format, compressing it as specified by the
 1446|       |	 * compression context 'cctx' (or without compressing if 'cctx'
 1447|       |	 * is NULL), and storing the result in 'target'.
 1448|       |	 */
 1449|       |
 1450|   233k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   466k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1451|   233k|	REQUIRE(ISC_BUFFER_VALID(target));
  ------------------
  |  |  198|   233k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   466k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 233k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   233k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1452|       |
 1453|   233k|	if (cctx == NULL) {
  ------------------
  |  Branch (1453:6): [True: 0, False: 233k]
  ------------------
 1454|      0|		if (isc_buffer_availablelength(target) < name->length) {
  ------------------
  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (1454:7): [True: 0, False: 0]
  ------------------
 1455|      0|			return ISC_R_NOSPACE;
 1456|      0|		}
 1457|      0|		memmove(isc_buffer_used(target), name->ndata, name->length);
  ------------------
  |  |  150|      0|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1458|      0|		isc_buffer_add(target, name->length);
 1459|      0|		return ISC_R_SUCCESS;
 1460|      0|	}
 1461|       |
 1462|   233k|	compress = !name->attributes.nocompress &&
  ------------------
  |  Branch (1462:13): [True: 233k, False: 0]
  ------------------
 1463|   233k|		   dns_compress_getpermitted(cctx);
  ------------------
  |  Branch (1463:6): [True: 210k, False: 23.0k]
  ------------------
 1464|   233k|	multi = compress && dns_compress_getmultiuse(cctx);
  ------------------
  |  Branch (1464:10): [True: 210k, False: 23.0k]
  |  Branch (1464:22): [True: 0, False: 210k]
  ------------------
 1465|       |
 1466|       |	/*
 1467|       |	 * Write a compression pointer directly if the caller passed us
 1468|       |	 * a pointer to this name's offset that we saved previously.
 1469|       |	 */
 1470|   233k|	if (multi && cctx->coff < 0x4000) {
  ------------------
  |  Branch (1470:6): [True: 0, False: 233k]
  |  Branch (1470:15): [True: 0, False: 0]
  ------------------
 1471|      0|		if (isc_buffer_availablelength(target) < 2) {
  ------------------
  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (1471:7): [True: 0, False: 0]
  ------------------
 1472|      0|			return ISC_R_NOSPACE;
 1473|      0|		}
 1474|      0|		isc_buffer_putuint16(target, cctx->coff | 0xc000);
 1475|      0|		return ISC_R_SUCCESS;
 1476|      0|	}
 1477|       |
 1478|       |	/*
 1479|       |	 * Always add the name to the compression context; if compression
 1480|       |	 * is off, reset the return values before writing the name.
 1481|       |	 */
 1482|   233k|	prefix_length = name->length;
 1483|   233k|	suffix_coff = 0;
 1484|   233k|	dns_compress_name(cctx, target, name, &prefix_length, &suffix_coff);
 1485|   233k|	if (!compress) {
  ------------------
  |  Branch (1485:6): [True: 23.0k, False: 210k]
  ------------------
 1486|  23.0k|		prefix_length = name->length;
 1487|  23.0k|		suffix_coff = 0;
 1488|  23.0k|	}
 1489|       |
 1490|       |	/*
 1491|       |	 * Return this name's compression offset for use next time, provided
 1492|       |	 * it isn't too short for compression to help (i.e. it's the root)
 1493|       |	 */
 1494|   233k|	here = isc_buffer_usedlength(target);
  ------------------
  |  |  158|   233k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
 1495|   233k|	if (multi && here < 0x4000 && prefix_length > 1) {
  ------------------
  |  Branch (1495:6): [True: 0, False: 233k]
  |  Branch (1495:15): [True: 0, False: 0]
  |  Branch (1495:32): [True: 0, False: 0]
  ------------------
 1496|      0|		cctx->coff = (uint16_t)here;
 1497|      0|	}
 1498|       |
 1499|   233k|	if (prefix_length > 0) {
  ------------------
  |  Branch (1499:6): [True: 214k, False: 19.0k]
  ------------------
 1500|   214k|		if (isc_buffer_availablelength(target) < prefix_length) {
  ------------------
  |  |  162|   214k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (1500:7): [True: 46.1k, False: 168k]
  ------------------
 1501|  46.1k|			return ISC_R_NOSPACE;
 1502|  46.1k|		}
 1503|   168k|		memmove(isc_buffer_used(target), name->ndata, prefix_length);
  ------------------
  |  |  150|   168k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1504|   168k|		isc_buffer_add(target, prefix_length);
 1505|   168k|	}
 1506|       |
 1507|   187k|	if (suffix_coff > 0) {
  ------------------
  |  Branch (1507:6): [True: 26.3k, False: 160k]
  ------------------
 1508|  26.3k|		if (multi && prefix_length == 0) {
  ------------------
  |  Branch (1508:7): [True: 0, False: 26.3k]
  |  Branch (1508:16): [True: 0, False: 0]
  ------------------
 1509|      0|			cctx->coff = suffix_coff;
 1510|      0|		}
 1511|  26.3k|		if (isc_buffer_availablelength(target) < 2) {
  ------------------
  |  |  162|  26.3k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (1511:7): [True: 381, False: 25.9k]
  ------------------
 1512|    381|			return ISC_R_NOSPACE;
 1513|    381|		}
 1514|  25.9k|		isc_buffer_putuint16(target, suffix_coff | 0xc000);
 1515|  25.9k|	}
 1516|       |
 1517|   186k|	return ISC_R_SUCCESS;
 1518|   187k|}
dns_name_dynamic:
 1677|   390k|dns_name_dynamic(const dns_name_t *name) {
 1678|   390k|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|   390k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   781k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 390k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   390k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1679|       |
 1680|       |	/*
 1681|       |	 * Returns whether there is dynamic memory associated with this name.
 1682|       |	 */
 1683|       |
 1684|   390k|	return name->attributes.dynamic;
 1685|   390k|}
dns_name_format:
 1728|  1.96k|dns_name_format(const dns_name_t *name, char *cp, unsigned int size) {
 1729|  1.96k|	isc_result_t result;
 1730|  1.96k|	isc_buffer_t buf;
 1731|       |
 1732|  1.96k|	REQUIRE(size > 0);
  ------------------
  |  |  198|  1.96k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.96k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.96k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.96k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1733|       |
 1734|       |	/*
 1735|       |	 * Leave room for null termination after buffer.
 1736|       |	 */
 1737|  1.96k|	isc_buffer_init(&buf, cp, size - 1);
 1738|  1.96k|	result = dns_name_totext(name, DNS_NAME_OMITFINALDOT, &buf);
  ------------------
  |  |  897|  1.96k|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
 1739|  1.96k|	if (result == ISC_R_SUCCESS) {
  ------------------
  |  Branch (1739:6): [True: 1.96k, False: 0]
  ------------------
 1740|  1.96k|		isc_buffer_putuint8(&buf, (uint8_t)'\0');
 1741|  1.96k|	} else {
 1742|      0|		snprintf(cp, size, "<unknown>");
 1743|      0|	}
 1744|  1.96k|}
dns_name_copy:
 1799|   246k|dns_name_copy(const dns_name_t *source, dns_name_t *dest) {
 1800|   246k|	isc_buffer_t *target = NULL;
 1801|   246k|	unsigned char *ndata = NULL;
 1802|       |
 1803|   246k|	REQUIRE(DNS_NAME_VALID(source));
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   492k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1804|   246k|	REQUIRE(DNS_NAME_VALID(dest));
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   492k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1805|   246k|	REQUIRE(DNS_NAME_BINDABLE(dest));
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   492k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1806|       |
 1807|   246k|	target = dest->buffer;
 1808|       |
 1809|   246k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   246k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1810|   246k|	REQUIRE(target->length >= source->length);
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   246k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1811|       |
 1812|   246k|	isc_buffer_clear(target);
 1813|       |
 1814|   246k|	ndata = (unsigned char *)target->base;
 1815|   246k|	dest->ndata = target->base;
 1816|       |
 1817|   246k|	if (source->length != 0) {
  ------------------
  |  Branch (1817:6): [True: 246k, False: 0]
  ------------------
 1818|   246k|		memmove(ndata, source->ndata, source->length);
 1819|   246k|	}
 1820|       |
 1821|   246k|	dest->ndata = ndata;
 1822|   246k|	dest->length = source->length;
 1823|   246k|	dest->attributes.absolute = source->attributes.absolute;
 1824|       |
 1825|   246k|	isc_buffer_add(target, dest->length);
 1826|   246k|}
dns_name_offsets:
 2099|  1.00M|dns_name_offsets(const dns_name_t *name, dns_offsets_t offsets) {
 2100|  1.00M|	REQUIRE(DNS_NAME_VALID(name));
  ------------------
  |  |  198|  1.00M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.00M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.00M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.00M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.00M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2101|  1.00M|	unsigned int offset, count, length, nlabels;
 2102|  1.00M|	unsigned char *ndata;
 2103|       |
 2104|  1.00M|	ndata = name->ndata;
 2105|  1.00M|	length = name->length;
 2106|  1.00M|	offset = 0;
 2107|  1.00M|	nlabels = 0;
 2108|  6.42M|	while (offset != length) {
  ------------------
  |  Branch (2108:9): [True: 6.42M, False: 0]
  ------------------
 2109|  6.42M|		INSIST(nlabels < DNS_NAME_MAXLABELS);
  ------------------
  |  |  202|  6.42M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.42M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 6.42M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  6.42M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 2110|  6.42M|		if (offsets != NULL) {
  ------------------
  |  Branch (2110:7): [True: 1.63M, False: 4.78M]
  ------------------
 2111|  1.63M|			offsets[nlabels] = offset;
 2112|  1.63M|		}
 2113|  6.42M|		nlabels++;
 2114|  6.42M|		count = *ndata;
 2115|  6.42M|		INSIST(count <= DNS_NAME_LABELLEN);
  ------------------
  |  |  202|  6.42M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.42M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 6.42M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  6.42M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 2116|  6.42M|		offset += count + 1;
 2117|  6.42M|		ndata += count + 1;
 2118|  6.42M|		INSIST(offset <= length);
  ------------------
  |  |  202|  6.42M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.42M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 6.42M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  6.42M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 2119|  6.42M|		if (count == 0) {
  ------------------
  |  Branch (2119:7): [True: 1.00M, False: 5.41M]
  ------------------
 2120|       |			/* Final root label */
 2121|  1.00M|			break;
 2122|  1.00M|		}
 2123|  6.42M|	}
 2124|  1.00M|	INSIST(offset == name->length);
  ------------------
  |  |  202|  1.00M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.00M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.00M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.00M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 2125|       |
 2126|  1.00M|	return nlabels;
 2127|  1.00M|}

dst__opensslecdsa_init:
  668|      4|dst__opensslecdsa_init(dst_func_t **funcp) {
  669|      4|	REQUIRE(funcp != NULL);
  ------------------
  |  |  198|      4|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      4|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      4|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  670|       |
  671|      4|	if (*funcp == NULL) {
  ------------------
  |  Branch (671:6): [True: 4, False: 0]
  ------------------
  672|      4|		*funcp = &opensslecdsa_functions;
  673|      4|	}
  674|      4|}

dst__openssleddsa_init:
  642|      4|dst__openssleddsa_init(dst_func_t **funcp, unsigned char algorithm) {
  643|      4|	REQUIRE(funcp != NULL);
  ------------------
  |  |  198|      4|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      4|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      4|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  644|       |
  645|      4|	if (*funcp == NULL) {
  ------------------
  |  Branch (645:6): [True: 4, False: 0]
  ------------------
  646|      4|		if (check_algorithm(algorithm) == ISC_R_SUCCESS) {
  ------------------
  |  Branch (646:7): [True: 4, False: 0]
  ------------------
  647|      4|			*funcp = &openssleddsa_functions;
  648|      4|		}
  649|      4|	}
  650|      4|}
openssleddsa_link.c:check_algorithm:
  582|      4|check_algorithm(unsigned char algorithm) {
  583|      4|	EVP_MD_CTX *evp_md_ctx = EVP_MD_CTX_create();
  584|      4|	EVP_PKEY *pkey = NULL;
  585|      4|	const eddsa_alginfo_t *alginfo = NULL;
  586|      4|	const unsigned char *key = NULL;
  587|      4|	const unsigned char *sig = NULL;
  588|      4|	const unsigned char test[] = "test";
  589|      4|	isc_result_t result = ISC_R_SUCCESS;
  590|      4|	size_t key_len, sig_len;
  591|       |
  592|      4|	if (evp_md_ctx == NULL) {
  ------------------
  |  Branch (592:6): [True: 0, False: 4]
  ------------------
  593|      0|		CLEANUP(ISC_R_NOMEMORY);
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  594|      0|	}
  595|       |
  596|      4|	switch (algorithm) {
  597|      0|#if HAVE_OPENSSL_ED448
  598|      2|	case DST_ALG_ED448:
  ------------------
  |  Branch (598:2): [True: 2, False: 2]
  ------------------
  599|      2|		sig = ed448_sig;
  600|      2|		sig_len = sizeof(ed448_sig) - 1;
  601|      2|		key = ed448_pub;
  602|      2|		key_len = sizeof(ed448_pub) - 1;
  603|      2|		alginfo = openssleddsa_alg_info(algorithm);
  604|      2|		break;
  605|      0|#endif /* HAVE_OPENSSL_ED448 */
  606|      2|	case DST_ALG_ED25519:
  ------------------
  |  Branch (606:2): [True: 2, False: 2]
  ------------------
  607|      2|		sig = ed25519_sig;
  608|      2|		sig_len = sizeof(ed25519_sig) - 1;
  609|      2|		key = ed25519_pub;
  610|      2|		key_len = sizeof(ed25519_pub) - 1;
  611|      2|		alginfo = openssleddsa_alg_info(algorithm);
  612|      2|		break;
  613|      0|	default:
  ------------------
  |  Branch (613:2): [True: 0, False: 4]
  ------------------
  614|      0|		CLEANUP(ISC_R_NOTIMPLEMENTED);
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  615|      4|	}
  616|       |
  617|      4|	INSIST(alginfo != NULL);
  ------------------
  |  |  202|      4|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      4|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      4|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  618|      4|	CHECK(raw_key_to_ossl(alginfo, 0, key, key_len, &pkey));
  ------------------
  |  |  255|      4|	{                                      \
  |  |  256|      4|		result = (r);                  \
  |  |  257|      4|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 4]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|      4|	}
  ------------------
  619|       |
  620|       |	/*
  621|       |	 * Check that we can verify the signature.
  622|       |	 */
  623|      4|	if (EVP_DigestVerifyInit(evp_md_ctx, NULL, NULL, NULL, pkey) != 1 ||
  ------------------
  |  Branch (623:6): [True: 0, False: 4]
  ------------------
  624|      4|	    EVP_DigestVerify(evp_md_ctx, sig, sig_len, test,
  ------------------
  |  Branch (624:6): [True: 0, False: 4]
  ------------------
  625|      4|			     sizeof(test) - 1) != 1)
  626|      0|	{
  627|      0|		CLEANUP(ISC_R_NOTIMPLEMENTED);
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  628|      0|	}
  629|       |
  630|      4|cleanup:
  631|      4|	if (pkey != NULL) {
  ------------------
  |  Branch (631:6): [True: 4, False: 0]
  ------------------
  632|      4|		EVP_PKEY_free(pkey);
  633|      4|	}
  634|      4|	if (evp_md_ctx != NULL) {
  ------------------
  |  Branch (634:6): [True: 4, False: 0]
  ------------------
  635|       |		EVP_MD_CTX_destroy(evp_md_ctx);
  636|      4|	}
  637|      4|	ERR_clear_error();
  638|      4|	return result;
  639|      4|}
openssleddsa_link.c:openssleddsa_alg_info:
   54|      4|openssleddsa_alg_info(unsigned int key_alg) {
   55|      4|	if (key_alg == DST_ALG_ED25519) {
  ------------------
  |  Branch (55:6): [True: 2, False: 2]
  ------------------
   56|      2|		static const eddsa_alginfo_t ed25519_alginfo = {
   57|      2|			.pkey_type = EVP_PKEY_ED25519,
   58|      2|			.nid = NID_ED25519,
   59|      2|			.key_size = DNS_KEY_ED25519SIZE,
  ------------------
  |  |   74|      2|#define DNS_KEY_ED25519SIZE 32
  ------------------
   60|      2|			.sig_size = DNS_SIG_ED25519SIZE,
  ------------------
  |  |   75|      2|#define DNS_SIG_ED25519SIZE 64
  ------------------
   61|      2|		};
   62|      2|		return &ed25519_alginfo;
   63|      2|	}
   64|      2|#if HAVE_OPENSSL_ED448
   65|      2|	if (key_alg == DST_ALG_ED448) {
  ------------------
  |  Branch (65:6): [True: 2, False: 0]
  ------------------
   66|      2|		static const eddsa_alginfo_t ed448_alginfo = {
   67|      2|			.pkey_type = EVP_PKEY_ED448,
   68|      2|			.nid = NID_ED448,
   69|      2|			.key_size = DNS_KEY_ED448SIZE,
  ------------------
  |  |   77|      2|#define DNS_KEY_ED448SIZE 57
  ------------------
   70|      2|			.sig_size = DNS_SIG_ED448SIZE,
  ------------------
  |  |   78|      2|#define DNS_SIG_ED448SIZE 114
  ------------------
   71|      2|		};
   72|      2|		return &ed448_alginfo;
   73|      2|	}
   74|      0|#endif /* HAVE_OPENSSL_ED448 */
   75|      0|	return NULL;
   76|      2|}
openssleddsa_link.c:raw_key_to_ossl:
   80|      4|		const unsigned char *key, size_t key_len, EVP_PKEY **pkey) {
   81|      4|	isc_result_t result;
   82|      4|	int pkey_type = alginfo->pkey_type;
   83|      4|	size_t len = alginfo->key_size;
   84|       |
   85|      4|	result = (private ? DST_R_INVALIDPRIVATEKEY : DST_R_INVALIDPUBLICKEY);
  ------------------
  |  Branch (85:12): [True: 0, False: 4]
  ------------------
   86|      4|	if (key_len != len) {
  ------------------
  |  Branch (86:6): [True: 0, False: 4]
  ------------------
   87|      0|		return result;
   88|      0|	}
   89|       |
   90|      4|	if (private) {
  ------------------
  |  Branch (90:6): [True: 0, False: 4]
  ------------------
   91|      0|		*pkey = EVP_PKEY_new_raw_private_key(pkey_type, NULL, key, len);
   92|      4|	} else {
   93|      4|		*pkey = EVP_PKEY_new_raw_public_key(pkey_type, NULL, key, len);
   94|      4|	}
   95|      4|	if (*pkey == NULL) {
  ------------------
  |  Branch (95:6): [True: 0, False: 4]
  ------------------
   96|      0|		return dst__openssl_toresult(result);
  ------------------
  |  |   28|      0|	isc__ossl_wrap_logged_toresult(ISC_LOGCATEGORY_INVALID,               \
  |  |   29|      0|				       ISC_LOGMODULE_INVALID, NULL, fallback, \
  |  |   30|      0|				       __FILE__, __LINE__)
  ------------------
   97|      0|	}
   98|       |
   99|      4|	return ISC_R_SUCCESS;
  100|      4|}

dst__opensslrsa_init:
  963|     12|dst__opensslrsa_init(dst_func_t **funcp, unsigned short algorithm) {
  964|     12|	REQUIRE(funcp != NULL);
  ------------------
  |  |  198|     12|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     12|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     12|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  965|       |
  966|     12|	if (*funcp == NULL) {
  ------------------
  |  Branch (966:6): [True: 12, False: 0]
  ------------------
  967|     12|		if (check_algorithm(algorithm) == ISC_R_SUCCESS) {
  ------------------
  |  Branch (967:7): [True: 12, False: 0]
  ------------------
  968|     12|			*funcp = &opensslrsa_functions;
  969|     12|		}
  970|     12|	}
  971|       |
  972|     12|	if (rsa_exponent_min == NULL) {
  ------------------
  |  Branch (972:6): [True: 2, False: 10]
  ------------------
  973|      2|		rsa_exponent_min = BN_new();
  974|      2|		INSIST(rsa_exponent_min != NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  975|       |
  976|      2|		RUNTIME_CHECK(BN_set_word(rsa_exponent_min, 3) == 1);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  977|      2|	}
  978|       |
  979|     12|	if (rsa_exponent_max == NULL) {
  ------------------
  |  Branch (979:6): [True: 2, False: 10]
  ------------------
  980|      2|		rsa_exponent_max = BN_new();
  981|      2|		INSIST(rsa_exponent_max != NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  982|       |
  983|      2|		RUNTIME_CHECK(BN_set_bit(rsa_exponent_max, 0) == 1);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  984|      2|		RUNTIME_CHECK(BN_set_bit(rsa_exponent_max, 32) == 1);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  985|      2|	}
  986|     12|}
opensslrsa_link.c:check_algorithm:
  903|     12|check_algorithm(unsigned short algorithm) {
  904|     12|	isc_ossl_wrap_rsa_components_t c = { .needs_cleanup = true };
  905|     12|	EVP_MD_CTX *evp_md_ctx = EVP_MD_CTX_create();
  906|     12|	EVP_PKEY *pkey = NULL;
  907|     12|	const EVP_MD *type = NULL;
  908|     12|	const unsigned char *sig = NULL;
  909|     12|	isc_result_t result = ISC_R_SUCCESS;
  910|     12|	size_t len;
  911|       |
  912|     12|	switch (algorithm) {
  913|      2|	case DST_ALG_RSASHA1:
  ------------------
  |  Branch (913:2): [True: 2, False: 10]
  ------------------
  914|      4|	case DST_ALG_NSEC3RSASHA1:
  ------------------
  |  Branch (914:2): [True: 2, False: 10]
  ------------------
  915|      4|		type = isc__crypto_md[ISC_MD_SHA1]; /* SHA1 + RSA */
  916|      4|		sig = sha1_sig;
  917|      4|		len = sizeof(sha1_sig) - 1;
  918|      4|		break;
  919|      2|	case DST_ALG_RSASHA256:
  ------------------
  |  Branch (919:2): [True: 2, False: 10]
  ------------------
  920|      4|	case DST_ALG_RSASHA256PRIVATEOID:
  ------------------
  |  Branch (920:2): [True: 2, False: 10]
  ------------------
  921|      4|		type = isc__crypto_md[ISC_MD_SHA256]; /* SHA256 + RSA */
  922|      4|		sig = sha256_sig;
  923|      4|		len = sizeof(sha256_sig) - 1;
  924|      4|		break;
  925|      2|	case DST_ALG_RSASHA512:
  ------------------
  |  Branch (925:2): [True: 2, False: 10]
  ------------------
  926|      4|	case DST_ALG_RSASHA512PRIVATEOID:
  ------------------
  |  Branch (926:2): [True: 2, False: 10]
  ------------------
  927|      4|		type = isc__crypto_md[ISC_MD_SHA512];
  928|      4|		sig = sha512_sig;
  929|      4|		len = sizeof(sha512_sig) - 1;
  930|      4|		break;
  931|      0|	default:
  ------------------
  |  Branch (931:2): [True: 0, False: 12]
  ------------------
  932|      0|		CLEANUP(ISC_R_NOTIMPLEMENTED);
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  933|     12|	}
  934|       |
  935|       |	/*
  936|       |	 * Construct pkey.
  937|       |	 */
  938|     12|	c.e = BN_bin2bn(e_bytes, sizeof(e_bytes) - 1, NULL);
  939|     12|	c.n = BN_bin2bn(n_bytes, sizeof(n_bytes) - 1, NULL);
  940|       |
  941|     12|	result = isc_ossl_wrap_load_rsa_public_from_components(&c, &pkey);
  942|     12|	INSIST(result == ISC_R_SUCCESS);
  ------------------
  |  |  202|     12|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|     12|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|     12|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  943|       |
  944|       |	/*
  945|       |	 * Check that we can verify the signature.
  946|       |	 */
  947|     12|	if (EVP_DigestInit_ex(evp_md_ctx, type, NULL) != 1 ||
  ------------------
  |  Branch (947:6): [True: 0, False: 12]
  ------------------
  948|     12|	    EVP_DigestUpdate(evp_md_ctx, "test", 4) != 1 ||
  ------------------
  |  Branch (948:6): [True: 0, False: 12]
  ------------------
  949|     12|	    EVP_VerifyFinal(evp_md_ctx, sig, len, pkey) != 1)
  ------------------
  |  Branch (949:6): [True: 0, False: 12]
  ------------------
  950|      0|	{
  951|      0|		CLEANUP(ISC_R_NOTIMPLEMENTED);
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  952|      0|	}
  953|       |
  954|     12|cleanup:
  955|     12|	isc_ossl_wrap_rsa_components_cleanup(&c);
  956|     12|	EVP_PKEY_free(pkey);
  957|       |	EVP_MD_CTX_destroy(evp_md_ctx);
  958|     12|	ERR_clear_error();
  959|     12|	return result;
  960|     12|}

dns__qp_initialize:
  180|      2|dns__qp_initialize(void) {
  181|       |	/* zero common character marker not a valid shift position */
  182|      2|	INSIST(0 < SHIFT_BITMAP);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, Folded]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  183|       |	/* first bit is common byte or escape byte */
  184|      2|	dns_qpshift_t bit_one = SHIFT_BITMAP;
  185|       |	/* second bit is position in escaped range */
  186|      2|	dns_qpshift_t bit_two = SHIFT_BITMAP;
  187|      2|	bool escaping = true;
  188|       |
  189|    514|	for (unsigned int byte = 0; byte < BYTE_VALUES; byte++) {
  ------------------
  |  |  132|    514|#define BYTE_VALUES (UINT8_MAX + 1)
  ------------------
  |  Branch (189:30): [True: 512, False: 2]
  ------------------
  190|    512|		if (qp_common_character(byte)) {
  ------------------
  |  Branch (190:7): [True: 82, False: 430]
  ------------------
  191|     82|			escaping = false;
  192|     82|			bit_one++;
  193|     82|			dns_qp_byte_for_bit[bit_one] = byte;
  194|     82|			dns_qp_bits_for_byte[byte] = bit_one;
  195|    430|		} else if ('A' <= byte && byte <= 'Z') {
  ------------------
  |  Branch (195:14): [True: 326, False: 104]
  |  Branch (195:29): [True: 52, False: 274]
  ------------------
  196|       |			/* map upper case to lower case */
  197|     52|			dns_qpshift_t after_esc = bit_one + 1;
  198|     52|			dns_qpshift_t skip_punct = 'a' - '_';
  199|     52|			dns_qpshift_t letter = byte - 'A';
  200|     52|			dns_qpshift_t bit = after_esc + skip_punct + letter;
  201|     52|			dns_qp_bits_for_byte[byte] = bit;
  202|       |			/* to simplify reverse conversion */
  203|     52|			bit_two++;
  204|    378|		} else {
  205|       |			/* non-hostname characters need to be escaped */
  206|    378|			if (!escaping || bit_two >= SHIFT_OFFSET) {
  ------------------
  |  Branch (206:8): [True: 4, False: 374]
  |  Branch (206:21): [True: 4, False: 370]
  ------------------
  207|      8|				escaping = true;
  208|      8|				bit_one++;
  209|      8|				dns_qp_byte_for_bit[bit_one] = byte;
  210|      8|				bit_two = SHIFT_BITMAP;
  211|      8|			}
  212|    378|			dns_qp_bits_for_byte[byte] = bit_two << 8 | bit_one;
  213|    378|			bit_two++;
  214|    378|		}
  215|    512|	}
  216|      2|	ENSURE(bit_one < SHIFT_OFFSET);
  ------------------
  |  |  200|      2|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
  217|      2|}

qp.c:qp_common_character:
  930|    512|qp_common_character(uint8_t byte) {
  931|    512|	return ('-' <= byte && byte <= '9') || ('_' <= byte && byte <= 'z');
  ------------------
  |  Branch (931:10): [True: 422, False: 90]
  |  Branch (931:25): [True: 26, False: 396]
  |  Branch (931:42): [True: 322, False: 164]
  |  Branch (931:57): [True: 56, False: 266]
  ------------------
  932|    512|}

dns__qpzone_initialize:
  470|      2|dns__qpzone_initialize(void) {
  471|  2.05k|	for (size_t idx = 0; idx < ARRAY_SIZE(qpzone_buckets_g); ++idx) {
  ------------------
  |  |   98|  2.05k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (471:23): [True: 2.04k, False: 2]
  ------------------
  472|  2.04k|		NODE_INITLOCK(&qpzone_buckets_g[idx].lock);
  ------------------
  |  |   28|  2.04k|#define NODE_INITLOCK(l)    isc_rwlock_init((l))
  ------------------
  473|  2.04k|	}
  474|      2|}

dns_rcode_totext:
  326|  17.9k|dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
  327|  17.9k|	return dns_mnemonic_totext(rcode, target, rcodes);
  328|  17.9k|}
dns_tsigrcode_totext:
  339|  3.42k|dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target) {
  340|  3.42k|	return dns_mnemonic_totext(rcode, target, tsigrcodes);
  341|  3.42k|}
dns_cert_totext:
  352|  2.35k|dns_cert_totext(dns_cert_t cert, isc_buffer_t *target) {
  353|  2.35k|	return dns_mnemonic_totext(cert, target, certs);
  354|  2.35k|}
dns_secalg_totext:
  365|  8.36k|dns_secalg_totext(dns_secalg_t secalg, isc_buffer_t *target) {
  366|  8.36k|	return dns_mnemonic_totext(secalg, target, secalgs);
  367|  8.36k|}
dns_secalg_format:
  370|  6.00k|dns_secalg_format(dns_secalg_t alg, char *cp, unsigned int size) {
  371|  6.00k|	isc_buffer_t b;
  372|  6.00k|	isc_result_t result;
  373|       |
  374|  6.00k|	REQUIRE(cp != NULL && size > 0);
  ------------------
  |  |  198|  6.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  12.0k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 6.00k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 6.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  6.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  375|  6.00k|	isc_buffer_init(&b, cp, size - 1);
  376|  6.00k|	result = dns_secalg_totext(alg, &b);
  377|  6.00k|	cp[isc_buffer_usedlength(&b)] = 0;
  ------------------
  |  |  158|  6.00k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
  378|  6.00k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (378:6): [True: 0, False: 6.00k]
  ------------------
  379|      0|		cp[0] = 0;
  380|      0|	}
  381|  6.00k|}
dns_dsyncscheme_totext:
  560|  1.18k|dns_dsyncscheme_totext(dns_dsyncscheme_t scheme, isc_buffer_t *target) {
  561|  1.18k|	return dns_mnemonic_totext(scheme, target, dsyncschemes);
  562|  1.18k|}
dns_rdataclass_totext:
  649|   340k|dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t *target) {
  650|   340k|	switch (rdclass) {
  651|  6.96k|	case dns_rdataclass_any:
  ------------------
  |  |   34|  6.96k|#define dns_rdataclass_any	((dns_rdataclass_t)dns_rdataclass_any)
  ------------------
  |  Branch (651:2): [True: 6.96k, False: 333k]
  ------------------
  652|  6.96k|		return str_totext("ANY", target);
  653|  4.76k|	case dns_rdataclass_chaos:
  ------------------
  |  |   26|  4.76k|#define dns_rdataclass_chaos	((dns_rdataclass_t)dns_rdataclass_chaos)
  ------------------
  |  Branch (653:2): [True: 4.76k, False: 335k]
  ------------------
  654|  4.76k|		return str_totext("CH", target);
  655|  2.43k|	case dns_rdataclass_hs:
  ------------------
  |  |   30|  2.43k|#define dns_rdataclass_hs	((dns_rdataclass_t)dns_rdataclass_hs)
  ------------------
  |  Branch (655:2): [True: 2.43k, False: 337k]
  ------------------
  656|  2.43k|		return str_totext("HS", target);
  657|  41.5k|	case dns_rdataclass_in:
  ------------------
  |  |   24|  41.5k|#define dns_rdataclass_in	((dns_rdataclass_t)dns_rdataclass_in)
  ------------------
  |  Branch (657:2): [True: 41.5k, False: 298k]
  ------------------
  658|  41.5k|		return str_totext("IN", target);
  659|  6.32k|	case dns_rdataclass_none:
  ------------------
  |  |   32|  6.32k|#define dns_rdataclass_none	((dns_rdataclass_t)dns_rdataclass_none)
  ------------------
  |  Branch (659:2): [True: 6.32k, False: 333k]
  ------------------
  660|  6.32k|		return str_totext("NONE", target);
  661|  45.4k|	case dns_rdataclass_reserved0:
  ------------------
  |  |   22|  45.4k|				((dns_rdataclass_t)dns_rdataclass_reserved0)
  ------------------
  |  Branch (661:2): [True: 45.4k, False: 294k]
  ------------------
  662|  45.4k|		return str_totext("RESERVED0", target);
  663|   232k|	default:
  ------------------
  |  Branch (663:2): [True: 232k, False: 107k]
  ------------------
  664|   232k|		return dns_rdataclass_tounknowntext(rdclass, target);
  665|   340k|	}
  666|   340k|}
dns_rdataclass_tounknowntext:
  669|   232k|dns_rdataclass_tounknowntext(dns_rdataclass_t rdclass, isc_buffer_t *target) {
  670|   232k|	char buf[sizeof("CLASS65535")];
  671|       |
  672|   232k|	snprintf(buf, sizeof(buf), "CLASS%u", rdclass);
  673|   232k|	return str_totext(buf, target);
  674|   232k|}
rcode.c:dns_mnemonic_totext:
  304|  33.2k|		    struct tbl *table) {
  305|  33.2k|	int i = 0;
  306|  33.2k|	char buf[sizeof("4294967296")];
  307|   311k|	while (table[i].name != NULL) {
  ------------------
  |  Branch (307:9): [True: 301k, False: 10.0k]
  ------------------
  308|   301k|		if (table[i].value == value) {
  ------------------
  |  Branch (308:7): [True: 23.2k, False: 277k]
  ------------------
  309|  23.2k|			return str_totext(table[i].name, target);
  310|  23.2k|		}
  311|   277k|		i++;
  312|   277k|	}
  313|  10.0k|	snprintf(buf, sizeof(buf), "%u", value);
  314|  10.0k|	return str_totext(buf, target);
  315|  33.2k|}
rcode.c:str_totext:
  222|   373k|str_totext(const char *source, isc_buffer_t *target) {
  223|   373k|	unsigned int l;
  224|   373k|	isc_region_t region;
  225|       |
  226|   373k|	isc_buffer_availableregion(target, &region);
  227|   373k|	l = strlen(source);
  228|       |
  229|   373k|	if (l > region.length) {
  ------------------
  |  Branch (229:6): [True: 0, False: 373k]
  ------------------
  230|      0|		return ISC_R_NOSPACE;
  231|      0|	}
  232|       |
  233|   373k|	memmove(region.base, source, l);
  234|   373k|	isc_buffer_add(target, l);
  235|   373k|	return ISC_R_SUCCESS;
  236|   373k|}

dns_rdata_init:
  800|   289k|dns_rdata_init(dns_rdata_t *rdata) {
  801|   289k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|   289k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   289k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 289k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   289k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  802|       |
  803|   289k|	rdata->data = NULL;
  804|   289k|	rdata->length = 0;
  805|   289k|	rdata->rdclass = 0;
  806|   289k|	rdata->type = dns_rdatatype_none;
  ------------------
  |  |  114|   289k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
  807|   289k|	rdata->flags = 0;
  808|   289k|	ISC_LINK_INIT(rdata, link);
  ------------------
  |  |   57|   289k|#define ISC_LINK_INIT(elt, link) ISC_LINK_INIT_TYPE(elt, link, void)
  |  |  ------------------
  |  |  |  |   53|   289k|	do {                                                 \
  |  |  |  |   54|   289k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   289k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   55|   289k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   289k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   56|   289k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (56:11): [Folded, False: 289k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  809|       |	/* ISC_LIST_INIT(rdata->list); */
  810|   289k|}
dns_rdata_clone:
  831|   368k|dns_rdata_clone(const dns_rdata_t *src, dns_rdata_t *target) {
  832|   368k|	REQUIRE(src != NULL);
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   368k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  833|   368k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   368k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  834|       |
  835|   368k|	REQUIRE(DNS_RDATA_INITIALIZED(target));
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.68M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  836|       |
  837|   368k|	REQUIRE(DNS_RDATA_VALIDFLAGS(src));
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   368k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  838|   368k|	REQUIRE(DNS_RDATA_VALIDFLAGS(target));
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   368k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  839|       |
  840|   368k|	target->data = src->data;
  841|   368k|	target->length = src->length;
  842|   368k|	target->rdclass = src->rdclass;
  843|   368k|	target->type = src->type;
  844|   368k|	target->flags = src->flags;
  845|   368k|}
dns_rdata_compare:
  852|  10.2k|dns_rdata_compare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) {
  853|  10.2k|	int result = 0;
  854|  10.2k|	bool use_default = false;
  855|       |
  856|  10.2k|	REQUIRE(rdata1 != NULL);
  ------------------
  |  |  198|  10.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  10.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 10.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  857|  10.2k|	REQUIRE(rdata2 != NULL);
  ------------------
  |  |  198|  10.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  10.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 10.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  858|  10.2k|	REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
  ------------------
  |  |  198|  10.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  18.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.26k, False: 7.97k]
  |  |  |  |  |  Branch (42:11): [True: 7.97k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  859|  10.2k|	REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
  ------------------
  |  |  198|  10.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  18.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.01k, False: 8.22k]
  |  |  |  |  |  Branch (42:11): [True: 8.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  860|  10.2k|	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
  ------------------
  |  |  198|  10.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  10.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 10.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  861|  10.2k|	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
  ------------------
  |  |  198|  10.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  10.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 10.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  862|       |
  863|  10.2k|	if (rdata1->rdclass != rdata2->rdclass) {
  ------------------
  |  Branch (863:6): [True: 0, False: 10.2k]
  ------------------
  864|      0|		return rdata1->rdclass < rdata2->rdclass ? -1 : 1;
  ------------------
  |  Branch (864:10): [True: 0, False: 0]
  ------------------
  865|      0|	}
  866|       |
  867|  10.2k|	if (rdata1->type != rdata2->type) {
  ------------------
  |  Branch (867:6): [True: 0, False: 10.2k]
  ------------------
  868|      0|		return rdata1->type < rdata2->type ? -1 : 1;
  ------------------
  |  Branch (868:10): [True: 0, False: 0]
  ------------------
  869|      0|	}
  870|       |
  871|  10.2k|	COMPARESWITCH
  ------------------
  |  |  760|  10.2k|	switch (rdata1->type) { \
  |  |  761|      0|	case 1: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (761:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  762|      0|		case 1: result = compare_in_a(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (762:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  763|      0|		case 3: result = compare_ch_a(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (763:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  764|      0|		case 4: result = compare_hs_a(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (764:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  765|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (765:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  766|      0|		} \
  |  |  767|      0|		break; \
  |  |  768|      0|	case 2: result = compare_ns(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (768:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  769|      0|	case 3: result = compare_md(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (769:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  770|      0|	case 4: result = compare_mf(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (770:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  771|  1.18k|	case 5: result = compare_cname(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (771:2): [True: 1.18k, False: 9.05k]
  |  |  ------------------
  |  |  772|  2.71k|	case 6: result = compare_soa(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (772:2): [True: 2.71k, False: 7.52k]
  |  |  ------------------
  |  |  773|      0|	case 7: result = compare_mb(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (773:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  774|      0|	case 8: result = compare_mg(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (774:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  775|      0|	case 9: result = compare_mr(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (775:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  776|      0|	case 10: result = compare_null(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (776:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  777|      0|	case 11: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (777:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  778|      0|		case 1: result = compare_in_wks(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (778:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  779|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (779:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  780|      0|		} \
  |  |  781|      0|		break; \
  |  |  782|      0|	case 12: result = compare_ptr(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (782:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  783|      0|	case 13: result = compare_hinfo(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (783:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  784|      0|	case 14: result = compare_minfo(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (784:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  785|      0|	case 15: result = compare_mx(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (785:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  786|      0|	case 16: result = compare_txt(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (786:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  787|      0|	case 17: result = compare_rp(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (787:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  788|      0|	case 18: result = compare_afsdb(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (788:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  789|      0|	case 19: result = compare_x25(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (789:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  790|      0|	case 20: result = compare_isdn(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (790:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  791|      0|	case 21: result = compare_rt(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (791:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  792|      0|	case 22: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (792:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  793|      0|		case 1: result = compare_in_nsap(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (793:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  794|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (794:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  795|      0|		} \
  |  |  796|      0|		break; \
  |  |  797|      0|	case 23: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (797:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  798|      0|		case 1: result = compare_in_nsap_ptr(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (798:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  799|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (799:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  800|      0|		} \
  |  |  801|      0|		break; \
  |  |  802|      0|	case 24: result = compare_sig(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (802:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  803|      0|	case 25: result = compare_key(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (803:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  804|      0|	case 26: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (804:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  805|      0|		case 1: result = compare_in_px(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (805:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  806|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (806:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  807|      0|		} \
  |  |  808|      0|		break; \
  |  |  809|      0|	case 27: result = compare_gpos(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (809:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  810|      0|	case 28: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (810:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  811|      0|		case 1: result = compare_in_aaaa(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (811:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  812|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (812:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  813|      0|		} \
  |  |  814|      0|		break; \
  |  |  815|      0|	case 29: result = compare_loc(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (815:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  816|      0|	case 30: result = compare_nxt(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (816:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  817|      0|	case 31: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (817:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  818|      0|		case 1: result = compare_in_eid(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (818:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  819|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (819:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  820|      0|		} \
  |  |  821|      0|		break; \
  |  |  822|      0|	case 32: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (822:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  823|      0|		case 1: result = compare_in_nimloc(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (823:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  824|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (824:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  825|      0|		} \
  |  |  826|      0|		break; \
  |  |  827|      0|	case 33: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (827:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  828|      0|		case 1: result = compare_in_srv(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (828:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  829|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (829:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  830|      0|		} \
  |  |  831|      0|		break; \
  |  |  832|      0|	case 34: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (832:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  833|      0|		case 1: result = compare_in_atma(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (833:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  834|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (834:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  835|      0|		} \
  |  |  836|      0|		break; \
  |  |  837|      0|	case 35: result = compare_naptr(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (837:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  838|      0|	case 36: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (838:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  839|      0|		case 1: result = compare_in_kx(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (839:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  840|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (840:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  841|      0|		} \
  |  |  842|      0|		break; \
  |  |  843|      0|	case 37: result = compare_cert(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (843:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  844|      0|	case 38: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (844:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  845|      0|		case 1: result = compare_in_a6(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (845:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  846|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (846:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  847|      0|		} \
  |  |  848|      0|		break; \
  |  |  849|  2.06k|	case 39: result = compare_dname(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (849:2): [True: 2.06k, False: 8.17k]
  |  |  ------------------
  |  |  850|      0|	case 40: result = compare_sink(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (850:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  851|  3.47k|	case 41: result = compare_opt(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (851:2): [True: 3.47k, False: 6.76k]
  |  |  ------------------
  |  |  852|      0|	case 42: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (852:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  853|      0|		case 1: result = compare_in_apl(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (853:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  854|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (854:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  855|      0|		} \
  |  |  856|      0|		break; \
  |  |  857|      0|	case 43: result = compare_ds(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (857:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  858|      0|	case 44: result = compare_sshfp(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (858:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  859|      0|	case 45: result = compare_ipseckey(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (859:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  860|      0|	case 46: result = compare_rrsig(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (860:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  861|      0|	case 47: result = compare_nsec(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (861:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  862|      0|	case 48: result = compare_dnskey(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (862:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  863|      0|	case 49: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (863:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  864|      0|		case 1: result = compare_in_dhcid(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (864:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  865|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (865:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  866|      0|		} \
  |  |  867|      0|		break; \
  |  |  868|      0|	case 50: result = compare_nsec3(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (868:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  869|      0|	case 51: result = compare_nsec3param(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (869:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  870|      0|	case 52: result = compare_tlsa(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (870:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  871|      0|	case 53: result = compare_smimea(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (871:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  872|      0|	case 55: result = compare_hip(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (872:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  873|      0|	case 56: result = compare_ninfo(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (873:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  874|      0|	case 57: result = compare_rkey(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (874:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  875|      0|	case 58: result = compare_talink(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (875:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  876|      0|	case 59: result = compare_cds(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (876:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  877|      0|	case 60: result = compare_cdnskey(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (877:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  878|      0|	case 61: result = compare_openpgpkey(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (878:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  879|      0|	case 62: result = compare_csync(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (879:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  880|      0|	case 63: result = compare_zonemd(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (880:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  881|      0|	case 64: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (881:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  882|      0|		case 1: result = compare_in_svcb(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (882:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  883|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (883:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  884|      0|		} \
  |  |  885|      0|		break; \
  |  |  886|      0|	case 65: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (886:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  887|      0|		case 1: result = compare_in_https(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (887:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  888|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (888:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  889|      0|		} \
  |  |  890|      0|		break; \
  |  |  891|      0|	case 66: result = compare_dsync(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (891:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  892|      0|	case 67: result = compare_hhit(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (892:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  893|      0|	case 68: result = compare_brid(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (893:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  894|      0|	case 99: result = compare_spf(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (894:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  895|      0|	case 104: result = compare_nid(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (895:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  896|      0|	case 105: result = compare_l32(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (896:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  897|      0|	case 106: result = compare_l64(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (897:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  898|      0|	case 107: result = compare_lp(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (898:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  899|      0|	case 108: result = compare_eui48(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (899:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  900|      0|	case 109: result = compare_eui64(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (900:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  901|      0|	case 249: result = compare_tkey(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (901:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  902|      0|	case 250: switch (rdata1->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (902:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  903|      0|		case 255: result = compare_any_tsig(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (903:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  904|      0|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (904:3): [True: 0, False: 0]
  |  |  ------------------
  |  |  905|      0|		} \
  |  |  906|      0|		break; \
  |  |  907|      0|	case 256: result = compare_uri(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (907:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  908|      0|	case 257: result = compare_caa(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (908:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  909|      0|	case 258: result = compare_avc(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (909:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  910|      0|	case 259: result = compare_doa(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (910:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  911|      0|	case 260: result = compare_amtrelay(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (911:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  912|    801|	case 261: result = compare_resinfo(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (912:2): [True: 801, False: 9.43k]
  |  |  ------------------
  |  |  913|      0|	case 262: result = compare_wallet(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (913:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  914|      0|	case 32768: result = compare_ta(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (914:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  915|      0|	case 32769: result = compare_dlv(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (915:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  916|      0|	case 65533: result = compare_keydata(rdata1, rdata2); break; \
  |  |  ------------------
  |  |  |  Branch (916:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  917|      0|	default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (917:2): [True: 0, False: 10.2k]
  |  |  ------------------
  |  |  918|  10.2k|	}
  ------------------
  872|       |
  873|  10.2k|	if (use_default) {
  ------------------
  |  Branch (873:6): [True: 0, False: 10.2k]
  ------------------
  874|      0|		isc_region_t r1;
  875|      0|		isc_region_t r2;
  876|       |
  877|      0|		dns_rdata_toregion(rdata1, &r1);
  878|      0|		dns_rdata_toregion(rdata2, &r2);
  879|      0|		result = isc_region_compare(&r1, &r2);
  880|      0|	}
  881|  10.2k|	return result;
  882|  10.2k|}
dns_rdata_fromregion:
  923|   279k|		     dns_rdatatype_t type, isc_region_t *r) {
  924|   279k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|   279k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   279k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 279k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   279k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  925|   279k|	REQUIRE(DNS_RDATA_INITIALIZED(rdata));
  ------------------
  |  |  198|   279k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.79M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 279k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 279k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 279k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 279k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 279k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 279k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   279k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  926|   279k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   279k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   279k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 279k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   279k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  927|       |
  928|   279k|	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
  ------------------
  |  |  198|   279k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   279k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 279k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   279k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  929|       |
  930|   279k|	rdata->data = r->base;
  931|   279k|	rdata->length = r->length;
  932|   279k|	rdata->rdclass = rdclass;
  933|   279k|	rdata->type = type;
  934|   279k|	rdata->flags = 0;
  935|   279k|}
dns_rdata_toregion:
  938|   320k|dns_rdata_toregion(const dns_rdata_t *rdata, isc_region_t *r) {
  939|   320k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|   320k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   320k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 320k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   320k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  940|   320k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   320k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   320k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 320k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   320k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  941|   320k|	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
  ------------------
  |  |  198|   320k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   320k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 320k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   320k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  942|       |
  943|   320k|	r->base = rdata->data;
  944|   320k|	r->length = rdata->length;
  945|   320k|}
dns_rdata_fromwire:
  950|   328k|		   dns_decompress_t dctx, isc_buffer_t *target) {
  951|   328k|	isc_result_t result = ISC_R_NOTIMPLEMENTED;
  952|   328k|	isc_region_t region;
  953|   328k|	isc_buffer_t ss;
  954|   328k|	isc_buffer_t st;
  955|   328k|	bool use_default = false;
  956|   328k|	uint32_t activelength;
  957|   328k|	unsigned int length;
  958|       |
  959|   328k|	if (rdata != NULL) {
  ------------------
  |  Branch (959:6): [True: 328k, False: 0]
  ------------------
  960|   328k|		REQUIRE(DNS_RDATA_INITIALIZED(rdata));
  ------------------
  |  |  198|   328k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.28M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 328k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 328k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 328k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 328k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 328k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 328k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   328k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  961|   328k|		REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
  ------------------
  |  |  198|   328k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   328k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 328k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   328k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  962|   328k|	}
  963|   328k|	REQUIRE(source != NULL);
  ------------------
  |  |  198|   328k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   328k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 328k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   328k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  964|   328k|	REQUIRE(target != NULL);
  ------------------
  |  |  198|   328k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   328k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 328k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   328k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  965|       |
  966|   328k|	if (type == dns_rdatatype_none) {
  ------------------
  |  |  114|   328k|#define dns_rdatatype_none	((dns_rdatatype_t)dns_rdatatype_none)
  ------------------
  |  Branch (966:6): [True: 11, False: 328k]
  ------------------
  967|     11|		return DNS_R_FORMERR;
  968|     11|	}
  969|       |
  970|   328k|	ss = *source;
  971|   328k|	st = *target;
  972|       |
  973|   328k|	activelength = isc_buffer_activelength(source);
  ------------------
  |  |  161|   328k|#define isc_buffer_activelength(b)    ((b)->active - (b)->current) /* c-b */
  ------------------
  974|   328k|	INSIST(activelength < 65536);
  ------------------
  |  |  202|   328k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   328k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 328k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   328k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  975|       |
  976|   328k|	FROMWIRESWITCH
  ------------------
  |  |  438|   328k|	switch (type) { \
  |  |  439|  7.45k|	case 1: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (439:2): [True: 7.45k, False: 321k]
  |  |  ------------------
  |  |  440|  1.41k|		case 1: result = fromwire_in_a(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (440:3): [True: 1.41k, False: 6.04k]
  |  |  ------------------
  |  |  441|  1.53k|		case 3: result = fromwire_ch_a(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (441:3): [True: 1.53k, False: 5.92k]
  |  |  ------------------
  |  |  442|  1.01k|		case 4: result = fromwire_hs_a(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (442:3): [True: 1.01k, False: 6.44k]
  |  |  ------------------
  |  |  443|  3.50k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (443:3): [True: 3.50k, False: 3.95k]
  |  |  ------------------
  |  |  444|  7.45k|		} \
  |  |  445|  7.45k|		break; \
  |  |  446|  7.45k|	case 2: result = fromwire_ns(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (446:2): [True: 2.75k, False: 326k]
  |  |  ------------------
  |  |  447|  7.45k|	case 3: result = fromwire_md(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (447:2): [True: 1.83k, False: 327k]
  |  |  ------------------
  |  |  448|  7.45k|	case 4: result = fromwire_mf(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (448:2): [True: 1.03k, False: 327k]
  |  |  ------------------
  |  |  449|  7.45k|	case 5: result = fromwire_cname(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (449:2): [True: 1.57k, False: 327k]
  |  |  ------------------
  |  |  450|  7.45k|	case 6: result = fromwire_soa(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (450:2): [True: 4.85k, False: 324k]
  |  |  ------------------
  |  |  451|  7.45k|	case 7: result = fromwire_mb(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (451:2): [True: 1.02k, False: 327k]
  |  |  ------------------
  |  |  452|  7.45k|	case 8: result = fromwire_mg(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (452:2): [True: 995, False: 327k]
  |  |  ------------------
  |  |  453|  7.45k|	case 9: result = fromwire_mr(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (453:2): [True: 1.22k, False: 327k]
  |  |  ------------------
  |  |  454|  7.45k|	case 10: result = fromwire_null(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (454:2): [True: 3.35k, False: 325k]
  |  |  ------------------
  |  |  455|  7.45k|	case 11: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (455:2): [True: 2.88k, False: 326k]
  |  |  ------------------
  |  |  456|  1.32k|		case 1: result = fromwire_in_wks(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (456:3): [True: 1.32k, False: 1.56k]
  |  |  ------------------
  |  |  457|  1.56k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (457:3): [True: 1.56k, False: 1.32k]
  |  |  ------------------
  |  |  458|  2.88k|		} \
  |  |  459|  2.88k|		break; \
  |  |  460|  2.88k|	case 12: result = fromwire_ptr(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (460:2): [True: 855, False: 328k]
  |  |  ------------------
  |  |  461|  2.88k|	case 13: result = fromwire_hinfo(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (461:2): [True: 1.07k, False: 327k]
  |  |  ------------------
  |  |  462|  2.88k|	case 14: result = fromwire_minfo(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (462:2): [True: 519, False: 328k]
  |  |  ------------------
  |  |  463|  2.88k|	case 15: result = fromwire_mx(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (463:2): [True: 1.15k, False: 327k]
  |  |  ------------------
  |  |  464|  2.88k|	case 16: result = fromwire_txt(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (464:2): [True: 1.38k, False: 327k]
  |  |  ------------------
  |  |  465|  2.88k|	case 17: result = fromwire_rp(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (465:2): [True: 1.11k, False: 327k]
  |  |  ------------------
  |  |  466|  2.88k|	case 18: result = fromwire_afsdb(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (466:2): [True: 949, False: 327k]
  |  |  ------------------
  |  |  467|  2.88k|	case 19: result = fromwire_x25(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (467:2): [True: 813, False: 328k]
  |  |  ------------------
  |  |  468|  2.88k|	case 20: result = fromwire_isdn(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (468:2): [True: 1.49k, False: 327k]
  |  |  ------------------
  |  |  469|  2.88k|	case 21: result = fromwire_rt(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (469:2): [True: 1.21k, False: 327k]
  |  |  ------------------
  |  |  470|  3.28k|	case 22: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (470:2): [True: 3.28k, False: 325k]
  |  |  ------------------
  |  |  471|  1.53k|		case 1: result = fromwire_in_nsap(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (471:3): [True: 1.53k, False: 1.74k]
  |  |  ------------------
  |  |  472|  1.74k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (472:3): [True: 1.74k, False: 1.53k]
  |  |  ------------------
  |  |  473|  3.28k|		} \
  |  |  474|  3.28k|		break; \
  |  |  475|  3.28k|	case 23: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (475:2): [True: 1.72k, False: 327k]
  |  |  ------------------
  |  |  476|    770|		case 1: result = fromwire_in_nsap_ptr(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (476:3): [True: 770, False: 950]
  |  |  ------------------
  |  |  477|    950|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (477:3): [True: 950, False: 770]
  |  |  ------------------
  |  |  478|  1.72k|		} \
  |  |  479|  1.72k|		break; \
  |  |  480|  4.86k|	case 24: result = fromwire_sig(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (480:2): [True: 4.86k, False: 324k]
  |  |  ------------------
  |  |  481|  1.90k|	case 25: result = fromwire_key(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (481:2): [True: 1.90k, False: 327k]
  |  |  ------------------
  |  |  482|  3.45k|	case 26: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (482:2): [True: 3.45k, False: 325k]
  |  |  ------------------
  |  |  483|  1.99k|		case 1: result = fromwire_in_px(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (483:3): [True: 1.99k, False: 1.46k]
  |  |  ------------------
  |  |  484|  1.46k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (484:3): [True: 1.46k, False: 1.99k]
  |  |  ------------------
  |  |  485|  3.45k|		} \
  |  |  486|  3.45k|		break; \
  |  |  487|  3.45k|	case 27: result = fromwire_gpos(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (487:2): [True: 1.22k, False: 327k]
  |  |  ------------------
  |  |  488|  3.45k|	case 28: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (488:2): [True: 2.53k, False: 326k]
  |  |  ------------------
  |  |  489|  1.29k|		case 1: result = fromwire_in_aaaa(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (489:3): [True: 1.29k, False: 1.23k]
  |  |  ------------------
  |  |  490|  1.23k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (490:3): [True: 1.23k, False: 1.29k]
  |  |  ------------------
  |  |  491|  2.53k|		} \
  |  |  492|  2.53k|		break; \
  |  |  493|  5.60k|	case 29: result = fromwire_loc(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (493:2): [True: 5.60k, False: 323k]
  |  |  ------------------
  |  |  494|  2.53k|	case 30: result = fromwire_nxt(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (494:2): [True: 2.45k, False: 326k]
  |  |  ------------------
  |  |  495|  5.49k|	case 31: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (495:2): [True: 5.49k, False: 323k]
  |  |  ------------------
  |  |  496|  3.25k|		case 1: result = fromwire_in_eid(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (496:3): [True: 3.25k, False: 2.24k]
  |  |  ------------------
  |  |  497|  2.24k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (497:3): [True: 2.24k, False: 3.25k]
  |  |  ------------------
  |  |  498|  5.49k|		} \
  |  |  499|  5.49k|		break; \
  |  |  500|  5.49k|	case 32: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (500:2): [True: 2.88k, False: 326k]
  |  |  ------------------
  |  |  501|  1.18k|		case 1: result = fromwire_in_nimloc(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (501:3): [True: 1.18k, False: 1.69k]
  |  |  ------------------
  |  |  502|  1.69k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (502:3): [True: 1.69k, False: 1.18k]
  |  |  ------------------
  |  |  503|  2.88k|		} \
  |  |  504|  2.88k|		break; \
  |  |  505|  3.56k|	case 33: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (505:2): [True: 3.56k, False: 325k]
  |  |  ------------------
  |  |  506|  1.39k|		case 1: result = fromwire_in_srv(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (506:3): [True: 1.39k, False: 2.17k]
  |  |  ------------------
  |  |  507|  2.17k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (507:3): [True: 2.17k, False: 1.39k]
  |  |  ------------------
  |  |  508|  3.56k|		} \
  |  |  509|  3.56k|		break; \
  |  |  510|  4.36k|	case 34: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (510:2): [True: 4.36k, False: 324k]
  |  |  ------------------
  |  |  511|  2.78k|		case 1: result = fromwire_in_atma(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (511:3): [True: 2.78k, False: 1.58k]
  |  |  ------------------
  |  |  512|  1.58k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (512:3): [True: 1.58k, False: 2.78k]
  |  |  ------------------
  |  |  513|  4.36k|		} \
  |  |  514|  4.36k|		break; \
  |  |  515|  9.36k|	case 35: result = fromwire_naptr(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (515:2): [True: 9.36k, False: 319k]
  |  |  ------------------
  |  |  516|  4.36k|	case 36: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (516:2): [True: 4.12k, False: 324k]
  |  |  ------------------
  |  |  517|  2.15k|		case 1: result = fromwire_in_kx(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (517:3): [True: 2.15k, False: 1.96k]
  |  |  ------------------
  |  |  518|  1.96k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (518:3): [True: 1.96k, False: 2.15k]
  |  |  ------------------
  |  |  519|  4.12k|		} \
  |  |  520|  4.12k|		break; \
  |  |  521|  4.12k|	case 37: result = fromwire_cert(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (521:2): [True: 2.57k, False: 326k]
  |  |  ------------------
  |  |  522|  4.12k|	case 38: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (522:2): [True: 3.88k, False: 325k]
  |  |  ------------------
  |  |  523|  2.18k|		case 1: result = fromwire_in_a6(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (523:3): [True: 2.18k, False: 1.70k]
  |  |  ------------------
  |  |  524|  1.70k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (524:3): [True: 1.70k, False: 2.18k]
  |  |  ------------------
  |  |  525|  3.88k|		} \
  |  |  526|  3.88k|		break; \
  |  |  527|  3.88k|	case 39: result = fromwire_dname(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (527:2): [True: 2.71k, False: 326k]
  |  |  ------------------
  |  |  528|  3.88k|	case 40: result = fromwire_sink(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (528:2): [True: 2.03k, False: 326k]
  |  |  ------------------
  |  |  529|  10.5k|	case 41: result = fromwire_opt(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (529:2): [True: 10.5k, False: 318k]
  |  |  ------------------
  |  |  530|  4.00k|	case 42: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (530:2): [True: 4.00k, False: 324k]
  |  |  ------------------
  |  |  531|  2.74k|		case 1: result = fromwire_in_apl(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (531:3): [True: 2.74k, False: 1.25k]
  |  |  ------------------
  |  |  532|  1.25k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (532:3): [True: 1.25k, False: 2.74k]
  |  |  ------------------
  |  |  533|  4.00k|		} \
  |  |  534|  4.00k|		break; \
  |  |  535|  4.00k|	case 43: result = fromwire_ds(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (535:2): [True: 1.31k, False: 327k]
  |  |  ------------------
  |  |  536|  4.00k|	case 44: result = fromwire_sshfp(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (536:2): [True: 2.02k, False: 326k]
  |  |  ------------------
  |  |  537|  4.00k|	case 45: result = fromwire_ipseckey(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (537:2): [True: 3.58k, False: 325k]
  |  |  ------------------
  |  |  538|  5.53k|	case 46: result = fromwire_rrsig(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (538:2): [True: 5.53k, False: 323k]
  |  |  ------------------
  |  |  539|  4.00k|	case 47: result = fromwire_nsec(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (539:2): [True: 1.92k, False: 326k]
  |  |  ------------------
  |  |  540|  4.00k|	case 48: result = fromwire_dnskey(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (540:2): [True: 2.29k, False: 326k]
  |  |  ------------------
  |  |  541|  4.00k|	case 49: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (541:2): [True: 3.76k, False: 325k]
  |  |  ------------------
  |  |  542|  1.16k|		case 1: result = fromwire_in_dhcid(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (542:3): [True: 1.16k, False: 2.60k]
  |  |  ------------------
  |  |  543|  2.60k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (543:3): [True: 2.60k, False: 1.16k]
  |  |  ------------------
  |  |  544|  3.76k|		} \
  |  |  545|  3.76k|		break; \
  |  |  546|  4.02k|	case 50: result = fromwire_nsec3(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (546:2): [True: 4.02k, False: 324k]
  |  |  ------------------
  |  |  547|  3.76k|	case 51: result = fromwire_nsec3param(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (547:2): [True: 1.62k, False: 327k]
  |  |  ------------------
  |  |  548|  3.76k|	case 52: result = fromwire_tlsa(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (548:2): [True: 2.22k, False: 326k]
  |  |  ------------------
  |  |  549|  3.76k|	case 53: result = fromwire_smimea(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (549:2): [True: 1.08k, False: 327k]
  |  |  ------------------
  |  |  550|  49.0k|	case 55: result = fromwire_hip(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (550:2): [True: 49.0k, False: 279k]
  |  |  ------------------
  |  |  551|  3.76k|	case 56: result = fromwire_ninfo(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (551:2): [True: 975, False: 327k]
  |  |  ------------------
  |  |  552|  3.76k|	case 57: result = fromwire_rkey(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (552:2): [True: 1.31k, False: 327k]
  |  |  ------------------
  |  |  553|  3.76k|	case 58: result = fromwire_talink(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (553:2): [True: 3.16k, False: 325k]
  |  |  ------------------
  |  |  554|  3.76k|	case 59: result = fromwire_cds(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (554:2): [True: 1.33k, False: 327k]
  |  |  ------------------
  |  |  555|  3.76k|	case 60: result = fromwire_cdnskey(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (555:2): [True: 989, False: 327k]
  |  |  ------------------
  |  |  556|  3.76k|	case 61: result = fromwire_openpgpkey(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (556:2): [True: 1.36k, False: 327k]
  |  |  ------------------
  |  |  557|  3.76k|	case 62: result = fromwire_csync(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (557:2): [True: 2.15k, False: 326k]
  |  |  ------------------
  |  |  558|  3.76k|	case 63: result = fromwire_zonemd(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (558:2): [True: 1.67k, False: 327k]
  |  |  ------------------
  |  |  559|  7.20k|	case 64: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (559:2): [True: 7.20k, False: 321k]
  |  |  ------------------
  |  |  560|  5.22k|		case 1: result = fromwire_in_svcb(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (560:3): [True: 5.22k, False: 1.97k]
  |  |  ------------------
  |  |  561|  1.97k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (561:3): [True: 1.97k, False: 5.22k]
  |  |  ------------------
  |  |  562|  7.20k|		} \
  |  |  563|  7.20k|		break; \
  |  |  564|  7.20k|	case 65: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (564:2): [True: 4.47k, False: 324k]
  |  |  ------------------
  |  |  565|  2.94k|		case 1: result = fromwire_in_https(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (565:3): [True: 2.94k, False: 1.53k]
  |  |  ------------------
  |  |  566|  1.53k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (566:3): [True: 1.53k, False: 2.94k]
  |  |  ------------------
  |  |  567|  4.47k|		} \
  |  |  568|  4.47k|		break; \
  |  |  569|  4.47k|	case 66: result = fromwire_dsync(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (569:2): [True: 1.59k, False: 327k]
  |  |  ------------------
  |  |  570|  4.47k|	case 67: result = fromwire_hhit(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (570:2): [True: 996, False: 327k]
  |  |  ------------------
  |  |  571|  4.47k|	case 68: result = fromwire_brid(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (571:2): [True: 1.18k, False: 327k]
  |  |  ------------------
  |  |  572|  4.47k|	case 99: result = fromwire_spf(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (572:2): [True: 993, False: 327k]
  |  |  ------------------
  |  |  573|  4.47k|	case 104: result = fromwire_nid(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (573:2): [True: 1.18k, False: 327k]
  |  |  ------------------
  |  |  574|  4.47k|	case 105: result = fromwire_l32(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (574:2): [True: 1.69k, False: 327k]
  |  |  ------------------
  |  |  575|  4.47k|	case 106: result = fromwire_l64(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (575:2): [True: 1.19k, False: 327k]
  |  |  ------------------
  |  |  576|  4.47k|	case 107: result = fromwire_lp(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (576:2): [True: 908, False: 328k]
  |  |  ------------------
  |  |  577|  4.47k|	case 108: result = fromwire_eui48(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (577:2): [True: 1.06k, False: 327k]
  |  |  ------------------
  |  |  578|  4.47k|	case 109: result = fromwire_eui64(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (578:2): [True: 1.17k, False: 327k]
  |  |  ------------------
  |  |  579|  4.47k|	case 249: result = fromwire_tkey(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (579:2): [True: 3.28k, False: 325k]
  |  |  ------------------
  |  |  580|  5.79k|	case 250: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (580:2): [True: 5.79k, False: 323k]
  |  |  ------------------
  |  |  581|  3.09k|		case 255: result = fromwire_any_tsig(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (581:3): [True: 3.09k, False: 2.69k]
  |  |  ------------------
  |  |  582|  2.69k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (582:3): [True: 2.69k, False: 3.09k]
  |  |  ------------------
  |  |  583|  5.79k|		} \
  |  |  584|  5.79k|		break; \
  |  |  585|  5.79k|	case 256: result = fromwire_uri(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (585:2): [True: 1.56k, False: 327k]
  |  |  ------------------
  |  |  586|  5.79k|	case 257: result = fromwire_caa(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (586:2): [True: 1.82k, False: 327k]
  |  |  ------------------
  |  |  587|  5.79k|	case 258: result = fromwire_avc(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (587:2): [True: 1.18k, False: 327k]
  |  |  ------------------
  |  |  588|  5.79k|	case 259: result = fromwire_doa(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (588:2): [True: 1.82k, False: 327k]
  |  |  ------------------
  |  |  589|  5.79k|	case 260: result = fromwire_amtrelay(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (589:2): [True: 5.46k, False: 323k]
  |  |  ------------------
  |  |  590|  5.79k|	case 261: result = fromwire_resinfo(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (590:2): [True: 1.69k, False: 327k]
  |  |  ------------------
  |  |  591|  5.79k|	case 262: result = fromwire_wallet(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (591:2): [True: 1.33k, False: 327k]
  |  |  ------------------
  |  |  592|  5.79k|	case 32768: result = fromwire_ta(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (592:2): [True: 969, False: 327k]
  |  |  ------------------
  |  |  593|  5.79k|	case 32769: result = fromwire_dlv(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (593:2): [True: 752, False: 328k]
  |  |  ------------------
  |  |  594|  5.79k|	case 65533: result = fromwire_keydata(rdclass, type, source, dctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (594:2): [True: 1.84k, False: 327k]
  |  |  ------------------
  |  |  595|  64.0k|	default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (595:2): [True: 64.0k, False: 264k]
  |  |  ------------------
  |  |  596|   328k|	}
  ------------------
  977|       |
  978|   328k|	if (use_default) {
  ------------------
  |  Branch (978:6): [True: 95.9k, False: 232k]
  ------------------
  979|  95.9k|		if (activelength > isc_buffer_availablelength(target)) {
  ------------------
  |  |  162|  95.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (979:7): [True: 530, False: 95.4k]
  ------------------
  980|    530|			result = ISC_R_NOSPACE;
  981|  95.4k|		} else {
  982|  95.4k|			isc_buffer_putmem(target, isc_buffer_current(source),
  ------------------
  |  |  146|  95.4k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
  983|  95.4k|					  activelength);
  984|  95.4k|			isc_buffer_forward(source, activelength);
  985|  95.4k|			result = ISC_R_SUCCESS;
  986|  95.4k|		}
  987|  95.9k|	}
  988|       |
  989|       |	/*
  990|       |	 * Reject any rdata that expands out to more than DNS_RDATA_MAXLENGTH
  991|       |	 * as we cannot transmit it.
  992|       |	 */
  993|   328k|	length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st);
  ------------------
  |  |  158|   328k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
              	length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st);
  ------------------
  |  |  158|   328k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
  994|   328k|	if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH) {
  ------------------
  |  |  183|   280k|#define DNS_RDATA_MAXLENGTH 65512U
  ------------------
  |  Branch (994:6): [True: 280k, False: 48.9k]
  |  Branch (994:33): [True: 1, False: 280k]
  ------------------
  995|      1|		result = DNS_R_FORMERR;
  996|      1|	}
  997|       |
  998|       |	/*
  999|       |	 * We should have consumed all of our buffer.
 1000|       |	 */
 1001|   328k|	if (result == ISC_R_SUCCESS && !buffer_empty(source)) {
  ------------------
  |  Branch (1001:6): [True: 280k, False: 48.9k]
  |  Branch (1001:33): [True: 68, False: 279k]
  ------------------
 1002|     68|		result = DNS_R_EXTRADATA;
 1003|     68|	}
 1004|       |
 1005|   328k|	if (rdata != NULL && result == ISC_R_SUCCESS) {
  ------------------
  |  Branch (1005:6): [True: 328k, False: 0]
  |  Branch (1005:23): [True: 279k, False: 48.9k]
  ------------------
 1006|   279k|		region.base = isc_buffer_used(&st);
  ------------------
  |  |  150|   279k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1007|   279k|		region.length = length;
 1008|   279k|		dns_rdata_fromregion(rdata, rdclass, type, &region);
 1009|   279k|	}
 1010|       |
 1011|   328k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1011:6): [True: 48.9k, False: 279k]
  ------------------
 1012|  48.9k|		*source = ss;
 1013|  48.9k|		*target = st;
 1014|  48.9k|	}
 1015|   328k|	return result;
 1016|   328k|}
dns_rdata_towire:
 1020|   124k|		 isc_buffer_t *target) {
 1021|   124k|	isc_result_t result = ISC_R_NOTIMPLEMENTED;
 1022|   124k|	bool use_default = false;
 1023|   124k|	isc_region_t tr;
 1024|   124k|	isc_buffer_t st;
 1025|       |
 1026|   124k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|   124k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   124k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 124k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1027|   124k|	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
  ------------------
  |  |  198|   124k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   124k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 124k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1028|       |
 1029|       |	/*
 1030|       |	 * Some DynDNS meta-RRs have empty rdata.
 1031|       |	 */
 1032|   124k|	if ((rdata->flags & DNS_RDATA_UPDATE) != 0) {
  ------------------
  |  |  168|   124k|#define DNS_RDATA_UPDATE  0x0001 /*%< update pseudo record. */
  ------------------
  |  Branch (1032:6): [True: 1.30k, False: 123k]
  ------------------
 1033|  1.30k|		INSIST(rdata->length == 0);
  ------------------
  |  |  202|  1.30k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.30k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.30k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.30k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1034|  1.30k|		return ISC_R_SUCCESS;
 1035|  1.30k|	}
 1036|       |
 1037|   123k|	st = *target;
 1038|       |
 1039|   123k|	TOWIRESWITCH
  ------------------
  |  |  599|   123k|	switch (rdata->type) { \
  |  |  600|  3.03k|	case 1: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (600:2): [True: 3.03k, False: 120k]
  |  |  ------------------
  |  |  601|    691|		case 1: result = towire_in_a(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (601:3): [True: 691, False: 2.33k]
  |  |  ------------------
  |  |  602|    356|		case 3: result = towire_ch_a(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (602:3): [True: 356, False: 2.67k]
  |  |  ------------------
  |  |  603|    310|		case 4: result = towire_hs_a(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (603:3): [True: 310, False: 2.72k]
  |  |  ------------------
  |  |  604|  1.67k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (604:3): [True: 1.67k, False: 1.35k]
  |  |  ------------------
  |  |  605|  3.03k|		} \
  |  |  606|  3.03k|		break; \
  |  |  607|  3.03k|	case 2: result = towire_ns(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (607:2): [True: 1.38k, False: 121k]
  |  |  ------------------
  |  |  608|  3.03k|	case 3: result = towire_md(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (608:2): [True: 942, False: 122k]
  |  |  ------------------
  |  |  609|  3.03k|	case 4: result = towire_mf(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (609:2): [True: 517, False: 122k]
  |  |  ------------------
  |  |  610|  3.03k|	case 5: result = towire_cname(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (610:2): [True: 790, False: 122k]
  |  |  ------------------
  |  |  611|  3.03k|	case 6: result = towire_soa(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (611:2): [True: 2.03k, False: 121k]
  |  |  ------------------
  |  |  612|  3.03k|	case 7: result = towire_mb(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (612:2): [True: 512, False: 122k]
  |  |  ------------------
  |  |  613|  3.03k|	case 8: result = towire_mg(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (613:2): [True: 498, False: 122k]
  |  |  ------------------
  |  |  614|  3.03k|	case 9: result = towire_mr(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (614:2): [True: 614, False: 122k]
  |  |  ------------------
  |  |  615|  3.03k|	case 10: result = towire_null(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (615:2): [True: 1.58k, False: 121k]
  |  |  ------------------
  |  |  616|  3.03k|	case 11: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (616:2): [True: 1.38k, False: 121k]
  |  |  ------------------
  |  |  617|    559|		case 1: result = towire_in_wks(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (617:3): [True: 559, False: 823]
  |  |  ------------------
  |  |  618|    823|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (618:3): [True: 823, False: 559]
  |  |  ------------------
  |  |  619|  1.38k|		} \
  |  |  620|  1.38k|		break; \
  |  |  621|  1.38k|	case 12: result = towire_ptr(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (621:2): [True: 416, False: 122k]
  |  |  ------------------
  |  |  622|  1.38k|	case 13: result = towire_hinfo(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (622:2): [True: 341, False: 122k]
  |  |  ------------------
  |  |  623|  1.38k|	case 14: result = towire_minfo(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (623:2): [True: 228, False: 123k]
  |  |  ------------------
  |  |  624|  1.38k|	case 15: result = towire_mx(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (624:2): [True: 476, False: 122k]
  |  |  ------------------
  |  |  625|  1.38k|	case 16: result = towire_txt(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (625:2): [True: 636, False: 122k]
  |  |  ------------------
  |  |  626|  1.38k|	case 17: result = towire_rp(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (626:2): [True: 446, False: 122k]
  |  |  ------------------
  |  |  627|  1.38k|	case 18: result = towire_afsdb(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (627:2): [True: 377, False: 122k]
  |  |  ------------------
  |  |  628|  1.38k|	case 19: result = towire_x25(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (628:2): [True: 361, False: 122k]
  |  |  ------------------
  |  |  629|  1.38k|	case 20: result = towire_isdn(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (629:2): [True: 549, False: 122k]
  |  |  ------------------
  |  |  630|  1.38k|	case 21: result = towire_rt(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (630:2): [True: 396, False: 122k]
  |  |  ------------------
  |  |  631|  1.58k|	case 22: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (631:2): [True: 1.58k, False: 121k]
  |  |  ------------------
  |  |  632|    718|		case 1: result = towire_in_nsap(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (632:3): [True: 718, False: 870]
  |  |  ------------------
  |  |  633|    870|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (633:3): [True: 870, False: 718]
  |  |  ------------------
  |  |  634|  1.58k|		} \
  |  |  635|  1.58k|		break; \
  |  |  636|  1.58k|	case 23: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (636:2): [True: 862, False: 122k]
  |  |  ------------------
  |  |  637|    388|		case 1: result = towire_in_nsap_ptr(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (637:3): [True: 388, False: 474]
  |  |  ------------------
  |  |  638|    474|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (638:3): [True: 474, False: 388]
  |  |  ------------------
  |  |  639|    862|		} \
  |  |  640|    862|		break; \
  |  |  641|  1.84k|	case 24: result = towire_sig(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (641:2): [True: 1.84k, False: 121k]
  |  |  ------------------
  |  |  642|    933|	case 25: result = towire_key(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (642:2): [True: 933, False: 122k]
  |  |  ------------------
  |  |  643|  1.27k|	case 26: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (643:2): [True: 1.27k, False: 121k]
  |  |  ------------------
  |  |  644|    563|		case 1: result = towire_in_px(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (644:3): [True: 563, False: 709]
  |  |  ------------------
  |  |  645|    709|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (645:3): [True: 709, False: 563]
  |  |  ------------------
  |  |  646|  1.27k|		} \
  |  |  647|  1.27k|		break; \
  |  |  648|  1.27k|	case 27: result = towire_gpos(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (648:2): [True: 560, False: 122k]
  |  |  ------------------
  |  |  649|  1.27k|	case 28: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (649:2): [True: 1.05k, False: 122k]
  |  |  ------------------
  |  |  650|    440|		case 1: result = towire_in_aaaa(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (650:3): [True: 440, False: 616]
  |  |  ------------------
  |  |  651|    616|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (651:3): [True: 616, False: 440]
  |  |  ------------------
  |  |  652|  1.05k|		} \
  |  |  653|  1.05k|		break; \
  |  |  654|  2.58k|	case 29: result = towire_loc(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (654:2): [True: 2.58k, False: 120k]
  |  |  ------------------
  |  |  655|  1.14k|	case 30: result = towire_nxt(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (655:2): [True: 1.14k, False: 122k]
  |  |  ------------------
  |  |  656|  2.42k|	case 31: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (656:2): [True: 2.42k, False: 120k]
  |  |  ------------------
  |  |  657|  1.33k|		case 1: result = towire_in_eid(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (657:3): [True: 1.33k, False: 1.09k]
  |  |  ------------------
  |  |  658|  1.09k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (658:3): [True: 1.09k, False: 1.33k]
  |  |  ------------------
  |  |  659|  2.42k|		} \
  |  |  660|  2.42k|		break; \
  |  |  661|  2.42k|	case 32: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (661:2): [True: 1.18k, False: 122k]
  |  |  ------------------
  |  |  662|    326|		case 1: result = towire_in_nimloc(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (662:3): [True: 326, False: 857]
  |  |  ------------------
  |  |  663|    857|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (663:3): [True: 857, False: 326]
  |  |  ------------------
  |  |  664|  1.18k|		} \
  |  |  665|  1.18k|		break; \
  |  |  666|  1.46k|	case 33: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (666:2): [True: 1.46k, False: 121k]
  |  |  ------------------
  |  |  667|    401|		case 1: result = towire_in_srv(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (667:3): [True: 401, False: 1.06k]
  |  |  ------------------
  |  |  668|  1.06k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (668:3): [True: 1.06k, False: 401]
  |  |  ------------------
  |  |  669|  1.46k|		} \
  |  |  670|  1.46k|		break; \
  |  |  671|  2.08k|	case 34: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (671:2): [True: 2.08k, False: 121k]
  |  |  ------------------
  |  |  672|  1.29k|		case 1: result = towire_in_atma(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (672:3): [True: 1.29k, False: 788]
  |  |  ------------------
  |  |  673|    788|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (673:3): [True: 788, False: 1.29k]
  |  |  ------------------
  |  |  674|  2.08k|		} \
  |  |  675|  2.08k|		break; \
  |  |  676|  3.42k|	case 35: result = towire_naptr(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (676:2): [True: 3.42k, False: 119k]
  |  |  ------------------
  |  |  677|  2.08k|	case 36: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (677:2): [True: 1.87k, False: 121k]
  |  |  ------------------
  |  |  678|    882|		case 1: result = towire_in_kx(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (678:3): [True: 882, False: 993]
  |  |  ------------------
  |  |  679|    993|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (679:3): [True: 993, False: 882]
  |  |  ------------------
  |  |  680|  1.87k|		} \
  |  |  681|  1.87k|		break; \
  |  |  682|  1.87k|	case 37: result = towire_cert(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (682:2): [True: 1.20k, False: 122k]
  |  |  ------------------
  |  |  683|  1.87k|	case 38: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (683:2): [True: 1.48k, False: 121k]
  |  |  ------------------
  |  |  684|    675|		case 1: result = towire_in_a6(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (684:3): [True: 675, False: 806]
  |  |  ------------------
  |  |  685|    806|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (685:3): [True: 806, False: 675]
  |  |  ------------------
  |  |  686|  1.48k|		} \
  |  |  687|  1.48k|		break; \
  |  |  688|  1.48k|	case 39: result = towire_dname(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (688:2): [True: 1.15k, False: 122k]
  |  |  ------------------
  |  |  689|  1.48k|	case 40: result = towire_sink(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (689:2): [True: 793, False: 122k]
  |  |  ------------------
  |  |  690|  4.64k|	case 41: result = towire_opt(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (690:2): [True: 4.64k, False: 118k]
  |  |  ------------------
  |  |  691|  1.77k|	case 42: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (691:2): [True: 1.77k, False: 121k]
  |  |  ------------------
  |  |  692|  1.15k|		case 1: result = towire_in_apl(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (692:3): [True: 1.15k, False: 624]
  |  |  ------------------
  |  |  693|    624|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (693:3): [True: 624, False: 1.15k]
  |  |  ------------------
  |  |  694|  1.77k|		} \
  |  |  695|  1.77k|		break; \
  |  |  696|  1.77k|	case 43: result = towire_ds(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (696:2): [True: 473, False: 122k]
  |  |  ------------------
  |  |  697|  1.77k|	case 44: result = towire_sshfp(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (697:2): [True: 792, False: 122k]
  |  |  ------------------
  |  |  698|  1.77k|	case 45: result = towire_ipseckey(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (698:2): [True: 1.12k, False: 122k]
  |  |  ------------------
  |  |  699|  2.17k|	case 46: result = towire_rrsig(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (699:2): [True: 2.17k, False: 121k]
  |  |  ------------------
  |  |  700|  1.77k|	case 47: result = towire_nsec(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (700:2): [True: 761, False: 122k]
  |  |  ------------------
  |  |  701|  1.77k|	case 48: result = towire_dnskey(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (701:2): [True: 1.00k, False: 122k]
  |  |  ------------------
  |  |  702|  1.77k|	case 49: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (702:2): [True: 1.64k, False: 121k]
  |  |  ------------------
  |  |  703|    371|		case 1: result = towire_in_dhcid(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (703:3): [True: 371, False: 1.27k]
  |  |  ------------------
  |  |  704|  1.27k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (704:3): [True: 1.27k, False: 371]
  |  |  ------------------
  |  |  705|  1.64k|		} \
  |  |  706|  1.64k|		break; \
  |  |  707|  1.80k|	case 50: result = towire_nsec3(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (707:2): [True: 1.80k, False: 121k]
  |  |  ------------------
  |  |  708|  1.64k|	case 51: result = towire_nsec3param(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (708:2): [True: 730, False: 122k]
  |  |  ------------------
  |  |  709|  1.64k|	case 52: result = towire_tlsa(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (709:2): [True: 903, False: 122k]
  |  |  ------------------
  |  |  710|  1.64k|	case 53: result = towire_smimea(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (710:2): [True: 475, False: 122k]
  |  |  ------------------
  |  |  711|  3.49k|	case 55: result = towire_hip(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (711:2): [True: 3.49k, False: 119k]
  |  |  ------------------
  |  |  712|  1.64k|	case 56: result = towire_ninfo(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (712:2): [True: 430, False: 122k]
  |  |  ------------------
  |  |  713|  1.64k|	case 57: result = towire_rkey(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (713:2): [True: 673, False: 122k]
  |  |  ------------------
  |  |  714|  1.64k|	case 58: result = towire_talink(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (714:2): [True: 1.29k, False: 121k]
  |  |  ------------------
  |  |  715|  1.64k|	case 59: result = towire_cds(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (715:2): [True: 746, False: 122k]
  |  |  ------------------
  |  |  716|  1.64k|	case 60: result = towire_cdnskey(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (716:2): [True: 481, False: 122k]
  |  |  ------------------
  |  |  717|  1.64k|	case 61: result = towire_openpgpkey(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (717:2): [True: 549, False: 122k]
  |  |  ------------------
  |  |  718|  1.64k|	case 62: result = towire_csync(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (718:2): [True: 666, False: 122k]
  |  |  ------------------
  |  |  719|  1.64k|	case 63: result = towire_zonemd(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (719:2): [True: 599, False: 122k]
  |  |  ------------------
  |  |  720|  2.48k|	case 64: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (720:2): [True: 2.48k, False: 120k]
  |  |  ------------------
  |  |  721|  1.49k|		case 1: result = towire_in_svcb(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (721:3): [True: 1.49k, False: 989]
  |  |  ------------------
  |  |  722|    989|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (722:3): [True: 989, False: 1.49k]
  |  |  ------------------
  |  |  723|  2.48k|		} \
  |  |  724|  2.48k|		break; \
  |  |  725|  2.48k|	case 65: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (725:2): [True: 1.98k, False: 121k]
  |  |  ------------------
  |  |  726|  1.22k|		case 1: result = towire_in_https(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (726:3): [True: 1.22k, False: 758]
  |  |  ------------------
  |  |  727|    758|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (727:3): [True: 758, False: 1.22k]
  |  |  ------------------
  |  |  728|  1.98k|		} \
  |  |  729|  1.98k|		break; \
  |  |  730|  1.98k|	case 66: result = towire_dsync(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (730:2): [True: 600, False: 122k]
  |  |  ------------------
  |  |  731|  1.98k|	case 67: result = towire_hhit(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (731:2): [True: 359, False: 122k]
  |  |  ------------------
  |  |  732|  1.98k|	case 68: result = towire_brid(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (732:2): [True: 370, False: 122k]
  |  |  ------------------
  |  |  733|  1.98k|	case 99: result = towire_spf(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (733:2): [True: 436, False: 122k]
  |  |  ------------------
  |  |  734|  1.98k|	case 104: result = towire_nid(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (734:2): [True: 354, False: 122k]
  |  |  ------------------
  |  |  735|  1.98k|	case 105: result = towire_l32(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (735:2): [True: 655, False: 122k]
  |  |  ------------------
  |  |  736|  1.98k|	case 106: result = towire_l64(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (736:2): [True: 414, False: 122k]
  |  |  ------------------
  |  |  737|  1.98k|	case 107: result = towire_lp(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (737:2): [True: 388, False: 122k]
  |  |  ------------------
  |  |  738|  1.98k|	case 108: result = towire_eui48(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (738:2): [True: 331, False: 122k]
  |  |  ------------------
  |  |  739|  1.98k|	case 109: result = towire_eui64(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (739:2): [True: 377, False: 122k]
  |  |  ------------------
  |  |  740|  1.98k|	case 249: result = towire_tkey(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (740:2): [True: 947, False: 122k]
  |  |  ------------------
  |  |  741|  1.98k|	case 250: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (741:2): [True: 1.92k, False: 121k]
  |  |  ------------------
  |  |  742|    815|		case 255: result = towire_any_tsig(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (742:3): [True: 815, False: 1.10k]
  |  |  ------------------
  |  |  743|  1.10k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (743:3): [True: 1.10k, False: 815]
  |  |  ------------------
  |  |  744|  1.92k|		} \
  |  |  745|  1.92k|		break; \
  |  |  746|  1.92k|	case 256: result = towire_uri(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (746:2): [True: 720, False: 122k]
  |  |  ------------------
  |  |  747|  1.92k|	case 257: result = towire_caa(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (747:2): [True: 481, False: 122k]
  |  |  ------------------
  |  |  748|  1.92k|	case 258: result = towire_avc(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (748:2): [True: 407, False: 122k]
  |  |  ------------------
  |  |  749|  1.92k|	case 259: result = towire_doa(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (749:2): [True: 689, False: 122k]
  |  |  ------------------
  |  |  750|  1.92k|	case 260: result = towire_amtrelay(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (750:2): [True: 1.86k, False: 121k]
  |  |  ------------------
  |  |  751|  1.92k|	case 261: result = towire_resinfo(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (751:2): [True: 541, False: 122k]
  |  |  ------------------
  |  |  752|  1.92k|	case 262: result = towire_wallet(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (752:2): [True: 474, False: 122k]
  |  |  ------------------
  |  |  753|  1.92k|	case 32768: result = towire_ta(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (753:2): [True: 479, False: 122k]
  |  |  ------------------
  |  |  754|  1.92k|	case 32769: result = towire_dlv(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (754:2): [True: 367, False: 122k]
  |  |  ------------------
  |  |  755|  1.92k|	case 65533: result = towire_keydata(rdata, cctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (755:2): [True: 841, False: 122k]
  |  |  ------------------
  |  |  756|  31.0k|	default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (756:2): [True: 31.0k, False: 92.1k]
  |  |  ------------------
  |  |  757|   123k|	}
  ------------------
 1040|       |
 1041|   123k|	if (use_default) {
  ------------------
  |  Branch (1041:6): [True: 46.5k, False: 76.6k]
  ------------------
 1042|  46.5k|		isc_buffer_availableregion(target, &tr);
 1043|  46.5k|		if (tr.length < rdata->length) {
  ------------------
  |  Branch (1043:7): [True: 1, False: 46.5k]
  ------------------
 1044|      1|			return ISC_R_NOSPACE;
 1045|      1|		}
 1046|  46.5k|		memmove(tr.base, rdata->data, rdata->length);
 1047|  46.5k|		isc_buffer_add(target, rdata->length);
 1048|  46.5k|		return ISC_R_SUCCESS;
 1049|  46.5k|	}
 1050|  76.6k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1050:6): [True: 129, False: 76.5k]
  ------------------
 1051|    129|		*target = st;
 1052|    129|		dns_compress_rollback(cctx, target->used);
 1053|    129|	}
 1054|  76.6k|	return result;
 1055|   123k|}
dns_rdata_tofmttext:
 1347|   239k|		    isc_buffer_t *target) {
 1348|   239k|	dns_rdata_textctx_t tctx;
 1349|       |
 1350|   239k|	REQUIRE(DNS_RDATA_VALIDFLAGS(rdata));
  ------------------
  |  |  198|   239k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   239k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 239k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   239k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1351|       |
 1352|       |	/*
 1353|       |	 * Set up formatting options for formatted output.
 1354|       |	 */
 1355|   239k|	tctx.origin = origin;
 1356|   239k|	tctx.flags = flags;
 1357|   239k|	if (split_width == 0xffffffff) {
  ------------------
  |  Branch (1357:6): [True: 239k, False: 0]
  ------------------
 1358|   239k|		tctx.width = width;
 1359|   239k|	} else {
 1360|      0|		tctx.width = split_width;
 1361|      0|	}
 1362|       |
 1363|   239k|	if ((flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|   239k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (1363:6): [True: 0, False: 239k]
  ------------------
 1364|      0|		tctx.linebreak = linebreak;
 1365|   239k|	} else {
 1366|   239k|		if (split_width == 0xffffffff) {
  ------------------
  |  Branch (1366:7): [True: 239k, False: 0]
  ------------------
 1367|   239k|			tctx.width = 60; /* Used for hex word length only. */
 1368|   239k|		}
 1369|   239k|		tctx.linebreak = " ";
 1370|   239k|	}
 1371|   239k|	return rdata_totext(rdata, &tctx, target);
 1372|   239k|}
dns_rdata_checkowner:
 1490|  4.67k|		     dns_rdatatype_t type, bool wildcard) {
 1491|  4.67k|	bool result;
 1492|       |
 1493|  4.67k|	CHECKOWNERSWITCH
  ------------------
  |  | 1887|  4.67k|	switch (type) { \
  |  | 1888|      0|	case 1: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1888:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1889|      0|		case 1: result = checkowner_in_a(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1889:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1890|      0|		case 3: result = checkowner_ch_a(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1890:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1891|      0|		case 4: result = checkowner_hs_a(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1891:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1892|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1892:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1893|      0|		} \
  |  | 1894|      0|		break; \
  |  | 1895|      0|	case 2: result = checkowner_ns(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1895:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1896|      0|	case 3: result = checkowner_md(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1896:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1897|      0|	case 4: result = checkowner_mf(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1897:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1898|      0|	case 5: result = checkowner_cname(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1898:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1899|      0|	case 6: result = checkowner_soa(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1899:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1900|      0|	case 7: result = checkowner_mb(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1900:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1901|      0|	case 8: result = checkowner_mg(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1901:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1902|      0|	case 9: result = checkowner_mr(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1902:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1903|      0|	case 10: result = checkowner_null(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1903:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1904|      0|	case 11: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1904:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1905|      0|		case 1: result = checkowner_in_wks(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1905:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1906|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1906:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1907|      0|		} \
  |  | 1908|      0|		break; \
  |  | 1909|      0|	case 12: result = checkowner_ptr(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1909:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1910|      0|	case 13: result = checkowner_hinfo(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1910:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1911|      0|	case 14: result = checkowner_minfo(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1911:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1912|      0|	case 15: result = checkowner_mx(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1912:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1913|      0|	case 16: result = checkowner_txt(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1913:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1914|      0|	case 17: result = checkowner_rp(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1914:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1915|      0|	case 18: result = checkowner_afsdb(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1915:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1916|      0|	case 19: result = checkowner_x25(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1916:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1917|      0|	case 20: result = checkowner_isdn(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1917:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1918|      0|	case 21: result = checkowner_rt(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1918:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1919|      0|	case 22: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1919:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1920|      0|		case 1: result = checkowner_in_nsap(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1920:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1921|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1921:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1922|      0|		} \
  |  | 1923|      0|		break; \
  |  | 1924|      0|	case 23: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1924:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1925|      0|		case 1: result = checkowner_in_nsap_ptr(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1925:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1926|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1926:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1927|      0|		} \
  |  | 1928|      0|		break; \
  |  | 1929|      0|	case 24: result = checkowner_sig(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1929:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1930|      0|	case 25: result = checkowner_key(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1930:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1931|      0|	case 26: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1931:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1932|      0|		case 1: result = checkowner_in_px(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1932:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1933|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1933:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1934|      0|		} \
  |  | 1935|      0|		break; \
  |  | 1936|      0|	case 27: result = checkowner_gpos(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1936:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1937|      0|	case 28: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1937:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1938|      0|		case 1: result = checkowner_in_aaaa(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1938:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1939|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1939:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1940|      0|		} \
  |  | 1941|      0|		break; \
  |  | 1942|      0|	case 29: result = checkowner_loc(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1942:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1943|      0|	case 30: result = checkowner_nxt(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1943:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1944|      0|	case 31: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1944:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1945|      0|		case 1: result = checkowner_in_eid(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1945:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1946|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1946:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1947|      0|		} \
  |  | 1948|      0|		break; \
  |  | 1949|      0|	case 32: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1949:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1950|      0|		case 1: result = checkowner_in_nimloc(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1950:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1951|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1951:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1952|      0|		} \
  |  | 1953|      0|		break; \
  |  | 1954|      0|	case 33: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1954:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1955|      0|		case 1: result = checkowner_in_srv(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1955:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1956|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1956:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1957|      0|		} \
  |  | 1958|      0|		break; \
  |  | 1959|      0|	case 34: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1959:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1960|      0|		case 1: result = checkowner_in_atma(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1960:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1961|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1961:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1962|      0|		} \
  |  | 1963|      0|		break; \
  |  | 1964|      0|	case 35: result = checkowner_naptr(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1964:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1965|      0|	case 36: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1965:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1966|      0|		case 1: result = checkowner_in_kx(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1966:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1967|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1967:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1968|      0|		} \
  |  | 1969|      0|		break; \
  |  | 1970|      0|	case 37: result = checkowner_cert(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1970:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1971|      0|	case 38: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1971:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1972|      0|		case 1: result = checkowner_in_a6(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1972:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1973|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1973:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1974|      0|		} \
  |  | 1975|      0|		break; \
  |  | 1976|      0|	case 39: result = checkowner_dname(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1976:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1977|      0|	case 40: result = checkowner_sink(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1977:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1978|      0|	case 41: result = checkowner_opt(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1978:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1979|      0|	case 42: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1979:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1980|      0|		case 1: result = checkowner_in_apl(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1980:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1981|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1981:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1982|      0|		} \
  |  | 1983|      0|		break; \
  |  | 1984|      0|	case 43: result = checkowner_ds(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1984:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1985|      0|	case 44: result = checkowner_sshfp(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1985:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1986|      0|	case 45: result = checkowner_ipseckey(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1986:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1987|      0|	case 46: result = checkowner_rrsig(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1987:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1988|      0|	case 47: result = checkowner_nsec(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1988:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1989|      0|	case 48: result = checkowner_dnskey(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1989:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1990|      0|	case 49: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (1990:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1991|      0|		case 1: result = checkowner_in_dhcid(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1991:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1992|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (1992:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 1993|      0|		} \
  |  | 1994|      0|		break; \
  |  | 1995|  4.67k|	case 50: result = checkowner_nsec3(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1995:2): [True: 4.67k, False: 0]
  |  |  ------------------
  |  | 1996|      0|	case 51: result = checkowner_nsec3param(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1996:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1997|      0|	case 52: result = checkowner_tlsa(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1997:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1998|      0|	case 53: result = checkowner_smimea(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1998:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 1999|      0|	case 55: result = checkowner_hip(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (1999:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2000|      0|	case 56: result = checkowner_ninfo(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2000:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2001|      0|	case 57: result = checkowner_rkey(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2001:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2002|      0|	case 58: result = checkowner_talink(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2002:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2003|      0|	case 59: result = checkowner_cds(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2003:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2004|      0|	case 60: result = checkowner_cdnskey(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2004:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2005|      0|	case 61: result = checkowner_openpgpkey(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2005:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2006|      0|	case 62: result = checkowner_csync(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2006:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2007|      0|	case 63: result = checkowner_zonemd(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2007:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2008|      0|	case 64: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (2008:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2009|      0|		case 1: result = checkowner_in_svcb(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2009:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 2010|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (2010:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 2011|      0|		} \
  |  | 2012|      0|		break; \
  |  | 2013|      0|	case 65: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (2013:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2014|      0|		case 1: result = checkowner_in_https(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2014:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 2015|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (2015:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 2016|      0|		} \
  |  | 2017|      0|		break; \
  |  | 2018|      0|	case 66: result = checkowner_dsync(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2018:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2019|      0|	case 67: result = checkowner_hhit(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2019:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2020|      0|	case 68: result = checkowner_brid(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2020:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2021|      0|	case 99: result = checkowner_spf(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2021:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2022|      0|	case 104: result = checkowner_nid(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2022:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2023|      0|	case 105: result = checkowner_l32(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2023:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2024|      0|	case 106: result = checkowner_l64(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2024:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2025|      0|	case 107: result = checkowner_lp(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2025:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2026|      0|	case 108: result = checkowner_eui48(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2026:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2027|      0|	case 109: result = checkowner_eui64(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2027:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2028|      0|	case 249: result = checkowner_tkey(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2028:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2029|      0|	case 250: switch (rdclass) { \
  |  |  ------------------
  |  |  |  Branch (2029:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2030|      0|		case 255: result = checkowner_any_tsig(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2030:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 2031|      0|		default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (2031:3): [True: 0, False: 0]
  |  |  ------------------
  |  | 2032|      0|		} \
  |  | 2033|      0|		break; \
  |  | 2034|      0|	case 256: result = checkowner_uri(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2034:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2035|      0|	case 257: result = checkowner_caa(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2035:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2036|      0|	case 258: result = checkowner_avc(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2036:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2037|      0|	case 259: result = checkowner_doa(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2037:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2038|      0|	case 260: result = checkowner_amtrelay(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2038:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2039|      0|	case 261: result = checkowner_resinfo(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2039:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2040|      0|	case 262: result = checkowner_wallet(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2040:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2041|      0|	case 32768: result = checkowner_ta(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2041:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2042|      0|	case 32769: result = checkowner_dlv(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2042:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2043|      0|	case 65533: result = checkowner_keydata(name, rdclass, type, wildcard); break; \
  |  |  ------------------
  |  |  |  Branch (2043:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2044|      0|	default: result = true; break; \
  |  |  ------------------
  |  |  |  Branch (2044:2): [True: 0, False: 4.67k]
  |  |  ------------------
  |  | 2045|  4.67k|	}
  ------------------
 1494|  4.67k|	return result;
 1495|  4.67k|}
dns_rdatatype_attributes:
 1507|   503k|dns_rdatatype_attributes(dns_rdatatype_t type) {
 1508|   503k|	RDATATYPE_ATTRIBUTE_SW
  ------------------
  |  | 2467|   503k|	switch (type) { \
  |  |  ------------------
  |  |  |  Branch (2467:10): [True: 380k, False: 122k]
  |  |  ------------------
  |  | 2468|  11.3k|	case 1: return (RRTYPE_A_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   18|  11.3k|#define RRTYPE_A_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2468:2): [True: 11.3k, False: 491k]
  |  |  ------------------
  |  | 2469|  5.63k|	case 2: return (RRTYPE_NS_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  5.63k|#define RRTYPE_NS_ATTRIBUTES (DNS_RDATATYPEATTR_ZONECUTAUTH)
  |  |  ------------------
  |  |  |  Branch (2469:2): [True: 5.63k, False: 497k]
  |  |  ------------------
  |  | 2470|  4.22k|	case 3: return (RRTYPE_MD_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  4.22k|#define RRTYPE_MD_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2470:2): [True: 4.22k, False: 498k]
  |  |  ------------------
  |  | 2471|  2.90k|	case 4: return (RRTYPE_MF_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.90k|#define RRTYPE_MF_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2471:2): [True: 2.90k, False: 500k]
  |  |  ------------------
  |  | 2472|  3.81k|	case 5: return (RRTYPE_CNAME_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   18|  3.81k|	(DNS_RDATATYPEATTR_EXCLUSIVE | DNS_RDATATYPEATTR_SINGLETON)
  |  |  ------------------
  |  |  |  Branch (2472:2): [True: 3.81k, False: 499k]
  |  |  ------------------
  |  | 2473|  7.32k|	case 6: return (RRTYPE_SOA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  7.32k|#define RRTYPE_SOA_ATTRIBUTES (DNS_RDATATYPEATTR_SINGLETON)
  |  |  ------------------
  |  |  |  Branch (2473:2): [True: 7.32k, False: 495k]
  |  |  ------------------
  |  | 2474|  3.07k|	case 7: return (RRTYPE_MB_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  3.07k|#define RRTYPE_MB_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2474:2): [True: 3.07k, False: 500k]
  |  |  ------------------
  |  | 2475|  2.24k|	case 8: return (RRTYPE_MG_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.24k|#define RRTYPE_MG_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2475:2): [True: 2.24k, False: 500k]
  |  |  ------------------
  |  | 2476|  2.95k|	case 9: return (RRTYPE_MR_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.95k|#define RRTYPE_MR_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2476:2): [True: 2.95k, False: 500k]
  |  |  ------------------
  |  | 2477|  5.30k|	case 10: return (RRTYPE_NULL_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  5.30k|#define RRTYPE_NULL_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2477:2): [True: 5.30k, False: 497k]
  |  |  ------------------
  |  | 2478|  5.59k|	case 11: return (RRTYPE_WKS_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   24|  5.59k|#define RRTYPE_WKS_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2478:2): [True: 5.59k, False: 497k]
  |  |  ------------------
  |  | 2479|  2.19k|	case 12: return (RRTYPE_PTR_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.19k|#define RRTYPE_PTR_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2479:2): [True: 2.19k, False: 501k]
  |  |  ------------------
  |  | 2480|  2.70k|	case 13: return (RRTYPE_HINFO_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   16|  2.70k|#define RRTYPE_HINFO_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2480:2): [True: 2.70k, False: 500k]
  |  |  ------------------
  |  | 2481|  1.74k|	case 14: return (RRTYPE_MINFO_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  1.74k|#define RRTYPE_MINFO_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2481:2): [True: 1.74k, False: 501k]
  |  |  ------------------
  |  | 2482|  2.99k|	case 15: return (RRTYPE_MX_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   23|  2.99k|#define RRTYPE_MX_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2482:2): [True: 2.99k, False: 500k]
  |  |  ------------------
  |  | 2483|  2.59k|	case 16: return (RRTYPE_TXT_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.59k|#define RRTYPE_TXT_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2483:2): [True: 2.59k, False: 500k]
  |  |  ------------------
  |  | 2484|  2.02k|	case 17: return (RRTYPE_RP_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.02k|#define RRTYPE_RP_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2484:2): [True: 2.02k, False: 501k]
  |  |  ------------------
  |  | 2485|  1.34k|	case 18: return (RRTYPE_AFSDB_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.34k|#define RRTYPE_AFSDB_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2485:2): [True: 1.34k, False: 501k]
  |  |  ------------------
  |  | 2486|  1.70k|	case 19: return (RRTYPE_X25_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.70k|#define RRTYPE_X25_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2486:2): [True: 1.70k, False: 501k]
  |  |  ------------------
  |  | 2487|  2.55k|	case 20: return (RRTYPE_ISDN_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.55k|#define RRTYPE_ISDN_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2487:2): [True: 2.55k, False: 500k]
  |  |  ------------------
  |  | 2488|  2.11k|	case 21: return (RRTYPE_RT_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.11k|#define RRTYPE_RT_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2488:2): [True: 2.11k, False: 501k]
  |  |  ------------------
  |  | 2489|  3.09k|	case 22: return (RRTYPE_NSAP_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  3.09k|#define RRTYPE_NSAP_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2489:2): [True: 3.09k, False: 500k]
  |  |  ------------------
  |  | 2490|  2.44k|	case 23: return (RRTYPE_NSAP_PTR_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.44k|#define RRTYPE_NSAP_PTR_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2490:2): [True: 2.44k, False: 500k]
  |  |  ------------------
  |  | 2491|  5.74k|	case 24: return (RRTYPE_SIG_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  5.74k|#define RRTYPE_SIG_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2491:2): [True: 5.74k, False: 497k]
  |  |  ------------------
  |  | 2492|  3.75k|	case 25: return (RRTYPE_KEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  3.75k|#define RRTYPE_KEY_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2492:2): [True: 3.75k, False: 499k]
  |  |  ------------------
  |  | 2493|  5.16k|	case 26: return (RRTYPE_PX_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  5.16k|#define RRTYPE_PX_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2493:2): [True: 5.16k, False: 498k]
  |  |  ------------------
  |  | 2494|  2.21k|	case 27: return (RRTYPE_GPOS_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.21k|#define RRTYPE_GPOS_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2494:2): [True: 2.21k, False: 501k]
  |  |  ------------------
  |  | 2495|  3.73k|	case 28: return (RRTYPE_AAAA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  3.73k|#define RRTYPE_AAAA_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2495:2): [True: 3.73k, False: 499k]
  |  |  ------------------
  |  | 2496|  8.26k|	case 29: return (RRTYPE_LOC_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  8.26k|#define RRTYPE_LOC_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2496:2): [True: 8.26k, False: 494k]
  |  |  ------------------
  |  | 2497|  3.21k|	case 30: return (RRTYPE_NXT_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   23|  3.21k|#define RRTYPE_NXT_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2497:2): [True: 3.21k, False: 500k]
  |  |  ------------------
  |  | 2498|  8.65k|	case 31: return (RRTYPE_EID_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  8.65k|#define RRTYPE_EID_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2498:2): [True: 8.65k, False: 494k]
  |  |  ------------------
  |  | 2499|  3.83k|	case 32: return (RRTYPE_NIMLOC_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  3.83k|#define RRTYPE_NIMLOC_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2499:2): [True: 3.83k, False: 499k]
  |  |  ------------------
  |  | 2500|  5.89k|	case 33: return (RRTYPE_SRV_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  5.89k|#define RRTYPE_SRV_ATTRIBUTES (DNS_RDATATYPEATTR_FOLLOWADDITIONAL)
  |  |  ------------------
  |  |  |  Branch (2500:2): [True: 5.89k, False: 497k]
  |  |  ------------------
  |  | 2501|  6.89k|	case 34: return (RRTYPE_ATMA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  6.89k|#define RRTYPE_ATMA_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2501:2): [True: 6.89k, False: 496k]
  |  |  ------------------
  |  | 2502|  13.8k|	case 35: return (RRTYPE_NAPTR_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  13.8k|#define RRTYPE_NAPTR_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2502:2): [True: 13.8k, False: 489k]
  |  |  ------------------
  |  | 2503|  6.05k|	case 36: return (RRTYPE_KX_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  6.05k|#define RRTYPE_KX_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2503:2): [True: 6.05k, False: 497k]
  |  |  ------------------
  |  | 2504|  4.57k|	case 37: return (RRTYPE_CERT_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  4.57k|#define RRTYPE_CERT_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2504:2): [True: 4.57k, False: 498k]
  |  |  ------------------
  |  | 2505|  5.83k|	case 38: return (RRTYPE_A6_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  5.83k|#define RRTYPE_A6_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2505:2): [True: 5.83k, False: 497k]
  |  |  ------------------
  |  | 2506|  5.20k|	case 39: return (RRTYPE_DNAME_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  5.20k|#define RRTYPE_DNAME_ATTRIBUTES (DNS_RDATATYPEATTR_SINGLETON)
  |  |  ------------------
  |  |  |  Branch (2506:2): [True: 5.20k, False: 498k]
  |  |  ------------------
  |  | 2507|  3.16k|	case 40: return (RRTYPE_SINK_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  3.16k|#define RRTYPE_SINK_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2507:2): [True: 3.16k, False: 500k]
  |  |  ------------------
  |  | 2508|  8.85k|	case 41: return (RRTYPE_OPT_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   20|  8.85k|	(DNS_RDATATYPEATTR_SINGLETON | DNS_RDATATYPEATTR_META | \
  |  |  |  |   21|  8.85k|	 DNS_RDATATYPEATTR_NOTQUESTION)
  |  |  ------------------
  |  |  |  Branch (2508:2): [True: 8.85k, False: 494k]
  |  |  ------------------
  |  | 2509|  6.70k|	case 42: return (RRTYPE_APL_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  6.70k|#define RRTYPE_APL_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2509:2): [True: 6.70k, False: 496k]
  |  |  ------------------
  |  | 2510|  2.08k|	case 43: return (RRTYPE_DS_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   20|  2.08k|	(DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \
  |  |  |  |   21|  2.08k|	 DNS_RDATATYPEATTR_ATPARENT)
  |  |  ------------------
  |  |  |  Branch (2510:2): [True: 2.08k, False: 501k]
  |  |  ------------------
  |  | 2511|  2.98k|	case 44: return (RRTYPE_SSHFP_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.98k|#define RRTYPE_SSHFP_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2511:2): [True: 2.98k, False: 500k]
  |  |  ------------------
  |  | 2512|  5.11k|	case 45: return (RRTYPE_IPSECKEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  5.11k|#define RRTYPE_IPSECKEY_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2512:2): [True: 5.11k, False: 498k]
  |  |  ------------------
  |  | 2513|  8.21k|	case 46: return (RRTYPE_RRSIG_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   20|  8.21k|	(DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \
  |  |  |  |   21|  8.21k|	 DNS_RDATATYPEATTR_ATCNAME)
  |  |  ------------------
  |  |  |  Branch (2513:2): [True: 8.21k, False: 495k]
  |  |  ------------------
  |  | 2514|  4.47k|	case 47: return (RRTYPE_NSEC_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   24|  4.47k|	(DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH | \
  |  |  |  |   25|  4.47k|	 DNS_RDATATYPEATTR_ATCNAME)
  |  |  ------------------
  |  |  |  Branch (2514:2): [True: 4.47k, False: 498k]
  |  |  ------------------
  |  | 2515|  3.33k|	case 48: return (RRTYPE_DNSKEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  3.33k|#define RRTYPE_DNSKEY_ATTRIBUTES (DNS_RDATATYPEATTR_DNSSEC)
  |  |  ------------------
  |  |  |  Branch (2515:2): [True: 3.33k, False: 499k]
  |  |  ------------------
  |  | 2516|  6.14k|	case 49: return (RRTYPE_DHCID_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  6.14k|#define RRTYPE_DHCID_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2516:2): [True: 6.14k, False: 497k]
  |  |  ------------------
  |  | 2517|  5.17k|	case 50: return (RRTYPE_NSEC3_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   40|  5.17k|#define RRTYPE_NSEC3_ATTRIBUTES DNS_RDATATYPEATTR_DNSSEC
  |  |  ------------------
  |  |  |  Branch (2517:2): [True: 5.17k, False: 498k]
  |  |  ------------------
  |  | 2518|  2.57k|	case 51: return (RRTYPE_NSEC3PARAM_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   38|  2.57k|#define RRTYPE_NSEC3PARAM_ATTRIBUTES (DNS_RDATATYPEATTR_DNSSEC)
  |  |  ------------------
  |  |  |  Branch (2518:2): [True: 2.57k, False: 500k]
  |  |  ------------------
  |  | 2519|  3.28k|	case 52: return (RRTYPE_TLSA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  3.28k|#define RRTYPE_TLSA_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2519:2): [True: 3.28k, False: 499k]
  |  |  ------------------
  |  | 2520|  2.11k|	case 53: return (RRTYPE_SMIMEA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.11k|#define RRTYPE_SMIMEA_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2520:2): [True: 2.11k, False: 501k]
  |  |  ------------------
  |  | 2521|  35.1k|	case 55: return (RRTYPE_HIP_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   18|  35.1k|#define RRTYPE_HIP_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2521:2): [True: 35.1k, False: 468k]
  |  |  ------------------
  |  | 2522|  2.02k|	case 56: return (RRTYPE_NINFO_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.02k|#define RRTYPE_NINFO_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2522:2): [True: 2.02k, False: 501k]
  |  |  ------------------
  |  | 2523|  2.83k|	case 57: return (RRTYPE_RKEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.83k|#define RRTYPE_RKEY_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2523:2): [True: 2.83k, False: 500k]
  |  |  ------------------
  |  | 2524|  2.82k|	case 58: return (RRTYPE_TALINK_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.82k|#define RRTYPE_TALINK_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2524:2): [True: 2.82k, False: 500k]
  |  |  ------------------
  |  | 2525|  2.68k|	case 59: return (RRTYPE_CDS_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.68k|#define RRTYPE_CDS_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2525:2): [True: 2.68k, False: 500k]
  |  |  ------------------
  |  | 2526|  2.03k|	case 60: return (RRTYPE_CDNSKEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  2.03k|#define RRTYPE_CDNSKEY_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2526:2): [True: 2.03k, False: 501k]
  |  |  ------------------
  |  | 2527|  1.68k|	case 61: return (RRTYPE_OPENPGPKEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  1.68k|#define RRTYPE_OPENPGPKEY_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2527:2): [True: 1.68k, False: 501k]
  |  |  ------------------
  |  | 2528|  3.28k|	case 62: return (RRTYPE_CSYNC_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  3.28k|#define RRTYPE_CSYNC_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2528:2): [True: 3.28k, False: 499k]
  |  |  ------------------
  |  | 2529|  3.00k|	case 63: return (RRTYPE_ZONEMD_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  3.00k|#define RRTYPE_ZONEMD_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2529:2): [True: 3.00k, False: 500k]
  |  |  ------------------
  |  | 2530|  9.09k|	case 64: return (RRTYPE_SVCB_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  9.09k|#define RRTYPE_SVCB_ATTRIBUTES (DNS_RDATATYPEATTR_FOLLOWADDITIONAL)
  |  |  ------------------
  |  |  |  Branch (2530:2): [True: 9.09k, False: 494k]
  |  |  ------------------
  |  | 2531|  7.01k|	case 65: return (RRTYPE_HTTPS_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   18|  7.01k|#define RRTYPE_HTTPS_ATTRIBUTES (DNS_RDATATYPEATTR_FOLLOWADDITIONAL)
  |  |  ------------------
  |  |  |  Branch (2531:2): [True: 7.01k, False: 496k]
  |  |  ------------------
  |  | 2532|  2.46k|	case 66: return (RRTYPE_DSYNC_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   24|  2.46k|#define RRTYPE_DSYNC_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2532:2): [True: 2.46k, False: 500k]
  |  |  ------------------
  |  | 2533|  1.29k|	case 67: return (RRTYPE_HHIT_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.29k|#define RRTYPE_HHIT_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2533:2): [True: 1.29k, False: 501k]
  |  |  ------------------
  |  | 2534|  1.93k|	case 68: return (RRTYPE_BRID_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.93k|#define RRTYPE_BRID_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2534:2): [True: 1.93k, False: 501k]
  |  |  ------------------
  |  | 2535|  1.60k|	case 99: return (RRTYPE_SPF_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  1.60k|#define RRTYPE_SPF_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2535:2): [True: 1.60k, False: 501k]
  |  |  ------------------
  |  | 2536|    837|	case 100: return (0); \
  |  |  ------------------
  |  |  |  Branch (2536:2): [True: 837, False: 502k]
  |  |  ------------------
  |  | 2537|  1.14k|	case 101: return (0); \
  |  |  ------------------
  |  |  |  Branch (2537:2): [True: 1.14k, False: 502k]
  |  |  ------------------
  |  | 2538|    976|	case 102: return (0); \
  |  |  ------------------
  |  |  |  Branch (2538:2): [True: 976, False: 502k]
  |  |  ------------------
  |  | 2539|    944|	case 103: return (0); \
  |  |  ------------------
  |  |  |  Branch (2539:2): [True: 944, False: 502k]
  |  |  ------------------
  |  | 2540|  1.74k|	case 104: return (RRTYPE_NID_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  1.74k|#define RRTYPE_NID_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2540:2): [True: 1.74k, False: 501k]
  |  |  ------------------
  |  | 2541|  2.51k|	case 105: return (RRTYPE_L32_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  2.51k|#define RRTYPE_L32_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2541:2): [True: 2.51k, False: 500k]
  |  |  ------------------
  |  | 2542|  1.69k|	case 106: return (RRTYPE_L64_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  1.69k|#define RRTYPE_L64_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2542:2): [True: 1.69k, False: 501k]
  |  |  ------------------
  |  | 2543|  1.49k|	case 107: return (RRTYPE_LP_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  1.49k|#define RRTYPE_LP_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2543:2): [True: 1.49k, False: 501k]
  |  |  ------------------
  |  | 2544|  1.57k|	case 108: return (RRTYPE_EUI48_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.57k|#define RRTYPE_EUI48_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2544:2): [True: 1.57k, False: 501k]
  |  |  ------------------
  |  | 2545|  1.75k|	case 109: return (RRTYPE_EUI64_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.75k|#define RRTYPE_EUI64_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2545:2): [True: 1.75k, False: 501k]
  |  |  ------------------
  |  | 2546|  5.11k|	case 249: return (RRTYPE_TKEY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  5.11k|#define RRTYPE_TKEY_ATTRIBUTES (DNS_RDATATYPEATTR_META)
  |  |  ------------------
  |  |  |  Branch (2546:2): [True: 5.11k, False: 498k]
  |  |  ------------------
  |  | 2547|  6.91k|	case 250: return (RRTYPE_TSIG_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   18|  6.91k|	(DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_NOTQUESTION)
  |  |  ------------------
  |  |  |  Branch (2547:2): [True: 6.91k, False: 496k]
  |  |  ------------------
  |  | 2548|  1.16k|	case 251: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \
  |  |  ------------------
  |  |  |  Branch (2548:2): [True: 1.16k, False: 502k]
  |  |  ------------------
  |  | 2549|  1.75k|	case 252: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \
  |  |  ------------------
  |  |  |  Branch (2549:2): [True: 1.75k, False: 501k]
  |  |  ------------------
  |  | 2550|  1.78k|	case 253: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \
  |  |  ------------------
  |  |  |  Branch (2550:2): [True: 1.78k, False: 501k]
  |  |  ------------------
  |  | 2551|  3.00k|	case 254: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \
  |  |  ------------------
  |  |  |  Branch (2551:2): [True: 3.00k, False: 500k]
  |  |  ------------------
  |  | 2552|  2.53k|	case 255: return (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_QUESTIONONLY); \
  |  |  ------------------
  |  |  |  Branch (2552:2): [True: 2.53k, False: 500k]
  |  |  ------------------
  |  | 2553|  2.14k|	case 256: return (RRTYPE_URI_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.14k|#define RRTYPE_URI_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2553:2): [True: 2.14k, False: 501k]
  |  |  ------------------
  |  | 2554|  2.46k|	case 257: return (RRTYPE_CAA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.46k|#define RRTYPE_CAA_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2554:2): [True: 2.46k, False: 500k]
  |  |  ------------------
  |  | 2555|  1.54k|	case 258: return (RRTYPE_AVC_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  1.54k|#define RRTYPE_AVC_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2555:2): [True: 1.54k, False: 501k]
  |  |  ------------------
  |  | 2556|  2.57k|	case 259: return (RRTYPE_DOA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.57k|#define RRTYPE_DOA_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2556:2): [True: 2.57k, False: 500k]
  |  |  ------------------
  |  | 2557|  7.48k|	case 260: return (RRTYPE_AMTRELAY_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   21|  7.48k|#define RRTYPE_AMTRELAY_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2557:2): [True: 7.48k, False: 495k]
  |  |  ------------------
  |  | 2558|  2.10k|	case 261: return (RRTYPE_RESINFO_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  2.10k|#define RRTYPE_RESINFO_ATTRIBUTES (DNS_RDATATYPEATTR_SINGLETON)
  |  |  ------------------
  |  |  |  Branch (2558:2): [True: 2.10k, False: 501k]
  |  |  ------------------
  |  | 2559|  1.50k|	case 262: return (RRTYPE_WALLET_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   17|  1.50k|#define RRTYPE_WALLET_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2559:2): [True: 1.50k, False: 501k]
  |  |  ------------------
  |  | 2560|  2.03k|	case 32768: return (RRTYPE_TA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  2.03k|#define RRTYPE_TA_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2560:2): [True: 2.03k, False: 501k]
  |  |  ------------------
  |  | 2561|  1.40k|	case 32769: return (RRTYPE_DLV_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   19|  1.40k|#define RRTYPE_DLV_ATTRIBUTES 0
  |  |  ------------------
  |  |  |  Branch (2561:2): [True: 1.40k, False: 501k]
  |  |  ------------------
  |  | 2562|  2.90k|	case 65533: return (RRTYPE_KEYDATA_ATTRIBUTES); \
  |  |  ------------------
  |  |  |  |   22|  2.90k|#define RRTYPE_KEYDATA_ATTRIBUTES (0)
  |  |  ------------------
  |  |  |  Branch (2562:2): [True: 2.90k, False: 500k]
  |  |  ------------------
  |  | 2563|   503k|	}
  ------------------
 1509|   122k|	if (type >= (dns_rdatatype_t)128 && type <= (dns_rdatatype_t)255) {
  ------------------
  |  Branch (1509:6): [True: 107k, False: 14.7k]
  |  Branch (1509:38): [True: 7.06k, False: 100k]
  ------------------
 1510|  7.06k|		return DNS_RDATATYPEATTR_UNKNOWN | DNS_RDATATYPEATTR_META;
 1511|  7.06k|	}
 1512|   115k|	return DNS_RDATATYPEATTR_UNKNOWN;
 1513|   122k|}
dns_rdatatype_totext:
 1563|   385k|dns_rdatatype_totext(dns_rdatatype_t type, isc_buffer_t *target) {
 1564|   385k|	RDATATYPE_TOTEXT_SW
  ------------------
  |  | 2565|   385k|	switch (type) { \
  |  |  ------------------
  |  |  |  Branch (2565:10): [True: 241k, False: 143k]
  |  |  ------------------
  |  | 2566|  8.06k|	case 1: return (str_totext("A", target)); \
  |  |  ------------------
  |  |  |  Branch (2566:2): [True: 8.06k, False: 377k]
  |  |  ------------------
  |  | 2567|  4.02k|	case 2: return (str_totext("NS", target)); \
  |  |  ------------------
  |  |  |  Branch (2567:2): [True: 4.02k, False: 381k]
  |  |  ------------------
  |  | 2568|  3.07k|	case 3: return (str_totext("MD", target)); \
  |  |  ------------------
  |  |  |  Branch (2568:2): [True: 3.07k, False: 382k]
  |  |  ------------------
  |  | 2569|  2.62k|	case 4: return (str_totext("MF", target)); \
  |  |  ------------------
  |  |  |  Branch (2569:2): [True: 2.62k, False: 382k]
  |  |  ------------------
  |  | 2570|  2.69k|	case 5: return (str_totext("CNAME", target)); \
  |  |  ------------------
  |  |  |  Branch (2570:2): [True: 2.69k, False: 382k]
  |  |  ------------------
  |  | 2571|  5.38k|	case 6: return (str_totext("SOA", target)); \
  |  |  ------------------
  |  |  |  Branch (2571:2): [True: 5.38k, False: 379k]
  |  |  ------------------
  |  | 2572|  2.51k|	case 7: return (str_totext("MB", target)); \
  |  |  ------------------
  |  |  |  Branch (2572:2): [True: 2.51k, False: 382k]
  |  |  ------------------
  |  | 2573|  1.62k|	case 8: return (str_totext("MG", target)); \
  |  |  ------------------
  |  |  |  Branch (2573:2): [True: 1.62k, False: 383k]
  |  |  ------------------
  |  | 2574|  2.34k|	case 9: return (str_totext("MR", target)); \
  |  |  ------------------
  |  |  |  Branch (2574:2): [True: 2.34k, False: 382k]
  |  |  ------------------
  |  | 2575|  3.93k|	case 10: return (str_totext("NULL", target)); \
  |  |  ------------------
  |  |  |  Branch (2575:2): [True: 3.93k, False: 381k]
  |  |  ------------------
  |  | 2576|  3.71k|	case 11: return (str_totext("WKS", target)); \
  |  |  ------------------
  |  |  |  Branch (2576:2): [True: 3.71k, False: 381k]
  |  |  ------------------
  |  | 2577|  2.19k|	case 12: return (str_totext("PTR", target)); \
  |  |  ------------------
  |  |  |  Branch (2577:2): [True: 2.19k, False: 383k]
  |  |  ------------------
  |  | 2578|  1.83k|	case 13: return (str_totext("HINFO", target)); \
  |  |  ------------------
  |  |  |  Branch (2578:2): [True: 1.83k, False: 383k]
  |  |  ------------------
  |  | 2579|  1.87k|	case 14: return (str_totext("MINFO", target)); \
  |  |  ------------------
  |  |  |  Branch (2579:2): [True: 1.87k, False: 383k]
  |  |  ------------------
  |  | 2580|  2.26k|	case 15: return (str_totext("MX", target)); \
  |  |  ------------------
  |  |  |  Branch (2580:2): [True: 2.26k, False: 383k]
  |  |  ------------------
  |  | 2581|  1.83k|	case 16: return (str_totext("TXT", target)); \
  |  |  ------------------
  |  |  |  Branch (2581:2): [True: 1.83k, False: 383k]
  |  |  ------------------
  |  | 2582|  1.52k|	case 17: return (str_totext("RP", target)); \
  |  |  ------------------
  |  |  |  Branch (2582:2): [True: 1.52k, False: 383k]
  |  |  ------------------
  |  | 2583|  1.21k|	case 18: return (str_totext("AFSDB", target)); \
  |  |  ------------------
  |  |  |  Branch (2583:2): [True: 1.21k, False: 384k]
  |  |  ------------------
  |  | 2584|  1.24k|	case 19: return (str_totext("X25", target)); \
  |  |  ------------------
  |  |  |  Branch (2584:2): [True: 1.24k, False: 384k]
  |  |  ------------------
  |  | 2585|  1.49k|	case 20: return (str_totext("ISDN", target)); \
  |  |  ------------------
  |  |  |  Branch (2585:2): [True: 1.49k, False: 383k]
  |  |  ------------------
  |  | 2586|  1.17k|	case 21: return (str_totext("RT", target)); \
  |  |  ------------------
  |  |  |  Branch (2586:2): [True: 1.17k, False: 384k]
  |  |  ------------------
  |  | 2587|  3.64k|	case 22: return (str_totext("NSAP", target)); \
  |  |  ------------------
  |  |  |  Branch (2587:2): [True: 3.64k, False: 381k]
  |  |  ------------------
  |  | 2588|  2.94k|	case 23: return (str_totext("NSAP-PTR", target)); \
  |  |  ------------------
  |  |  |  Branch (2588:2): [True: 2.94k, False: 382k]
  |  |  ------------------
  |  | 2589|  4.74k|	case 24: return (str_totext("SIG", target)); \
  |  |  ------------------
  |  |  |  Branch (2589:2): [True: 4.74k, False: 380k]
  |  |  ------------------
  |  | 2590|  2.39k|	case 25: return (str_totext("KEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2590:2): [True: 2.39k, False: 382k]
  |  |  ------------------
  |  | 2591|  3.07k|	case 26: return (str_totext("PX", target)); \
  |  |  ------------------
  |  |  |  Branch (2591:2): [True: 3.07k, False: 382k]
  |  |  ------------------
  |  | 2592|  1.37k|	case 27: return (str_totext("GPOS", target)); \
  |  |  ------------------
  |  |  |  Branch (2592:2): [True: 1.37k, False: 383k]
  |  |  ------------------
  |  | 2593|  2.79k|	case 28: return (str_totext("AAAA", target)); \
  |  |  ------------------
  |  |  |  Branch (2593:2): [True: 2.79k, False: 382k]
  |  |  ------------------
  |  | 2594|  5.51k|	case 29: return (str_totext("LOC", target)); \
  |  |  ------------------
  |  |  |  Branch (2594:2): [True: 5.51k, False: 379k]
  |  |  ------------------
  |  | 2595|  2.67k|	case 30: return (str_totext("NXT", target)); \
  |  |  ------------------
  |  |  |  Branch (2595:2): [True: 2.67k, False: 382k]
  |  |  ------------------
  |  | 2596|  5.37k|	case 31: return (str_totext("EID", target)); \
  |  |  ------------------
  |  |  |  Branch (2596:2): [True: 5.37k, False: 379k]
  |  |  ------------------
  |  | 2597|  2.84k|	case 32: return (str_totext("NIMLOC", target)); \
  |  |  ------------------
  |  |  |  Branch (2597:2): [True: 2.84k, False: 382k]
  |  |  ------------------
  |  | 2598|  3.53k|	case 33: return (str_totext("SRV", target)); \
  |  |  ------------------
  |  |  |  Branch (2598:2): [True: 3.53k, False: 381k]
  |  |  ------------------
  |  | 2599|  4.69k|	case 34: return (str_totext("ATMA", target)); \
  |  |  ------------------
  |  |  |  Branch (2599:2): [True: 4.69k, False: 380k]
  |  |  ------------------
  |  | 2600|  7.27k|	case 35: return (str_totext("NAPTR", target)); \
  |  |  ------------------
  |  |  |  Branch (2600:2): [True: 7.27k, False: 378k]
  |  |  ------------------
  |  | 2601|  4.34k|	case 36: return (str_totext("KX", target)); \
  |  |  ------------------
  |  |  |  Branch (2601:2): [True: 4.34k, False: 380k]
  |  |  ------------------
  |  | 2602|  3.15k|	case 37: return (str_totext("CERT", target)); \
  |  |  ------------------
  |  |  |  Branch (2602:2): [True: 3.15k, False: 382k]
  |  |  ------------------
  |  | 2603|  3.54k|	case 38: return (str_totext("A6", target)); \
  |  |  ------------------
  |  |  |  Branch (2603:2): [True: 3.54k, False: 381k]
  |  |  ------------------
  |  | 2604|  2.82k|	case 39: return (str_totext("DNAME", target)); \
  |  |  ------------------
  |  |  |  Branch (2604:2): [True: 2.82k, False: 382k]
  |  |  ------------------
  |  | 2605|  2.01k|	case 40: return (str_totext("SINK", target)); \
  |  |  ------------------
  |  |  |  Branch (2605:2): [True: 2.01k, False: 383k]
  |  |  ------------------
  |  | 2606|  5.11k|	case 41: return (str_totext("OPT", target)); \
  |  |  ------------------
  |  |  |  Branch (2606:2): [True: 5.11k, False: 380k]
  |  |  ------------------
  |  | 2607|  4.01k|	case 42: return (str_totext("APL", target)); \
  |  |  ------------------
  |  |  |  Branch (2607:2): [True: 4.01k, False: 381k]
  |  |  ------------------
  |  | 2608|  1.55k|	case 43: return (str_totext("DS", target)); \
  |  |  ------------------
  |  |  |  Branch (2608:2): [True: 1.55k, False: 383k]
  |  |  ------------------
  |  | 2609|  2.10k|	case 44: return (str_totext("SSHFP", target)); \
  |  |  ------------------
  |  |  |  Branch (2609:2): [True: 2.10k, False: 383k]
  |  |  ------------------
  |  | 2610|  2.85k|	case 45: return (str_totext("IPSECKEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2610:2): [True: 2.85k, False: 382k]
  |  |  ------------------
  |  | 2611|  6.19k|	case 46: return (str_totext("RRSIG", target)); \
  |  |  ------------------
  |  |  |  Branch (2611:2): [True: 6.19k, False: 379k]
  |  |  ------------------
  |  | 2612|  2.91k|	case 47: return (str_totext("NSEC", target)); \
  |  |  ------------------
  |  |  |  Branch (2612:2): [True: 2.91k, False: 382k]
  |  |  ------------------
  |  | 2613|  2.53k|	case 48: return (str_totext("DNSKEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2613:2): [True: 2.53k, False: 382k]
  |  |  ------------------
  |  | 2614|  3.74k|	case 49: return (str_totext("DHCID", target)); \
  |  |  ------------------
  |  |  |  Branch (2614:2): [True: 3.74k, False: 381k]
  |  |  ------------------
  |  | 2615|  4.81k|	case 50: return (str_totext("NSEC3", target)); \
  |  |  ------------------
  |  |  |  Branch (2615:2): [True: 4.81k, False: 380k]
  |  |  ------------------
  |  | 2616|  2.18k|	case 51: return (str_totext("NSEC3PARAM", target)); \
  |  |  ------------------
  |  |  |  Branch (2616:2): [True: 2.18k, False: 383k]
  |  |  ------------------
  |  | 2617|  2.37k|	case 52: return (str_totext("TLSA", target)); \
  |  |  ------------------
  |  |  |  Branch (2617:2): [True: 2.37k, False: 382k]
  |  |  ------------------
  |  | 2618|  1.48k|	case 53: return (str_totext("SMIMEA", target)); \
  |  |  ------------------
  |  |  |  Branch (2618:2): [True: 1.48k, False: 383k]
  |  |  ------------------
  |  | 2619|  7.64k|	case 55: return (str_totext("HIP", target)); \
  |  |  ------------------
  |  |  |  Branch (2619:2): [True: 7.64k, False: 377k]
  |  |  ------------------
  |  | 2620|  1.41k|	case 56: return (str_totext("NINFO", target)); \
  |  |  ------------------
  |  |  |  Branch (2620:2): [True: 1.41k, False: 383k]
  |  |  ------------------
  |  | 2621|  1.84k|	case 57: return (str_totext("RKEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2621:2): [True: 1.84k, False: 383k]
  |  |  ------------------
  |  | 2622|  3.23k|	case 58: return (str_totext("TALINK", target)); \
  |  |  ------------------
  |  |  |  Branch (2622:2): [True: 3.23k, False: 382k]
  |  |  ------------------
  |  | 2623|  1.90k|	case 59: return (str_totext("CDS", target)); \
  |  |  ------------------
  |  |  |  Branch (2623:2): [True: 1.90k, False: 383k]
  |  |  ------------------
  |  | 2624|  1.38k|	case 60: return (str_totext("CDNSKEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2624:2): [True: 1.38k, False: 383k]
  |  |  ------------------
  |  | 2625|  1.49k|	case 61: return (str_totext("OPENPGPKEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2625:2): [True: 1.49k, False: 383k]
  |  |  ------------------
  |  | 2626|  1.66k|	case 62: return (str_totext("CSYNC", target)); \
  |  |  ------------------
  |  |  |  Branch (2626:2): [True: 1.66k, False: 383k]
  |  |  ------------------
  |  | 2627|  2.05k|	case 63: return (str_totext("ZONEMD", target)); \
  |  |  ------------------
  |  |  |  Branch (2627:2): [True: 2.05k, False: 383k]
  |  |  ------------------
  |  | 2628|  5.26k|	case 64: return (str_totext("SVCB", target)); \
  |  |  ------------------
  |  |  |  Branch (2628:2): [True: 5.26k, False: 380k]
  |  |  ------------------
  |  | 2629|  4.25k|	case 65: return (str_totext("HTTPS", target)); \
  |  |  ------------------
  |  |  |  Branch (2629:2): [True: 4.25k, False: 381k]
  |  |  ------------------
  |  | 2630|  1.48k|	case 66: return (str_totext("DSYNC", target)); \
  |  |  ------------------
  |  |  |  Branch (2630:2): [True: 1.48k, False: 383k]
  |  |  ------------------
  |  | 2631|    840|	case 67: return (str_totext("HHIT", target)); \
  |  |  ------------------
  |  |  |  Branch (2631:2): [True: 840, False: 384k]
  |  |  ------------------
  |  | 2632|  1.13k|	case 68: return (str_totext("BRID", target)); \
  |  |  ------------------
  |  |  |  Branch (2632:2): [True: 1.13k, False: 384k]
  |  |  ------------------
  |  | 2633|  1.31k|	case 99: return (str_totext("SPF", target)); \
  |  |  ------------------
  |  |  |  Branch (2633:2): [True: 1.31k, False: 384k]
  |  |  ------------------
  |  | 2634|    649|	case 100: return (str_totext("UINFO", target)); \
  |  |  ------------------
  |  |  |  Branch (2634:2): [True: 649, False: 384k]
  |  |  ------------------
  |  | 2635|    914|	case 101: return (str_totext("UID", target)); \
  |  |  ------------------
  |  |  |  Branch (2635:2): [True: 914, False: 384k]
  |  |  ------------------
  |  | 2636|    776|	case 102: return (str_totext("GID", target)); \
  |  |  ------------------
  |  |  |  Branch (2636:2): [True: 776, False: 384k]
  |  |  ------------------
  |  | 2637|    768|	case 103: return (str_totext("UNSPEC", target)); \
  |  |  ------------------
  |  |  |  Branch (2637:2): [True: 768, False: 384k]
  |  |  ------------------
  |  | 2638|    826|	case 104: return (str_totext("NID", target)); \
  |  |  ------------------
  |  |  |  Branch (2638:2): [True: 826, False: 384k]
  |  |  ------------------
  |  | 2639|  1.40k|	case 105: return (str_totext("L32", target)); \
  |  |  ------------------
  |  |  |  Branch (2639:2): [True: 1.40k, False: 383k]
  |  |  ------------------
  |  | 2640|    881|	case 106: return (str_totext("L64", target)); \
  |  |  ------------------
  |  |  |  Branch (2640:2): [True: 881, False: 384k]
  |  |  ------------------
  |  | 2641|    895|	case 107: return (str_totext("LP", target)); \
  |  |  ------------------
  |  |  |  Branch (2641:2): [True: 895, False: 384k]
  |  |  ------------------
  |  | 2642|    770|	case 108: return (str_totext("EUI48", target)); \
  |  |  ------------------
  |  |  |  Branch (2642:2): [True: 770, False: 384k]
  |  |  ------------------
  |  | 2643|    913|	case 109: return (str_totext("EUI64", target)); \
  |  |  ------------------
  |  |  |  Branch (2643:2): [True: 913, False: 384k]
  |  |  ------------------
  |  | 2644|  2.71k|	case 249: return (str_totext("TKEY", target)); \
  |  |  ------------------
  |  |  |  Branch (2644:2): [True: 2.71k, False: 382k]
  |  |  ------------------
  |  | 2645|  3.78k|	case 250: return (str_totext("TSIG", target)); \
  |  |  ------------------
  |  |  |  Branch (2645:2): [True: 3.78k, False: 381k]
  |  |  ------------------
  |  | 2646|    784|	case 251: return (str_totext("IXFR", target)); \
  |  |  ------------------
  |  |  |  Branch (2646:2): [True: 784, False: 384k]
  |  |  ------------------
  |  | 2647|  1.21k|	case 252: return (str_totext("AXFR", target)); \
  |  |  ------------------
  |  |  |  Branch (2647:2): [True: 1.21k, False: 384k]
  |  |  ------------------
  |  | 2648|  1.10k|	case 253: return (str_totext("MAILB", target)); \
  |  |  ------------------
  |  |  |  Branch (2648:2): [True: 1.10k, False: 384k]
  |  |  ------------------
  |  | 2649|  1.95k|	case 254: return (str_totext("MAILA", target)); \
  |  |  ------------------
  |  |  |  Branch (2649:2): [True: 1.95k, False: 383k]
  |  |  ------------------
  |  | 2650|  1.86k|	case 255: return (str_totext("ANY", target)); \
  |  |  ------------------
  |  |  |  Branch (2650:2): [True: 1.86k, False: 383k]
  |  |  ------------------
  |  | 2651|  2.76k|	case 256: return (str_totext("URI", target)); \
  |  |  ------------------
  |  |  |  Branch (2651:2): [True: 2.76k, False: 382k]
  |  |  ------------------
  |  | 2652|  1.67k|	case 257: return (str_totext("CAA", target)); \
  |  |  ------------------
  |  |  |  Branch (2652:2): [True: 1.67k, False: 383k]
  |  |  ------------------
  |  | 2653|    957|	case 258: return (str_totext("AVC", target)); \
  |  |  ------------------
  |  |  |  Branch (2653:2): [True: 957, False: 384k]
  |  |  ------------------
  |  | 2654|  1.54k|	case 259: return (str_totext("DOA", target)); \
  |  |  ------------------
  |  |  |  Branch (2654:2): [True: 1.54k, False: 383k]
  |  |  ------------------
  |  | 2655|  3.75k|	case 260: return (str_totext("AMTRELAY", target)); \
  |  |  ------------------
  |  |  |  Branch (2655:2): [True: 3.75k, False: 381k]
  |  |  ------------------
  |  | 2656|  1.22k|	case 261: return (str_totext("RESINFO", target)); \
  |  |  ------------------
  |  |  |  Branch (2656:2): [True: 1.22k, False: 384k]
  |  |  ------------------
  |  | 2657|  1.10k|	case 262: return (str_totext("WALLET", target)); \
  |  |  ------------------
  |  |  |  Branch (2657:2): [True: 1.10k, False: 384k]
  |  |  ------------------
  |  | 2658|  1.47k|	case 32768: return (str_totext("TA", target)); \
  |  |  ------------------
  |  |  |  Branch (2658:2): [True: 1.47k, False: 383k]
  |  |  ------------------
  |  | 2659|    835|	case 32769: return (str_totext("DLV", target)); \
  |  |  ------------------
  |  |  |  Branch (2659:2): [True: 835, False: 384k]
  |  |  ------------------
  |  | 2660|   385k|	}
  ------------------
 1565|       |
 1566|   143k|	return dns_rdatatype_tounknowntext(type, target);
 1567|   385k|}
dns_rdatatype_tounknowntext:
 1570|   143k|dns_rdatatype_tounknowntext(dns_rdatatype_t type, isc_buffer_t *target) {
 1571|   143k|	char buf[sizeof("TYPE65535")];
 1572|       |
 1573|   143k|	snprintf(buf, sizeof(buf), "TYPE%u", type);
 1574|   143k|	return str_totext(buf, target);
 1575|   143k|}
dns_rdata_covers:
 2327|  9.14k|dns_rdata_covers(dns_rdata_t *rdata) {
 2328|  9.14k|	if (rdata->type == dns_rdatatype_rrsig) {
  ------------------
  |  |  160|  9.14k|#define dns_rdatatype_rrsig	((dns_rdatatype_t)dns_rdatatype_rrsig)
  ------------------
  |  Branch (2328:6): [True: 4.98k, False: 4.16k]
  ------------------
 2329|  4.98k|		return covers_rrsig(rdata);
 2330|  4.98k|	}
 2331|  4.16k|	return covers_sig(rdata);
 2332|  9.14k|}
rdata.c:uint8_fromregion:
 2171|   172k|uint8_fromregion(isc_region_t *region) {
 2172|   172k|	REQUIRE(region->length >= 1);
  ------------------
  |  |  198|   172k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   172k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 172k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   172k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2173|       |
 2174|   172k|	return region->base[0];
 2175|   172k|}
rdata.c:name_length:
 1608|  60.4k|name_length(const dns_name_t *name) {
 1609|  60.4k|	return name->length;
 1610|  60.4k|}
rdata.c:mem_tobuffer:
 2186|   315k|mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) {
 2187|   315k|	isc_region_t tr;
 2188|       |
 2189|   315k|	if (length == 0U) {
  ------------------
  |  Branch (2189:6): [True: 11.0k, False: 304k]
  ------------------
 2190|  11.0k|		return ISC_R_SUCCESS;
 2191|  11.0k|	}
 2192|       |
 2193|   304k|	isc_buffer_availableregion(target, &tr);
 2194|   304k|	if (length > tr.length) {
  ------------------
  |  Branch (2194:6): [True: 12.3k, False: 292k]
  ------------------
 2195|  12.3k|		return ISC_R_NOSPACE;
 2196|  12.3k|	}
 2197|   292k|	if (tr.base != base) {
  ------------------
  |  Branch (2197:6): [True: 292k, False: 0]
  ------------------
 2198|   292k|		memmove(tr.base, base, length);
 2199|   292k|	}
 2200|   292k|	isc_buffer_add(target, length);
 2201|   292k|	return ISC_R_SUCCESS;
 2202|   304k|}
rdata.c:txt_fromwire:
 1837|  88.3k|txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) {
 1838|  88.3k|	unsigned int n;
 1839|  88.3k|	isc_region_t sregion;
 1840|  88.3k|	isc_region_t tregion;
 1841|       |
 1842|  88.3k|	isc_buffer_activeregion(source, &sregion);
 1843|  88.3k|	if (sregion.length == 0) {
  ------------------
  |  Branch (1843:6): [True: 40, False: 88.3k]
  ------------------
 1844|     40|		return ISC_R_UNEXPECTEDEND;
 1845|     40|	}
 1846|  88.3k|	n = *sregion.base + 1;
 1847|  88.3k|	if (n > sregion.length) {
  ------------------
  |  Branch (1847:6): [True: 55, False: 88.2k]
  ------------------
 1848|     55|		return ISC_R_UNEXPECTEDEND;
 1849|     55|	}
 1850|       |
 1851|  88.2k|	isc_buffer_availableregion(target, &tregion);
 1852|  88.2k|	if (n > tregion.length) {
  ------------------
  |  Branch (1852:6): [True: 2.27k, False: 85.9k]
  ------------------
 1853|  2.27k|		return ISC_R_NOSPACE;
 1854|  2.27k|	}
 1855|       |
 1856|  85.9k|	if (tregion.base != sregion.base) {
  ------------------
  |  Branch (1856:6): [True: 85.9k, False: 0]
  ------------------
 1857|  85.9k|		memmove(tregion.base, sregion.base, n);
 1858|  85.9k|	}
 1859|  85.9k|	isc_buffer_forward(source, n);
 1860|  85.9k|	isc_buffer_add(target, n);
 1861|  85.9k|	return ISC_R_SUCCESS;
 1862|  88.2k|}
rdata.c:check_private:
  586|  1.33k|check_private(isc_buffer_t *source, dns_secalg_t alg) {
  587|  1.33k|	isc_region_t sr;
  588|  1.33k|	if (alg == DNS_KEYALG_PRIVATEDNS) {
  ------------------
  |  Branch (588:6): [True: 635, False: 697]
  ------------------
  589|    635|		dns_fixedname_t fixed;
  590|       |
  591|    635|		RETERR(dns_name_fromwire(dns_fixedname_initname(&fixed), source,
  ------------------
  |  |  276|    635|	{                                  \
  |  |  277|    635|		isc_result_t _r = (x);     \
  |  |  278|    635|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 630]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|    635|	}
  ------------------
  592|    635|					 DNS_DECOMPRESS_NEVER, NULL));
  593|    697|	} else if (alg == DNS_KEYALG_PRIVATEOID) {
  ------------------
  |  Branch (593:13): [True: 697, False: 0]
  ------------------
  594|       |		/*
  595|       |		 * Check that we can extract the OID from the start of the
  596|       |		 * key data. We have a length byte followed by the OID BER
  597|       |		 * encoded.
  598|       |		 */
  599|    697|		const unsigned char *in = NULL;
  600|    697|		ASN1_OBJECT *obj = NULL;
  601|       |
  602|    697|		isc_buffer_activeregion(source, &sr);
  603|    697|		if (sr.length < 1 || (unsigned int)*sr.base + 1 > sr.length) {
  ------------------
  |  Branch (603:7): [True: 0, False: 697]
  |  Branch (603:24): [True: 5, False: 692]
  ------------------
  604|      5|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      5|	{                                  \
  |  |  277|      5|		isc_result_t _r = (x);     \
  |  |  278|      5|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 0]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|      5|	}
  ------------------
  605|      0|		}
  606|    692|		in = sr.base + 1;
  607|    692|		obj = d2i_ASN1_OBJECT(NULL, &in, *sr.base);
  608|    692|		if (obj == NULL) {
  ------------------
  |  Branch (608:7): [True: 15, False: 677]
  ------------------
  609|     15|			ERR_clear_error();
  610|     15|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     15|	{                                  \
  |  |  277|     15|		isc_result_t _r = (x);     \
  |  |  278|     15|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 15, False: 0]
  |  |  ------------------
  |  |  279|     15|			return ((_r));     \
  |  |  280|     15|		}                          \
  |  |  281|     15|	}
  ------------------
  611|      0|		}
  612|    677|		ASN1_OBJECT_free(obj);
  613|    677|		if ((in - sr.base) != (*sr.base + 1)) {
  ------------------
  |  Branch (613:7): [True: 1, False: 676]
  ------------------
  614|      1|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      1|	{                                  \
  |  |  277|      1|		isc_result_t _r = (x);     \
  |  |  278|      1|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 0]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|      1|	}
  ------------------
  615|      0|		}
  616|    677|	}
  617|  1.30k|	return ISC_R_SUCCESS;
  618|  1.33k|}
rdata.c:uint32_fromregion:
 2144|  69.8k|uint32_fromregion(isc_region_t *region) {
 2145|  69.8k|	uint32_t value;
 2146|       |
 2147|  69.8k|	REQUIRE(region->length >= 4);
  ------------------
  |  |  198|  69.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  69.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 69.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  69.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2148|  69.8k|	value = (uint32_t)region->base[0] << 24;
 2149|  69.8k|	value |= (uint32_t)region->base[1] << 16;
 2150|  69.8k|	value |= (uint32_t)region->base[2] << 8;
 2151|  69.8k|	value |= (uint32_t)region->base[3];
 2152|  69.8k|	return value;
 2153|  69.8k|}
rdata.c:typemap_test:
  533|  7.78k|typemap_test(isc_region_t *sr, bool allow_empty) {
  534|  7.78k|	unsigned int window, lastwindow = 0;
  535|  7.78k|	unsigned int len;
  536|  7.78k|	bool first = true;
  537|  7.78k|	unsigned int i;
  538|       |
  539|  13.3k|	for (i = 0; i < sr->length; i += len) {
  ------------------
  |  Branch (539:14): [True: 5.70k, False: 7.67k]
  ------------------
  540|       |		/*
  541|       |		 * Check for overflow.
  542|       |		 */
  543|  5.70k|		if (i + 2 > sr->length) {
  ------------------
  |  Branch (543:7): [True: 5, False: 5.69k]
  ------------------
  544|      5|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      5|	{                                  \
  |  |  277|      5|		isc_result_t _r = (x);     \
  |  |  278|      5|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 0]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|      5|	}
  ------------------
  545|      0|		}
  546|  5.69k|		window = sr->base[i];
  547|  5.69k|		len = sr->base[i + 1];
  548|  5.69k|		i += 2;
  549|       |		/*
  550|       |		 * Check that bitmap windows are in the correct order.
  551|       |		 */
  552|  5.69k|		if (!first && window <= lastwindow) {
  ------------------
  |  Branch (552:7): [True: 1.34k, False: 4.35k]
  |  Branch (552:17): [True: 29, False: 1.31k]
  ------------------
  553|     29|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     29|	{                                  \
  |  |  277|     29|		isc_result_t _r = (x);     \
  |  |  278|     29|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 29, False: 0]
  |  |  ------------------
  |  |  279|     29|			return ((_r));     \
  |  |  280|     29|		}                          \
  |  |  281|     29|	}
  ------------------
  554|      0|		}
  555|       |		/*
  556|       |		 * Check for legal lengths.
  557|       |		 */
  558|  5.67k|		if (len < 1 || len > 32) {
  ------------------
  |  Branch (558:7): [True: 21, False: 5.64k]
  |  Branch (558:18): [True: 19, False: 5.63k]
  ------------------
  559|     40|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     40|	{                                  \
  |  |  277|     40|		isc_result_t _r = (x);     \
  |  |  278|     40|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 40, False: 0]
  |  |  ------------------
  |  |  279|     40|			return ((_r));     \
  |  |  280|     40|		}                          \
  |  |  281|     40|	}
  ------------------
  560|      0|		}
  561|       |		/*
  562|       |		 * Check for overflow.
  563|       |		 */
  564|  5.63k|		if (i + len > sr->length) {
  ------------------
  |  Branch (564:7): [True: 24, False: 5.60k]
  ------------------
  565|     24|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     24|	{                                  \
  |  |  277|     24|		isc_result_t _r = (x);     \
  |  |  278|     24|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 24, False: 0]
  |  |  ------------------
  |  |  279|     24|			return ((_r));     \
  |  |  280|     24|		}                          \
  |  |  281|     24|	}
  ------------------
  566|      0|		}
  567|       |		/*
  568|       |		 * The last octet of the bitmap must be non zero.
  569|       |		 */
  570|  5.60k|		if (sr->base[i + len - 1] == 0) {
  ------------------
  |  Branch (570:7): [True: 9, False: 5.59k]
  ------------------
  571|      9|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      9|	{                                  \
  |  |  277|      9|		isc_result_t _r = (x);     \
  |  |  278|      9|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 9, False: 0]
  |  |  ------------------
  |  |  279|      9|			return ((_r));     \
  |  |  280|      9|		}                          \
  |  |  281|      9|	}
  ------------------
  572|      0|		}
  573|  5.59k|		lastwindow = window;
  574|  5.59k|		first = false;
  575|  5.59k|	}
  576|  7.67k|	if (i != sr->length) {
  ------------------
  |  Branch (576:6): [True: 0, False: 7.67k]
  ------------------
  577|      0|		return DNS_R_EXTRADATA;
  578|      0|	}
  579|  7.67k|	if (!allow_empty && first) {
  ------------------
  |  Branch (579:6): [True: 1.81k, False: 5.86k]
  |  Branch (579:22): [True: 1, False: 1.81k]
  ------------------
  580|      1|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      1|	{                                  \
  |  |  277|      1|		isc_result_t _r = (x);     \
  |  |  278|      1|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 0]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|      1|	}
  ------------------
  581|      0|	}
  582|  7.67k|	return ISC_R_SUCCESS;
  583|  7.67k|}
rdata.c:validate_dohpath:
  624|  2.08k|validate_dohpath(isc_region_t *region) {
  625|  2.08k|	const unsigned char *p;
  626|  2.08k|	const unsigned char *v = NULL;
  627|  2.08k|	const unsigned char *n = NULL;
  628|  2.08k|	unsigned char c;
  629|  2.08k|	bool dns = false;
  630|  2.08k|	bool wasop = false;
  631|  2.08k|	enum {
  632|  2.08k|		path,
  633|  2.08k|		variable,
  634|  2.08k|		percent1,
  635|  2.08k|		percent2,
  636|  2.08k|		variable_percent1,
  637|  2.08k|		variable_percent2,
  638|  2.08k|		prefix,
  639|  2.08k|		explode
  640|  2.08k|	} state = path;
  641|       |
  642|  2.08k|	if (region->length == 0 || *region->base != '/' ||
  ------------------
  |  Branch (642:6): [True: 1, False: 2.08k]
  |  Branch (642:29): [True: 1, False: 2.08k]
  ------------------
  643|  2.08k|	    !isc_utf8_valid(region->base, region->length))
  ------------------
  |  Branch (643:6): [True: 4, False: 2.07k]
  ------------------
  644|      6|	{
  645|      6|		return false;
  646|      6|	}
  647|       |
  648|       |	/*
  649|       |	 * RFC 6570 URI Template check + "dns" variable.
  650|       |	 */
  651|  2.07k|	p = region->base;
  652|  66.4k|	while (p < region->base + region->length) {
  ------------------
  |  Branch (652:9): [True: 64.4k, False: 2.03k]
  ------------------
  653|  64.4k|		switch (state) {
  ------------------
  |  Branch (653:11): [True: 64.4k, False: 0]
  ------------------
  654|  24.7k|		case path:
  ------------------
  |  Branch (654:3): [True: 24.7k, False: 39.7k]
  ------------------
  655|  24.7k|			switch (*p++) {
  656|  4.38k|			case '{': /*}*/
  ------------------
  |  Branch (656:4): [True: 4.38k, False: 20.3k]
  ------------------
  657|  4.38k|				state = variable;
  658|  4.38k|				wasop = false;
  659|  4.38k|				v = p;
  660|  4.38k|				break;
  661|    250|			case '%':
  ------------------
  |  Branch (661:4): [True: 250, False: 24.4k]
  ------------------
  662|    250|				state = percent1;
  663|    250|				break;
  664|  20.1k|			default:
  ------------------
  |  Branch (664:4): [True: 20.1k, False: 4.63k]
  ------------------
  665|  20.1k|				break;
  666|  24.7k|			}
  667|  24.7k|			break;
  668|  31.6k|		case variable:
  ------------------
  |  Branch (668:3): [True: 31.6k, False: 32.7k]
  ------------------
  669|  31.6k|			c = *p++;
  670|  31.6k|			switch (c) {
  671|    573|			case '+':
  ------------------
  |  Branch (671:4): [True: 573, False: 31.1k]
  ------------------
  672|    892|			case '#':
  ------------------
  |  Branch (672:4): [True: 319, False: 31.3k]
  ------------------
  673|  2.61k|			case '.':
  ------------------
  |  Branch (673:4): [True: 1.72k, False: 29.9k]
  ------------------
  674|  4.17k|			case '/':
  ------------------
  |  Branch (674:4): [True: 1.56k, False: 30.1k]
  ------------------
  675|  4.45k|			case ';':
  ------------------
  |  Branch (675:4): [True: 275, False: 31.4k]
  ------------------
  676|  5.31k|			case '?':
  ------------------
  |  Branch (676:4): [True: 866, False: 30.8k]
  ------------------
  677|  5.99k|			case '&':
  ------------------
  |  Branch (677:4): [True: 674, False: 31.0k]
  ------------------
  678|       |				/* Operators. */
  679|  5.99k|				if (p != v + 1 || wasop) {
  ------------------
  |  Branch (679:9): [True: 3, False: 5.98k]
  |  Branch (679:23): [True: 14, False: 5.97k]
  ------------------
  680|     17|					return false;
  681|     17|				}
  682|  5.97k|				wasop = true;
  683|  5.97k|				v = p;
  684|  5.97k|				break;
  685|      1|			case '=':
  ------------------
  |  Branch (685:4): [True: 1, False: 31.6k]
  ------------------
  686|      2|			case '!':
  ------------------
  |  Branch (686:4): [True: 1, False: 31.6k]
  ------------------
  687|      3|			case '@':
  ------------------
  |  Branch (687:4): [True: 1, False: 31.6k]
  ------------------
  688|      4|			case '|':
  ------------------
  |  Branch (688:4): [True: 1, False: 31.6k]
  ------------------
  689|       |				/* Reserved operators. */
  690|      4|				return false;
  691|    893|			case '*':
  ------------------
  |  Branch (691:4): [True: 893, False: 30.7k]
  ------------------
  692|  2.81k|			case ':':
  ------------------
  |  Branch (692:4): [True: 1.91k, False: 29.7k]
  ------------------
  693|  5.27k|			case '}':
  ------------------
  |  Branch (693:4): [True: 2.46k, False: 29.2k]
  ------------------
  694|  7.92k|			case ',':
  ------------------
  |  Branch (694:4): [True: 2.65k, False: 29.0k]
  ------------------
  695|       |				/* Found the end of the variable name. */
  696|  7.92k|				if (p == (v + 1)) {
  ------------------
  |  Branch (696:9): [True: 7, False: 7.92k]
  ------------------
  697|      7|					return false;
  698|      7|				}
  699|       |				/* 'p' has been incremented so 4 not 3 */
  700|  7.92k|				if ((p - v) == 4 && memcmp(v, "dns", 3) == 0) {
  ------------------
  |  Branch (700:9): [True: 3.35k, False: 4.57k]
  |  Branch (700:25): [True: 2.16k, False: 1.18k]
  ------------------
  701|  2.16k|					dns = true;
  702|  2.16k|				}
  703|  7.92k|				switch (c) {
  ------------------
  |  Branch (703:13): [True: 7.92k, False: 0]
  ------------------
  704|  1.91k|				case ':':
  ------------------
  |  Branch (704:5): [True: 1.91k, False: 6.00k]
  ------------------
  705|  1.91k|					state = prefix;
  706|  1.91k|					n = p;
  707|  1.91k|					break;
  708|  2.46k|				case /*{*/ '}':
  ------------------
  |  Branch (708:5): [True: 2.46k, False: 5.46k]
  ------------------
  709|  2.46k|					state = path;
  710|  2.46k|					break;
  711|    892|				case '*':
  ------------------
  |  Branch (711:5): [True: 892, False: 7.03k]
  ------------------
  712|    892|					state = explode;
  713|    892|					break;
  714|  2.65k|				case ',':
  ------------------
  |  Branch (714:5): [True: 2.65k, False: 5.26k]
  ------------------
  715|  2.65k|					wasop = false;
  716|  2.65k|					v = p;
  717|  2.65k|					break;
  718|  7.92k|				}
  719|  7.92k|				break;
  720|  7.92k|			case '%':
  ------------------
  |  Branch (720:4): [True: 99, False: 31.5k]
  ------------------
  721|       |				/* Percent encoded variable name. */
  722|     99|				state = variable_percent1;
  723|     99|				break;
  724|  17.6k|			default:
  ------------------
  |  Branch (724:4): [True: 17.6k, False: 14.0k]
  ------------------
  725|       |				/* Valid variable name character? */
  726|  17.6k|				if (c != '_' && !isalnum(c)) {
  ------------------
  |  Branch (726:9): [True: 17.3k, False: 364]
  |  Branch (726:21): [True: 5, False: 17.2k]
  ------------------
  727|      5|					return false;
  728|      5|				}
  729|  17.6k|				break;
  730|  31.6k|			}
  731|  31.6k|			break;
  732|  31.6k|		case explode:
  ------------------
  |  Branch (732:3): [True: 887, False: 63.5k]
  ------------------
  733|    887|			switch (*p++) {
  734|    543|			case ',':
  ------------------
  |  Branch (734:4): [True: 543, False: 344]
  ------------------
  735|    543|				state = variable;
  736|    543|				wasop = false;
  737|    543|				v = p;
  738|    543|				break;
  739|    343|			case /*}*/ '}':
  ------------------
  |  Branch (739:4): [True: 343, False: 544]
  ------------------
  740|    343|				state = path;
  741|    343|				break;
  742|      1|			default:
  ------------------
  |  Branch (742:4): [True: 1, False: 886]
  ------------------
  743|      1|				return false;
  744|    887|			}
  745|    886|			break;
  746|       |		/* Check % encoding */
  747|    886|		case percent1:
  ------------------
  |  Branch (747:3): [True: 247, False: 64.1k]
  ------------------
  748|    489|		case percent2:
  ------------------
  |  Branch (748:3): [True: 242, False: 64.1k]
  ------------------
  749|    585|		case variable_percent1:
  ------------------
  |  Branch (749:3): [True: 96, False: 64.3k]
  ------------------
  750|    676|		case variable_percent2:
  ------------------
  |  Branch (750:3): [True: 91, False: 64.3k]
  ------------------
  751|       |			/* bad percent encoding? */
  752|    676|			if (!isxdigit(*p++)) {
  ------------------
  |  Branch (752:8): [True: 1, False: 675]
  ------------------
  753|      1|				return false;
  754|      1|			}
  755|    675|			if (state == percent1) {
  ------------------
  |  Branch (755:8): [True: 246, False: 429]
  ------------------
  756|    246|				state = percent2;
  757|    429|			} else if (state == percent2) {
  ------------------
  |  Branch (757:15): [True: 242, False: 187]
  ------------------
  758|    242|				state = path;
  759|    242|			} else if (state == variable_percent1) {
  ------------------
  |  Branch (759:15): [True: 96, False: 91]
  ------------------
  760|     96|				state = variable_percent2;
  761|     96|			} else {
  762|     91|				state = variable;
  763|     91|			}
  764|    675|			break;
  765|  6.45k|		case prefix:
  ------------------
  |  Branch (765:3): [True: 6.45k, False: 57.9k]
  ------------------
  766|  6.45k|			c = *p++;
  767|  6.45k|			if (!isdigit(c)) {
  ------------------
  |  Branch (767:8): [True: 1.90k, False: 4.54k]
  ------------------
  768|       |				/* valid number range [1..9999] */
  769|  1.90k|				if ((p == n + 1) || (p - n) > 5 || *n == '0') {
  ------------------
  |  Branch (769:9): [True: 1, False: 1.90k]
  |  Branch (769:25): [True: 2, False: 1.90k]
  |  Branch (769:40): [True: 1, False: 1.89k]
  ------------------
  770|      4|					return false;
  771|      4|				}
  772|  1.89k|				switch (c) {
  773|    419|				case ',':
  ------------------
  |  Branch (773:5): [True: 419, False: 1.48k]
  ------------------
  774|    419|					state = variable;
  775|    419|					wasop = false;
  776|    419|					break;
  777|  1.47k|				case /*{*/ '}':
  ------------------
  |  Branch (777:5): [True: 1.47k, False: 420]
  ------------------
  778|  1.47k|					state = path;
  779|  1.47k|					break;
  780|      1|				default:
  ------------------
  |  Branch (780:5): [True: 1, False: 1.89k]
  ------------------
  781|      1|					return false;
  782|  1.89k|				}
  783|  1.89k|			}
  784|  6.44k|			break;
  785|  64.4k|		}
  786|  64.4k|	}
  787|  2.03k|	return state == path && dns;
  ------------------
  |  Branch (787:9): [True: 1.97k, False: 67]
  |  Branch (787:26): [True: 1.95k, False: 19]
  ------------------
  788|  2.07k|}
rdata.c:rdata_totext:
 1291|   239k|	     isc_buffer_t *target) {
 1292|   239k|	isc_result_t result = ISC_R_NOTIMPLEMENTED;
 1293|   239k|	bool use_default = false;
 1294|   239k|	unsigned int cur;
 1295|       |
 1296|   239k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|   239k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   239k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 239k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   239k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1297|   239k|	REQUIRE(tctx->origin == NULL || dns_name_isabsolute(tctx->origin));
  ------------------
  |  |  198|   239k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   239k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 239k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   239k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1298|       |
 1299|       |	/*
 1300|       |	 * Some DynDNS meta-RRs have empty rdata.
 1301|       |	 */
 1302|   239k|	if ((rdata->flags & DNS_RDATA_UPDATE) != 0) {
  ------------------
  |  |  168|   239k|#define DNS_RDATA_UPDATE  0x0001 /*%< update pseudo record. */
  ------------------
  |  Branch (1302:6): [True: 2.48k, False: 237k]
  ------------------
 1303|  2.48k|		INSIST(rdata->length == 0);
  ------------------
  |  |  202|  2.48k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.48k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.48k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.48k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1304|  2.48k|		return ISC_R_SUCCESS;
 1305|  2.48k|	}
 1306|       |
 1307|   237k|	if ((tctx->flags & DNS_STYLEFLAG_UNKNOWNFORMAT) != 0) {
  ------------------
  |  |  203|   237k|#define DNS_STYLEFLAG_UNKNOWNFORMAT 0x00000010ULL
  ------------------
  |  Branch (1307:6): [True: 0, False: 237k]
  ------------------
 1308|      0|		return unknown_totext(rdata, tctx, target);
 1309|      0|	}
 1310|       |
 1311|   237k|	cur = isc_buffer_usedlength(target);
  ------------------
  |  |  158|   237k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
 1312|       |
 1313|   237k|	TOTEXTSWITCH
  ------------------
  |  |  277|   237k|	switch (rdata->type) { \
  |  |  278|  5.83k|	case 1: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (278:2): [True: 5.83k, False: 231k]
  |  |  ------------------
  |  |  279|  1.23k|		case 1: result = totext_in_a(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (279:3): [True: 1.23k, False: 4.60k]
  |  |  ------------------
  |  |  280|    695|		case 3: result = totext_ch_a(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (280:3): [True: 695, False: 5.14k]
  |  |  ------------------
  |  |  281|    615|		case 4: result = totext_hs_a(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (281:3): [True: 615, False: 5.22k]
  |  |  ------------------
  |  |  282|  3.29k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (282:3): [True: 3.29k, False: 2.54k]
  |  |  ------------------
  |  |  283|  5.83k|		} \
  |  |  284|  5.83k|		break; \
  |  |  285|  5.83k|	case 2: result = totext_ns(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (285:2): [True: 2.70k, False: 234k]
  |  |  ------------------
  |  |  286|  5.83k|	case 3: result = totext_md(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (286:2): [True: 1.81k, False: 235k]
  |  |  ------------------
  |  |  287|  5.83k|	case 4: result = totext_mf(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (287:2): [True: 1.02k, False: 236k]
  |  |  ------------------
  |  |  288|  5.83k|	case 5: result = totext_cname(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (288:2): [True: 1.53k, False: 235k]
  |  |  ------------------
  |  |  289|  5.83k|	case 6: result = totext_soa(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (289:2): [True: 3.74k, False: 233k]
  |  |  ------------------
  |  |  290|  5.83k|	case 7: result = totext_mb(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (290:2): [True: 1.01k, False: 236k]
  |  |  ------------------
  |  |  291|  5.83k|	case 8: result = totext_mg(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (291:2): [True: 987, False: 236k]
  |  |  ------------------
  |  |  292|  5.83k|	case 9: result = totext_mr(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (292:2): [True: 1.21k, False: 236k]
  |  |  ------------------
  |  |  293|  5.83k|	case 10: result = totext_null(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (293:2): [True: 3.07k, False: 234k]
  |  |  ------------------
  |  |  294|  5.83k|	case 11: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (294:2): [True: 2.66k, False: 234k]
  |  |  ------------------
  |  |  295|  1.13k|		case 1: result = totext_in_wks(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (295:3): [True: 1.13k, False: 1.53k]
  |  |  ------------------
  |  |  296|  1.53k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (296:3): [True: 1.53k, False: 1.13k]
  |  |  ------------------
  |  |  297|  2.66k|		} \
  |  |  298|  2.66k|		break; \
  |  |  299|  2.66k|	case 12: result = totext_ptr(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (299:2): [True: 824, False: 236k]
  |  |  ------------------
  |  |  300|  2.66k|	case 13: result = totext_hinfo(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (300:2): [True: 673, False: 236k]
  |  |  ------------------
  |  |  301|  2.66k|	case 14: result = totext_minfo(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (301:2): [True: 451, False: 236k]
  |  |  ------------------
  |  |  302|  2.66k|	case 15: result = totext_mx(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (302:2): [True: 961, False: 236k]
  |  |  ------------------
  |  |  303|  2.66k|	case 16: result = totext_txt(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (303:2): [True: 1.23k, False: 236k]
  |  |  ------------------
  |  |  304|  2.66k|	case 17: result = totext_rp(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (304:2): [True: 885, False: 236k]
  |  |  ------------------
  |  |  305|  2.66k|	case 18: result = totext_afsdb(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (305:2): [True: 769, False: 236k]
  |  |  ------------------
  |  |  306|  2.66k|	case 19: result = totext_x25(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (306:2): [True: 715, False: 236k]
  |  |  ------------------
  |  |  307|  2.66k|	case 20: result = totext_isdn(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (307:2): [True: 1.08k, False: 236k]
  |  |  ------------------
  |  |  308|  2.66k|	case 21: result = totext_rt(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (308:2): [True: 789, False: 236k]
  |  |  ------------------
  |  |  309|  3.12k|	case 22: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (309:2): [True: 3.12k, False: 234k]
  |  |  ------------------
  |  |  310|  1.41k|		case 1: result = totext_in_nsap(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (310:3): [True: 1.41k, False: 1.71k]
  |  |  ------------------
  |  |  311|  1.71k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (311:3): [True: 1.71k, False: 1.41k]
  |  |  ------------------
  |  |  312|  3.12k|		} \
  |  |  313|  3.12k|		break; \
  |  |  314|  3.12k|	case 23: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (314:2): [True: 1.69k, False: 235k]
  |  |  ------------------
  |  |  315|    763|		case 1: result = totext_in_nsap_ptr(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (315:3): [True: 763, False: 931]
  |  |  ------------------
  |  |  316|    931|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (316:3): [True: 931, False: 763]
  |  |  ------------------
  |  |  317|  1.69k|		} \
  |  |  318|  1.69k|		break; \
  |  |  319|  3.70k|	case 24: result = totext_sig(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (319:2): [True: 3.70k, False: 233k]
  |  |  ------------------
  |  |  320|  1.84k|	case 25: result = totext_key(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (320:2): [True: 1.84k, False: 235k]
  |  |  ------------------
  |  |  321|  2.52k|	case 26: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (321:2): [True: 2.52k, False: 234k]
  |  |  ------------------
  |  |  322|  1.11k|		case 1: result = totext_in_px(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (322:3): [True: 1.11k, False: 1.40k]
  |  |  ------------------
  |  |  323|  1.40k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (323:3): [True: 1.40k, False: 1.11k]
  |  |  ------------------
  |  |  324|  2.52k|		} \
  |  |  325|  2.52k|		break; \
  |  |  326|  2.52k|	case 27: result = totext_gpos(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (326:2): [True: 837, False: 236k]
  |  |  ------------------
  |  |  327|  2.52k|	case 28: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (327:2): [True: 2.08k, False: 235k]
  |  |  ------------------
  |  |  328|    872|		case 1: result = totext_in_aaaa(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (328:3): [True: 872, False: 1.21k]
  |  |  ------------------
  |  |  329|  1.21k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (329:3): [True: 1.21k, False: 872]
  |  |  ------------------
  |  |  330|  2.08k|		} \
  |  |  331|  2.08k|		break; \
  |  |  332|  5.00k|	case 29: result = totext_loc(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (332:2): [True: 5.00k, False: 232k]
  |  |  ------------------
  |  |  333|  2.25k|	case 30: result = totext_nxt(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (333:2): [True: 2.25k, False: 235k]
  |  |  ------------------
  |  |  334|  4.76k|	case 31: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (334:2): [True: 4.76k, False: 232k]
  |  |  ------------------
  |  |  335|  2.61k|		case 1: result = totext_in_eid(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (335:3): [True: 2.61k, False: 2.15k]
  |  |  ------------------
  |  |  336|  2.15k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (336:3): [True: 2.15k, False: 2.61k]
  |  |  ------------------
  |  |  337|  4.76k|		} \
  |  |  338|  4.76k|		break; \
  |  |  339|  4.76k|	case 32: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (339:2): [True: 2.31k, False: 235k]
  |  |  ------------------
  |  |  340|    644|		case 1: result = totext_in_nimloc(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (340:3): [True: 644, False: 1.67k]
  |  |  ------------------
  |  |  341|  1.67k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (341:3): [True: 1.67k, False: 644]
  |  |  ------------------
  |  |  342|  2.31k|		} \
  |  |  343|  2.31k|		break; \
  |  |  344|  2.87k|	case 33: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (344:2): [True: 2.87k, False: 234k]
  |  |  ------------------
  |  |  345|    784|		case 1: result = totext_in_srv(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (345:3): [True: 784, False: 2.08k]
  |  |  ------------------
  |  |  346|  2.08k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (346:3): [True: 2.08k, False: 784]
  |  |  ------------------
  |  |  347|  2.87k|		} \
  |  |  348|  2.87k|		break; \
  |  |  349|  4.15k|	case 34: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (349:2): [True: 4.15k, False: 233k]
  |  |  ------------------
  |  |  350|  2.59k|		case 1: result = totext_in_atma(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (350:3): [True: 2.59k, False: 1.56k]
  |  |  ------------------
  |  |  351|  1.56k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (351:3): [True: 1.56k, False: 2.59k]
  |  |  ------------------
  |  |  352|  4.15k|		} \
  |  |  353|  4.15k|		break; \
  |  |  354|  6.82k|	case 35: result = totext_naptr(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (354:2): [True: 6.82k, False: 230k]
  |  |  ------------------
  |  |  355|  4.15k|	case 36: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (355:2): [True: 3.69k, False: 233k]
  |  |  ------------------
  |  |  356|  1.74k|		case 1: result = totext_in_kx(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (356:3): [True: 1.74k, False: 1.95k]
  |  |  ------------------
  |  |  357|  1.95k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (357:3): [True: 1.95k, False: 1.74k]
  |  |  ------------------
  |  |  358|  3.69k|		} \
  |  |  359|  3.69k|		break; \
  |  |  360|  3.69k|	case 37: result = totext_cert(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (360:2): [True: 2.35k, False: 235k]
  |  |  ------------------
  |  |  361|  3.69k|	case 38: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (361:2): [True: 2.93k, False: 234k]
  |  |  ------------------
  |  |  362|  1.33k|		case 1: result = totext_in_a6(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (362:3): [True: 1.33k, False: 1.60k]
  |  |  ------------------
  |  |  363|  1.60k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (363:3): [True: 1.60k, False: 1.33k]
  |  |  ------------------
  |  |  364|  2.93k|		} \
  |  |  365|  2.93k|		break; \
  |  |  366|  2.93k|	case 39: result = totext_dname(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (366:2): [True: 2.29k, False: 235k]
  |  |  ------------------
  |  |  367|  2.93k|	case 40: result = totext_sink(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (367:2): [True: 1.56k, False: 235k]
  |  |  ------------------
  |  |  368|  4.60k|	case 41: result = totext_opt(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (368:2): [True: 4.60k, False: 232k]
  |  |  ------------------
  |  |  369|  3.48k|	case 42: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (369:2): [True: 3.48k, False: 233k]
  |  |  ------------------
  |  |  370|  2.25k|		case 1: result = totext_in_apl(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (370:3): [True: 2.25k, False: 1.23k]
  |  |  ------------------
  |  |  371|  1.23k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (371:3): [True: 1.23k, False: 2.25k]
  |  |  ------------------
  |  |  372|  3.48k|		} \
  |  |  373|  3.48k|		break; \
  |  |  374|  3.48k|	case 43: result = totext_ds(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (374:2): [True: 892, False: 236k]
  |  |  ------------------
  |  |  375|  3.48k|	case 44: result = totext_sshfp(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (375:2): [True: 1.56k, False: 235k]
  |  |  ------------------
  |  |  376|  3.48k|	case 45: result = totext_ipseckey(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (376:2): [True: 2.18k, False: 235k]
  |  |  ------------------
  |  |  377|  4.38k|	case 46: result = totext_rrsig(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (377:2): [True: 4.38k, False: 233k]
  |  |  ------------------
  |  |  378|  3.48k|	case 47: result = totext_nsec(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (378:2): [True: 1.47k, False: 235k]
  |  |  ------------------
  |  |  379|  3.48k|	case 48: result = totext_dnskey(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (379:2): [True: 1.94k, False: 235k]
  |  |  ------------------
  |  |  380|  3.48k|	case 49: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (380:2): [True: 3.24k, False: 234k]
  |  |  ------------------
  |  |  381|    731|		case 1: result = totext_in_dhcid(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (381:3): [True: 731, False: 2.51k]
  |  |  ------------------
  |  |  382|  2.51k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (382:3): [True: 2.51k, False: 731]
  |  |  ------------------
  |  |  383|  3.24k|		} \
  |  |  384|  3.24k|		break; \
  |  |  385|  3.43k|	case 50: result = totext_nsec3(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (385:2): [True: 3.43k, False: 233k]
  |  |  ------------------
  |  |  386|  3.24k|	case 51: result = totext_nsec3param(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (386:2): [True: 1.42k, False: 235k]
  |  |  ------------------
  |  |  387|  3.24k|	case 52: result = totext_tlsa(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (387:2): [True: 1.74k, False: 235k]
  |  |  ------------------
  |  |  388|  3.24k|	case 53: result = totext_smimea(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (388:2): [True: 939, False: 236k]
  |  |  ------------------
  |  |  389|  7.26k|	case 55: result = totext_hip(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (389:2): [True: 7.26k, False: 230k]
  |  |  ------------------
  |  |  390|  3.24k|	case 56: result = totext_ninfo(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (390:2): [True: 843, False: 236k]
  |  |  ------------------
  |  |  391|  3.24k|	case 57: result = totext_rkey(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (391:2): [True: 1.26k, False: 236k]
  |  |  ------------------
  |  |  392|  3.24k|	case 58: result = totext_talink(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (392:2): [True: 2.44k, False: 234k]
  |  |  ------------------
  |  |  393|  3.24k|	case 59: result = totext_cds(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (393:2): [True: 1.27k, False: 236k]
  |  |  ------------------
  |  |  394|  3.24k|	case 60: result = totext_cdnskey(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (394:2): [True: 955, False: 236k]
  |  |  ------------------
  |  |  395|  3.24k|	case 61: result = totext_openpgpkey(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (395:2): [True: 959, False: 236k]
  |  |  ------------------
  |  |  396|  3.24k|	case 62: result = totext_csync(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (396:2): [True: 1.31k, False: 236k]
  |  |  ------------------
  |  |  397|  3.24k|	case 63: result = totext_zonemd(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (397:2): [True: 1.19k, False: 236k]
  |  |  ------------------
  |  |  398|  4.91k|	case 64: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (398:2): [True: 4.91k, False: 232k]
  |  |  ------------------
  |  |  399|  2.95k|		case 1: result = totext_in_svcb(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (399:3): [True: 2.95k, False: 1.95k]
  |  |  ------------------
  |  |  400|  1.95k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (400:3): [True: 1.95k, False: 2.95k]
  |  |  ------------------
  |  |  401|  4.91k|		} \
  |  |  402|  4.91k|		break; \
  |  |  403|  4.91k|	case 65: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (403:2): [True: 3.94k, False: 233k]
  |  |  ------------------
  |  |  404|  2.42k|		case 1: result = totext_in_https(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (404:3): [True: 2.42k, False: 1.51k]
  |  |  ------------------
  |  |  405|  1.51k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (405:3): [True: 1.51k, False: 2.42k]
  |  |  ------------------
  |  |  406|  3.94k|		} \
  |  |  407|  3.94k|		break; \
  |  |  408|  3.94k|	case 66: result = totext_dsync(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (408:2): [True: 1.18k, False: 236k]
  |  |  ------------------
  |  |  409|  3.94k|	case 67: result = totext_hhit(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (409:2): [True: 580, False: 236k]
  |  |  ------------------
  |  |  410|  3.94k|	case 68: result = totext_brid(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (410:2): [True: 731, False: 236k]
  |  |  ------------------
  |  |  411|  3.94k|	case 99: result = totext_spf(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (411:2): [True: 853, False: 236k]
  |  |  ------------------
  |  |  412|  3.94k|	case 104: result = totext_nid(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (412:2): [True: 701, False: 236k]
  |  |  ------------------
  |  |  413|  3.94k|	case 105: result = totext_l32(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (413:2): [True: 1.29k, False: 236k]
  |  |  ------------------
  |  |  414|  3.94k|	case 106: result = totext_l64(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (414:2): [True: 766, False: 236k]
  |  |  ------------------
  |  |  415|  3.94k|	case 107: result = totext_lp(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (415:2): [True: 772, False: 236k]
  |  |  ------------------
  |  |  416|  3.94k|	case 108: result = totext_eui48(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (416:2): [True: 657, False: 236k]
  |  |  ------------------
  |  |  417|  3.94k|	case 109: result = totext_eui64(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (417:2): [True: 749, False: 236k]
  |  |  ------------------
  |  |  418|  3.94k|	case 249: result = totext_tkey(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (418:2): [True: 1.87k, False: 235k]
  |  |  ------------------
  |  |  419|  3.94k|	case 250: switch (rdata->rdclass) { \
  |  |  ------------------
  |  |  |  Branch (419:2): [True: 3.75k, False: 233k]
  |  |  ------------------
  |  |  420|  1.55k|		case 255: result = totext_any_tsig(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (420:3): [True: 1.55k, False: 2.20k]
  |  |  ------------------
  |  |  421|  2.20k|		default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (421:3): [True: 2.20k, False: 1.55k]
  |  |  ------------------
  |  |  422|  3.75k|		} \
  |  |  423|  3.75k|		break; \
  |  |  424|  3.75k|	case 256: result = totext_uri(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (424:2): [True: 1.39k, False: 236k]
  |  |  ------------------
  |  |  425|  3.75k|	case 257: result = totext_caa(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (425:2): [True: 947, False: 236k]
  |  |  ------------------
  |  |  426|  3.75k|	case 258: result = totext_avc(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (426:2): [True: 787, False: 236k]
  |  |  ------------------
  |  |  427|  3.75k|	case 259: result = totext_doa(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (427:2): [True: 1.36k, False: 236k]
  |  |  ------------------
  |  |  428|  3.75k|	case 260: result = totext_amtrelay(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (428:2): [True: 3.58k, False: 233k]
  |  |  ------------------
  |  |  429|  3.75k|	case 261: result = totext_resinfo(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (429:2): [True: 1.06k, False: 236k]
  |  |  ------------------
  |  |  430|  3.75k|	case 262: result = totext_wallet(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (430:2): [True: 932, False: 236k]
  |  |  ------------------
  |  |  431|  3.75k|	case 32768: result = totext_ta(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (431:2): [True: 949, False: 236k]
  |  |  ------------------
  |  |  432|  3.75k|	case 32769: result = totext_dlv(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (432:2): [True: 728, False: 236k]
  |  |  ------------------
  |  |  433|  3.75k|	case 65533: result = totext_keydata(rdata, tctx, target); break; \
  |  |  ------------------
  |  |  |  Branch (433:2): [True: 1.66k, False: 235k]
  |  |  ------------------
  |  |  434|  61.5k|	default: use_default = true; break; \
  |  |  ------------------
  |  |  |  Branch (434:2): [True: 61.5k, False: 175k]
  |  |  ------------------
  |  |  435|   237k|	}
  ------------------
 1314|       |
 1315|   237k|	if (use_default || (result == ISC_R_NOTIMPLEMENTED)) {
  ------------------
  |  Branch (1315:6): [True: 92.0k, False: 145k]
  |  Branch (1315:21): [True: 4.73k, False: 140k]
  ------------------
 1316|  96.7k|		unsigned int u = isc_buffer_usedlength(target);
  ------------------
  |  |  158|  96.7k|#define isc_buffer_usedlength(b)      ((b)->used)		   /* d-a */
  ------------------
 1317|       |
 1318|  96.7k|		INSIST(u >= cur);
  ------------------
  |  |  202|  96.7k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  96.7k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 96.7k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  96.7k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1319|  96.7k|		isc_buffer_subtract(target, u - cur);
 1320|  96.7k|		result = unknown_totext(rdata, tctx, target);
 1321|  96.7k|	}
 1322|       |
 1323|   237k|	return result;
 1324|   237k|}
rdata.c:unknown_totext:
 1254|   101k|	       isc_buffer_t *target) {
 1255|   101k|	isc_result_t result = ISC_R_SUCCESS;
 1256|   101k|	char buf[sizeof("65535")];
 1257|   101k|	isc_region_t sr;
 1258|       |
 1259|   101k|	strlcpy(buf, "\\# ", sizeof(buf));
 1260|   101k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|   101k|	{                                  \
  |  |  277|   101k|		isc_result_t _r = (x);     \
  |  |  278|   101k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 101k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|   101k|	}
  ------------------
 1261|       |
 1262|   101k|	dns_rdata_toregion(rdata, &sr);
 1263|   101k|	INSIST(sr.length < 65536);
  ------------------
  |  |  202|   101k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   101k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 101k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   101k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1264|   101k|	snprintf(buf, sizeof(buf), "%u", sr.length);
 1265|   101k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|   101k|	{                                  \
  |  |  277|   101k|		isc_result_t _r = (x);     \
  |  |  278|   101k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 101k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|   101k|	}
  ------------------
 1266|       |
 1267|   101k|	if (sr.length != 0U) {
  ------------------
  |  Branch (1267:6): [True: 52.0k, False: 49.4k]
  ------------------
 1268|  52.0k|		if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  52.0k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (1268:7): [True: 0, False: 52.0k]
  ------------------
 1269|      0|			RETERR(str_totext(" ( ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
 1270|  52.0k|		} else {
 1271|  52.0k|			RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  52.0k|	{                                  \
  |  |  277|  52.0k|		isc_result_t _r = (x);     \
  |  |  278|  52.0k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 52.0k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  52.0k|	}
  ------------------
 1272|  52.0k|		}
 1273|       |
 1274|  52.0k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (1274:7): [True: 0, False: 52.0k]
  ------------------
 1275|      0|			result = isc_hex_totext(&sr, 0, "", target);
 1276|  52.0k|		} else {
 1277|  52.0k|			result = isc_hex_totext(&sr, tctx->width - 2,
 1278|  52.0k|						tctx->linebreak, target);
 1279|  52.0k|		}
 1280|  52.0k|		if (result == ISC_R_SUCCESS &&
  ------------------
  |  Branch (1280:7): [True: 52.0k, False: 1]
  ------------------
 1281|  52.0k|		    (tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
  ------------------
  |  |  193|  52.0k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (1281:7): [True: 0, False: 52.0k]
  ------------------
 1282|      0|		{
 1283|      0|			result = str_totext(" )", target);
 1284|      0|		}
 1285|  52.0k|	}
 1286|   101k|	return result;
 1287|   101k|}
rdata.c:inet_totext:
 2051|  9.03k|inet_totext(int af, uint32_t flags, isc_region_t *src, isc_buffer_t *target) {
 2052|  9.03k|	char tmpbuf[64];
 2053|       |
 2054|       |	/* Note - inet_ntop doesn't do size checking on its input. */
 2055|  9.03k|	if (inet_ntop(af, src->base, tmpbuf, sizeof(tmpbuf)) == NULL) {
  ------------------
  |  Branch (2055:6): [True: 0, False: 9.03k]
  ------------------
 2056|      0|		return ISC_R_NOSPACE;
 2057|      0|	}
 2058|  9.03k|	if (strlen(tmpbuf) > isc_buffer_availablelength(target)) {
  ------------------
  |  |  162|  9.03k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (2058:6): [True: 0, False: 9.03k]
  ------------------
 2059|      0|		return ISC_R_NOSPACE;
 2060|      0|	}
 2061|  9.03k|	isc_buffer_putstr(target, tmpbuf);
 2062|       |
 2063|       |	/*
 2064|       |	 * An IPv6 address ending in "::" breaks YAML
 2065|       |	 * parsing, so append 0 in that case.
 2066|       |	 */
 2067|  9.03k|	if (af == AF_INET6 && (flags & DNS_STYLEFLAG_YAML) != 0) {
  ------------------
  |  |  107|  3.33k|#define DNS_STYLEFLAG_YAML 0x080000000ULL
  ------------------
  |  Branch (2067:6): [True: 3.33k, False: 5.69k]
  |  Branch (2067:24): [True: 0, False: 3.33k]
  ------------------
 2068|      0|		isc_region_t r;
 2069|      0|		isc_buffer_usedregion(target, &r);
 2070|      0|		if (r.length > 0 && r.base[r.length - 1] == ':') {
  ------------------
  |  Branch (2070:7): [True: 0, False: 0]
  |  Branch (2070:23): [True: 0, False: 0]
  ------------------
 2071|      0|			if (isc_buffer_availablelength(target) == 0) {
  ------------------
  |  |  162|      0|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  |  Branch (2071:8): [True: 0, False: 0]
  ------------------
 2072|      0|				return ISC_R_NOSPACE;
 2073|      0|			}
 2074|      0|			isc_buffer_putmem(target, (const unsigned char *)"0",
 2075|      0|					  1);
 2076|      0|		}
 2077|      0|	}
 2078|       |
 2079|  9.03k|	return ISC_R_SUCCESS;
 2080|  9.03k|}
rdata.c:name_prefix:
 1997|  61.5k|name_prefix(dns_name_t *name, const dns_name_t *origin, dns_name_t *target) {
 1998|  61.5k|	int l1, l2;
 1999|       |
 2000|  61.5k|	if (origin == NULL) {
  ------------------
  |  Branch (2000:6): [True: 61.5k, False: 0]
  ------------------
 2001|  61.5k|		goto return_false;
 2002|  61.5k|	}
 2003|       |
 2004|      0|	if (dns_name_isroot(origin)) {
  ------------------
  |  Branch (2004:6): [True: 0, False: 0]
  ------------------
 2005|      0|		goto return_false;
 2006|      0|	}
 2007|       |
 2008|      0|	if (!dns_name_issubdomain(name, origin)) {
  ------------------
  |  Branch (2008:6): [True: 0, False: 0]
  ------------------
 2009|      0|		goto return_false;
 2010|      0|	}
 2011|       |
 2012|      0|	l1 = dns_name_countlabels(name);
 2013|      0|	l2 = dns_name_countlabels(origin);
 2014|       |
 2015|      0|	if (l1 == l2) {
  ------------------
  |  Branch (2015:6): [True: 0, False: 0]
  ------------------
 2016|      0|		goto return_false;
 2017|      0|	}
 2018|       |
 2019|       |	/* Master files should be case preserving. */
 2020|      0|	dns_name_getlabelsequence(name, l1 - l2, l2, target);
 2021|      0|	if (!dns_name_caseequal(origin, target)) {
  ------------------
  |  Branch (2021:6): [True: 0, False: 0]
  ------------------
 2022|      0|		goto return_false;
 2023|      0|	}
 2024|       |
 2025|      0|	dns_name_getlabelsequence(name, 0, l1 - l2, target);
 2026|      0|	return true;
 2027|       |
 2028|  61.5k|return_false:
 2029|  61.5k|	*target = *name;
 2030|       |	return false;
 2031|      0|}
rdata.c:txt_totext:
 1707|  70.2k|txt_totext(isc_region_t *source, bool quote, isc_buffer_t *target) {
 1708|       |	return commatxt_totext(source, quote, false, target);
 1709|  70.2k|}
rdata.c:commatxt_totext:
 1614|  71.1k|		isc_buffer_t *target) {
 1615|  71.1k|	unsigned int tl;
 1616|  71.1k|	unsigned int n;
 1617|  71.1k|	unsigned char *sp;
 1618|  71.1k|	char *tp;
 1619|  71.1k|	isc_region_t region;
 1620|       |
 1621|  71.1k|	isc_buffer_availableregion(target, &region);
 1622|  71.1k|	sp = source->base;
 1623|  71.1k|	tp = (char *)region.base;
 1624|  71.1k|	tl = region.length;
 1625|       |
 1626|  71.1k|	n = *sp++;
 1627|       |
 1628|  71.1k|	REQUIRE(n + 1 <= source->length);
  ------------------
  |  |  198|  71.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  71.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 71.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  71.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1629|  71.1k|	if (n == 0U) {
  ------------------
  |  Branch (1629:6): [True: 42.7k, False: 28.4k]
  ------------------
 1630|  42.7k|		REQUIRE(quote);
  ------------------
  |  |  198|  42.7k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  42.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 42.7k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  42.7k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1631|  42.7k|	}
 1632|       |
 1633|  71.1k|	if (quote) {
  ------------------
  |  Branch (1633:6): [True: 69.3k, False: 1.77k]
  ------------------
 1634|  69.3k|		if (tl < 1) {
  ------------------
  |  Branch (1634:7): [True: 0, False: 69.3k]
  ------------------
 1635|      0|			return ISC_R_NOSPACE;
 1636|      0|		}
 1637|  69.3k|		*tp++ = '"';
 1638|  69.3k|		tl--;
 1639|  69.3k|	}
 1640|  1.08M|	while (n--) {
  ------------------
  |  Branch (1640:9): [True: 1.01M, False: 71.1k]
  ------------------
 1641|       |		/*
 1642|       |		 * \DDD space (0x20) if not quoting.
 1643|       |		 */
 1644|  1.01M|		if (*sp < (quote ? ' ' : '!') || *sp >= 0x7f) {
  ------------------
  |  Branch (1644:7): [True: 442k, False: 572k]
  |  Branch (1644:14): [True: 1.00M, False: 5.71k]
  |  Branch (1644:36): [True: 168k, False: 404k]
  ------------------
 1645|   610k|			if (tl < 4) {
  ------------------
  |  Branch (1645:8): [True: 0, False: 610k]
  ------------------
 1646|      0|				return ISC_R_NOSPACE;
 1647|      0|			}
 1648|   610k|			*tp++ = '\\';
 1649|   610k|			*tp++ = '0' + ((*sp / 100) % 10);
 1650|   610k|			*tp++ = '0' + ((*sp / 10) % 10);
 1651|   610k|			*tp++ = '0' + (*sp % 10);
 1652|   610k|			sp++;
 1653|   610k|			tl -= 4;
 1654|   610k|			continue;
 1655|   610k|		}
 1656|       |		/*
 1657|       |		 * Escape double quote and backslash.  If we are not
 1658|       |		 * enclosing the string in double quotes, also escape
 1659|       |		 * at sign (@) and semicolon (;) unless comma is set.
 1660|       |		 * If comma is set, then only escape commas (,).
 1661|       |		 */
 1662|   404k|		if (*sp == '"' || *sp == '\\' || (comma && *sp == ',') ||
  ------------------
  |  Branch (1662:7): [True: 3.65k, False: 400k]
  |  Branch (1662:21): [True: 24.8k, False: 375k]
  |  Branch (1662:37): [True: 894, False: 374k]
  |  Branch (1662:46): [True: 232, False: 662]
  ------------------
 1663|   375k|		    (!comma && !quote && (*sp == '@' || *sp == ';')))
  ------------------
  |  Branch (1663:8): [True: 374k, False: 662]
  |  Branch (1663:18): [True: 1.92k, False: 372k]
  |  Branch (1663:29): [True: 0, False: 1.92k]
  |  Branch (1663:43): [True: 0, False: 1.92k]
  ------------------
 1664|  28.7k|		{
 1665|  28.7k|			if (tl < 2) {
  ------------------
  |  Branch (1665:8): [True: 0, False: 28.7k]
  ------------------
 1666|      0|				return ISC_R_NOSPACE;
 1667|      0|			}
 1668|  28.7k|			*tp++ = '\\';
 1669|  28.7k|			tl--;
 1670|       |			/*
 1671|       |			 * Perform comma escape processing.
 1672|       |			 * ',' => '\\,'
 1673|       |			 * '\' => '\\\\'
 1674|       |			 */
 1675|  28.7k|			if (comma && (*sp == ',' || *sp == '\\')) {
  ------------------
  |  Branch (1675:8): [True: 1.51k, False: 27.2k]
  |  Branch (1675:18): [True: 232, False: 1.28k]
  |  Branch (1675:32): [True: 926, False: 360]
  ------------------
 1676|  1.15k|				if (tl < ((*sp == '\\') ? 3 : 2)) {
  ------------------
  |  Branch (1676:9): [True: 0, False: 1.15k]
  |  Branch (1676:15): [True: 926, False: 232]
  ------------------
 1677|      0|					return ISC_R_NOSPACE;
 1678|      0|				}
 1679|  1.15k|				*tp++ = '\\';
 1680|  1.15k|				tl--;
 1681|  1.15k|				if (*sp == '\\') {
  ------------------
  |  Branch (1681:9): [True: 926, False: 232]
  ------------------
 1682|    926|					*tp++ = '\\';
 1683|    926|					tl--;
 1684|    926|				}
 1685|  1.15k|			}
 1686|  28.7k|		}
 1687|   404k|		if (tl < 1) {
  ------------------
  |  Branch (1687:7): [True: 0, False: 404k]
  ------------------
 1688|      0|			return ISC_R_NOSPACE;
 1689|      0|		}
 1690|   404k|		*tp++ = *sp++;
 1691|   404k|		tl--;
 1692|   404k|	}
 1693|  71.1k|	if (quote) {
  ------------------
  |  Branch (1693:6): [True: 69.3k, False: 1.77k]
  ------------------
 1694|  69.3k|		if (tl < 1) {
  ------------------
  |  Branch (1694:7): [True: 0, False: 69.3k]
  ------------------
 1695|      0|			return ISC_R_NOSPACE;
 1696|      0|		}
 1697|  69.3k|		*tp++ = '"';
 1698|  69.3k|		tl--;
 1699|  69.3k|		POST(tl);
  ------------------
  |  |   74|  69.3k|#define POST(x) (void)(x)
  ------------------
 1700|  69.3k|	}
 1701|  71.1k|	isc_buffer_add(target, (unsigned int)(tp - (char *)region.base));
 1702|  71.1k|	isc_region_consume(source, *source->base + 1);
  ------------------
  |  |   51|  71.1k|	do {                              \
  |  |   52|  71.1k|		isc_region_t *_r = (r);   \
  |  |   53|  71.1k|		unsigned int  _l = (l);   \
  |  |   54|  71.1k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  71.1k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  71.1k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 71.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  71.1k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  71.1k|		_r->base += _l;           \
  |  |   56|  71.1k|		_r->length -= _l;         \
  |  |   57|  71.1k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 71.1k]
  |  |  ------------------
  ------------------
 1703|  71.1k|	return ISC_R_SUCCESS;
 1704|  71.1k|}
rdata.c:typemap_totext:
  487|  6.22k|	       isc_buffer_t *target) {
  488|  6.22k|	unsigned int i, j, k;
  489|  6.22k|	unsigned int window, len;
  490|  6.22k|	bool first = true;
  491|       |
  492|  10.6k|	for (i = 0; i < sr->length; i += len) {
  ------------------
  |  Branch (492:14): [True: 4.39k, False: 6.22k]
  ------------------
  493|  4.39k|		if (tctx != NULL &&
  ------------------
  |  Branch (493:7): [True: 1.68k, False: 2.70k]
  ------------------
  494|  1.68k|		    (tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
  ------------------
  |  |  193|  1.68k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (494:7): [True: 0, False: 1.68k]
  ------------------
  495|      0|		{
  496|      0|			RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  497|      0|			first = true;
  498|      0|		}
  499|  4.39k|		INSIST(i + 2 <= sr->length);
  ------------------
  |  |  202|  4.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  4.39k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 4.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  4.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  500|  4.39k|		window = sr->base[i];
  501|  4.39k|		len = sr->base[i + 1];
  502|  4.39k|		INSIST(len > 0 && len <= 32);
  ------------------
  |  |  202|  4.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  8.78k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 4.39k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 4.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  4.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  503|  4.39k|		i += 2;
  504|  4.39k|		INSIST(i + len <= sr->length);
  ------------------
  |  |  202|  4.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  4.39k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 4.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  4.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  505|  31.4k|		for (j = 0; j < len; j++) {
  ------------------
  |  Branch (505:15): [True: 27.0k, False: 4.39k]
  ------------------
  506|  27.0k|			dns_rdatatype_t t;
  507|  27.0k|			if (sr->base[i + j] == 0) {
  ------------------
  |  Branch (507:8): [True: 6.56k, False: 20.5k]
  ------------------
  508|  6.56k|				continue;
  509|  6.56k|			}
  510|   184k|			for (k = 0; k < 8; k++) {
  ------------------
  |  Branch (510:16): [True: 164k, False: 20.5k]
  ------------------
  511|   164k|				if ((sr->base[i + j] & (0x80 >> k)) == 0) {
  ------------------
  |  Branch (511:9): [True: 95.1k, False: 68.9k]
  ------------------
  512|  95.1k|					continue;
  513|  95.1k|				}
  514|  68.9k|				t = window * 256 + j * 8 + k;
  515|  68.9k|				if (!first) {
  ------------------
  |  Branch (515:9): [True: 65.6k, False: 3.23k]
  ------------------
  516|  65.6k|					RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  65.6k|	{                                  \
  |  |  277|  65.6k|		isc_result_t _r = (x);     \
  |  |  278|  65.6k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 65.6k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  65.6k|	}
  ------------------
  517|  65.6k|				}
  518|  68.9k|				first = false;
  519|  68.9k|				if (dns_rdatatype_isknown(t)) {
  ------------------
  |  Branch (519:9): [True: 25.8k, False: 43.0k]
  ------------------
  520|  25.8k|					RETERR(dns_rdatatype_totext(t, target));
  ------------------
  |  |  276|  25.8k|	{                                  \
  |  |  277|  25.8k|		isc_result_t _r = (x);     \
  |  |  278|  25.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 25.8k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  25.8k|	}
  ------------------
  521|  43.0k|				} else {
  522|  43.0k|					char buf[sizeof("TYPE65535")];
  523|  43.0k|					snprintf(buf, sizeof(buf), "TYPE%u", t);
  524|  43.0k|					RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  43.0k|	{                                  \
  |  |  277|  43.0k|		isc_result_t _r = (x);     \
  |  |  278|  43.0k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 43.0k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  43.0k|	}
  ------------------
  525|  43.0k|				}
  526|  68.9k|			}
  527|  20.5k|		}
  528|  4.39k|	}
  529|  6.22k|	return ISC_R_SUCCESS;
  530|  6.22k|}
rdata.c:multitxt_totext:
 1868|  5.44k|multitxt_totext(isc_region_t *source, isc_buffer_t *target) {
 1869|  5.44k|	unsigned int tl;
 1870|  5.44k|	unsigned int n0, n;
 1871|  5.44k|	unsigned char *sp;
 1872|  5.44k|	char *tp;
 1873|  5.44k|	isc_region_t region;
 1874|       |
 1875|  5.44k|	isc_buffer_availableregion(target, &region);
 1876|  5.44k|	sp = source->base;
 1877|  5.44k|	tp = (char *)region.base;
 1878|  5.44k|	tl = region.length;
 1879|       |
 1880|  5.44k|	if (tl < 1) {
  ------------------
  |  Branch (1880:6): [True: 0, False: 5.44k]
  ------------------
 1881|      0|		return ISC_R_NOSPACE;
 1882|      0|	}
 1883|  5.44k|	*tp++ = '"';
 1884|  5.44k|	tl--;
 1885|  5.44k|	do {
 1886|  5.44k|		n = source->length;
 1887|  5.44k|		n0 = source->length - 1;
 1888|       |
 1889|   668k|		while (n--) {
  ------------------
  |  Branch (1889:10): [True: 663k, False: 5.44k]
  ------------------
 1890|   663k|			if (*sp < ' ' || *sp >= 0x7f) {
  ------------------
  |  Branch (1890:8): [True: 432k, False: 230k]
  |  Branch (1890:21): [True: 83.2k, False: 147k]
  ------------------
 1891|   515k|				if (tl < 4) {
  ------------------
  |  Branch (1891:9): [True: 0, False: 515k]
  ------------------
 1892|      0|					return ISC_R_NOSPACE;
 1893|      0|				}
 1894|   515k|				*tp++ = '\\';
 1895|   515k|				*tp++ = '0' + ((*sp / 100) % 10);
 1896|   515k|				*tp++ = '0' + ((*sp / 10) % 10);
 1897|   515k|				*tp++ = '0' + (*sp % 10);
 1898|   515k|				sp++;
 1899|   515k|				tl -= 4;
 1900|   515k|				continue;
 1901|   515k|			}
 1902|       |			/* double quote, backslash */
 1903|   147k|			if (*sp == '"' || *sp == '\\') {
  ------------------
  |  Branch (1903:8): [True: 1.67k, False: 145k]
  |  Branch (1903:22): [True: 2.80k, False: 143k]
  ------------------
 1904|  4.48k|				if (tl < 2) {
  ------------------
  |  Branch (1904:9): [True: 0, False: 4.48k]
  ------------------
 1905|      0|					return ISC_R_NOSPACE;
 1906|      0|				}
 1907|  4.48k|				*tp++ = '\\';
 1908|  4.48k|				tl--;
 1909|  4.48k|			}
 1910|   147k|			if (tl < 1) {
  ------------------
  |  Branch (1910:8): [True: 0, False: 147k]
  ------------------
 1911|      0|				return ISC_R_NOSPACE;
 1912|      0|			}
 1913|   147k|			*tp++ = *sp++;
 1914|   147k|			tl--;
 1915|   147k|		}
 1916|  5.44k|		isc_region_consume(source, n0 + 1);
  ------------------
  |  |   51|  5.44k|	do {                              \
  |  |   52|  5.44k|		isc_region_t *_r = (r);   \
  |  |   53|  5.44k|		unsigned int  _l = (l);   \
  |  |   54|  5.44k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  5.44k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  5.44k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 5.44k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  5.44k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  5.44k|		_r->base += _l;           \
  |  |   56|  5.44k|		_r->length -= _l;         \
  |  |   57|  5.44k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 5.44k]
  |  |  ------------------
  ------------------
 1917|  5.44k|	} while (source->length != 0);
  ------------------
  |  Branch (1917:11): [True: 0, False: 5.44k]
  ------------------
 1918|  5.44k|	if (tl < 1) {
  ------------------
  |  Branch (1918:6): [True: 0, False: 5.44k]
  ------------------
 1919|      0|		return ISC_R_NOSPACE;
 1920|      0|	}
 1921|  5.44k|	*tp++ = '"';
 1922|  5.44k|	tl--;
 1923|  5.44k|	POST(tl);
  ------------------
  |  |   74|  5.44k|#define POST(x) (void)(x)
  ------------------
 1924|  5.44k|	isc_buffer_add(target, (unsigned int)(tp - (char *)region.base));
 1925|  5.44k|	return ISC_R_SUCCESS;
 1926|  5.44k|}
rdata.c:uint8_consume_fromregion:
 2178|    947|uint8_consume_fromregion(isc_region_t *region) {
 2179|    947|	uint8_t r = uint8_fromregion(region);
 2180|       |
 2181|    947|	isc_region_consume(region, 1);
  ------------------
  |  |   51|    947|	do {                              \
  |  |   52|    947|		isc_region_t *_r = (r);   \
  |  |   53|    947|		unsigned int  _l = (l);   \
  |  |   54|    947|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    947|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    947|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 947, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    947|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    947|		_r->base += _l;           \
  |  |   56|    947|		_r->length -= _l;         \
  |  |   57|    947|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 947]
  |  |  ------------------
  ------------------
 2182|    947|	return r;
 2183|    947|}
rdata.c:str_totext:
 2034|  1.84M|str_totext(const char *source, isc_buffer_t *target) {
 2035|  1.84M|	unsigned int l;
 2036|  1.84M|	isc_region_t region;
 2037|       |
 2038|  1.84M|	isc_buffer_availableregion(target, &region);
 2039|  1.84M|	l = strlen(source);
 2040|       |
 2041|  1.84M|	if (l > region.length) {
  ------------------
  |  Branch (2041:6): [True: 2, False: 1.84M]
  ------------------
 2042|      2|		return ISC_R_NOSPACE;
 2043|      2|	}
 2044|       |
 2045|  1.84M|	memmove(region.base, source, l);
 2046|  1.84M|	isc_buffer_add(target, l);
 2047|  1.84M|	return ISC_R_SUCCESS;
 2048|  1.84M|}
rdata.c:buffer_empty:
 2083|   333k|buffer_empty(isc_buffer_t *source) {
 2084|   333k|	return (source->current == source->active) ? true : false;
  ------------------
  |  Branch (2084:9): [True: 287k, False: 46.4k]
  ------------------
 2085|   333k|}
rdata.c:uint16_fromregion:
 2164|  1.57M|uint16_fromregion(isc_region_t *region) {
 2165|  1.57M|	REQUIRE(region->length >= 2);
  ------------------
  |  |  198|  1.57M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.57M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.57M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.57M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 2166|       |
 2167|  1.57M|	return (region->base[0] << 8) | region->base[1];
 2168|  1.57M|}

rdata.c:fromwire_any_tsig:
  255|  3.09k|fromwire_any_tsig(ARGS_FROMWIRE) {
  256|  3.09k|	isc_region_t sr;
  257|  3.09k|	dns_name_t name;
  258|  3.09k|	unsigned long n;
  259|       |
  260|  3.09k|	REQUIRE(type == dns_rdatatype_tsig);
  ------------------
  |  |  198|  3.09k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.09k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.09k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.09k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  261|  3.09k|	REQUIRE(rdclass == dns_rdataclass_any);
  ------------------
  |  |  198|  3.09k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.09k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.09k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.09k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  262|       |
  263|  3.09k|	UNUSED(type);
  ------------------
  |  |   69|  3.09k|#define UNUSED(x) (void)(x)
  ------------------
  264|  3.09k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.09k|#define UNUSED(x) (void)(x)
  ------------------
  265|       |
  266|  3.09k|	dctx = dns_decompress_setpermitted(dctx, false);
  267|       |
  268|       |	/*
  269|       |	 * Algorithm Name.
  270|       |	 */
  271|  3.09k|	dns_name_init(&name);
  272|  3.09k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  3.09k|	{                                  \
  |  |  277|  3.09k|		isc_result_t _r = (x);     \
  |  |  278|  3.09k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 198, False: 2.90k]
  |  |  ------------------
  |  |  279|    198|			return ((_r));     \
  |  |  280|    198|		}                          \
  |  |  281|  3.09k|	}
  ------------------
  273|       |
  274|  2.90k|	isc_buffer_activeregion(source, &sr);
  275|       |	/*
  276|       |	 * Time Signed + Fudge.
  277|       |	 */
  278|  2.90k|	if (sr.length < 8) {
  ------------------
  |  Branch (278:6): [True: 4, False: 2.89k]
  ------------------
  279|      4|		return ISC_R_UNEXPECTEDEND;
  280|      4|	}
  281|  2.89k|	RETERR(mem_tobuffer(target, sr.base, 8));
  ------------------
  |  |  276|  2.89k|	{                                  \
  |  |  277|  2.89k|		isc_result_t _r = (x);     \
  |  |  278|  2.89k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 202, False: 2.69k]
  |  |  ------------------
  |  |  279|    202|			return ((_r));     \
  |  |  280|    202|		}                          \
  |  |  281|  2.89k|	}
  ------------------
  282|  2.69k|	isc_region_consume(&sr, 8);
  ------------------
  |  |   51|  2.69k|	do {                              \
  |  |   52|  2.69k|		isc_region_t *_r = (r);   \
  |  |   53|  2.69k|		unsigned int  _l = (l);   \
  |  |   54|  2.69k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.69k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.69k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.69k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.69k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.69k|		_r->base += _l;           \
  |  |   56|  2.69k|		_r->length -= _l;         \
  |  |   57|  2.69k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.69k]
  |  |  ------------------
  ------------------
  283|  2.69k|	isc_buffer_forward(source, 8);
  284|       |
  285|       |	/*
  286|       |	 * Signature Length + Signature.
  287|       |	 */
  288|  2.69k|	if (sr.length < 2) {
  ------------------
  |  Branch (288:6): [True: 5, False: 2.68k]
  ------------------
  289|      5|		return ISC_R_UNEXPECTEDEND;
  290|      5|	}
  291|  2.68k|	n = uint16_fromregion(&sr);
  292|  2.68k|	if (sr.length < n + 2) {
  ------------------
  |  Branch (292:6): [True: 27, False: 2.66k]
  ------------------
  293|     27|		return ISC_R_UNEXPECTEDEND;
  294|     27|	}
  295|  2.66k|	RETERR(mem_tobuffer(target, sr.base, n + 2));
  ------------------
  |  |  276|  2.66k|	{                                  \
  |  |  277|  2.66k|		isc_result_t _r = (x);     \
  |  |  278|  2.66k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 297, False: 2.36k]
  |  |  ------------------
  |  |  279|    297|			return ((_r));     \
  |  |  280|    297|		}                          \
  |  |  281|  2.66k|	}
  ------------------
  296|  2.36k|	isc_region_consume(&sr, n + 2);
  ------------------
  |  |   51|  2.36k|	do {                              \
  |  |   52|  2.36k|		isc_region_t *_r = (r);   \
  |  |   53|  2.36k|		unsigned int  _l = (l);   \
  |  |   54|  2.36k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.36k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.36k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.36k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.36k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.36k|		_r->base += _l;           \
  |  |   56|  2.36k|		_r->length -= _l;         \
  |  |   57|  2.36k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.36k]
  |  |  ------------------
  ------------------
  297|  2.36k|	isc_buffer_forward(source, n + 2);
  298|       |
  299|       |	/*
  300|       |	 * Original ID + Error.
  301|       |	 */
  302|  2.36k|	if (sr.length < 4) {
  ------------------
  |  Branch (302:6): [True: 5, False: 2.36k]
  ------------------
  303|      5|		return ISC_R_UNEXPECTEDEND;
  304|      5|	}
  305|  2.36k|	RETERR(mem_tobuffer(target, sr.base, 4));
  ------------------
  |  |  276|  2.36k|	{                                  \
  |  |  277|  2.36k|		isc_result_t _r = (x);     \
  |  |  278|  2.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 70, False: 2.29k]
  |  |  ------------------
  |  |  279|     70|			return ((_r));     \
  |  |  280|     70|		}                          \
  |  |  281|  2.36k|	}
  ------------------
  306|  2.29k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  2.29k|	do {                              \
  |  |   52|  2.29k|		isc_region_t *_r = (r);   \
  |  |   53|  2.29k|		unsigned int  _l = (l);   \
  |  |   54|  2.29k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.29k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.29k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.29k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.29k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.29k|		_r->base += _l;           \
  |  |   56|  2.29k|		_r->length -= _l;         \
  |  |   57|  2.29k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.29k]
  |  |  ------------------
  ------------------
  307|  2.29k|	isc_buffer_forward(source, 4);
  308|       |
  309|       |	/*
  310|       |	 * Other Length + Other.
  311|       |	 */
  312|  2.29k|	if (sr.length < 2) {
  ------------------
  |  Branch (312:6): [True: 3, False: 2.28k]
  ------------------
  313|      3|		return ISC_R_UNEXPECTEDEND;
  314|      3|	}
  315|  2.28k|	n = uint16_fromregion(&sr);
  316|  2.28k|	if (sr.length < n + 2) {
  ------------------
  |  Branch (316:6): [True: 29, False: 2.25k]
  ------------------
  317|     29|		return ISC_R_UNEXPECTEDEND;
  318|     29|	}
  319|  2.25k|	isc_buffer_forward(source, n + 2);
  320|  2.25k|	return mem_tobuffer(target, sr.base, n + 2);
  321|  2.28k|}
rdata.c:towire_any_tsig:
  324|    815|towire_any_tsig(ARGS_TOWIRE) {
  325|    815|	isc_region_t sr;
  326|    815|	dns_name_t name;
  327|       |
  328|    815|	REQUIRE(rdata->type == dns_rdatatype_tsig);
  ------------------
  |  |  198|    815|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    815|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 815, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    815|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  329|    815|	REQUIRE(rdata->rdclass == dns_rdataclass_any);
  ------------------
  |  |  198|    815|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    815|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 815, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    815|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  330|    815|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    815|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    815|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 815, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    815|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  331|       |
  332|    815|	dns_compress_setpermitted(cctx, false);
  333|    815|	dns_rdata_toregion(rdata, &sr);
  334|    815|	dns_name_init(&name);
  335|    815|	dns_name_fromregion(&name, &sr);
  336|    815|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|    815|	{                                  \
  |  |  277|    815|		isc_result_t _r = (x);     \
  |  |  278|    815|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 814]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    815|	}
  ------------------
  337|    814|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|    814|	do {                              \
  |  |   52|    814|		isc_region_t *_r = (r);   \
  |  |   53|    814|		unsigned int  _l = (l);   \
  |  |   54|    814|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    814|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    814|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 814, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    814|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    814|		_r->base += _l;           \
  |  |   56|    814|		_r->length -= _l;         \
  |  |   57|    814|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 814]
  |  |  ------------------
  ------------------
  338|    814|	return mem_tobuffer(target, sr.base, sr.length);
  339|    815|}
rdata.c:totext_any_tsig:
  133|  1.55k|totext_any_tsig(ARGS_TOTEXT) {
  134|  1.55k|	isc_region_t sr;
  135|  1.55k|	isc_region_t sigr;
  136|  1.55k|	char buf[sizeof(" 281474976710655 ")];
  137|  1.55k|	char *bufp;
  138|  1.55k|	dns_name_t name;
  139|  1.55k|	dns_name_t prefix;
  140|  1.55k|	uint64_t sigtime;
  141|  1.55k|	unsigned short n;
  142|  1.55k|	unsigned int opts;
  143|       |
  144|  1.55k|	REQUIRE(rdata->type == dns_rdatatype_tsig);
  ------------------
  |  |  198|  1.55k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.55k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.55k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  145|  1.55k|	REQUIRE(rdata->rdclass == dns_rdataclass_any);
  ------------------
  |  |  198|  1.55k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.55k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.55k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  146|  1.55k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.55k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.55k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.55k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  147|       |
  148|  1.55k|	dns_rdata_toregion(rdata, &sr);
  149|       |	/*
  150|       |	 * Algorithm Name.
  151|       |	 */
  152|  1.55k|	dns_name_init(&name);
  153|  1.55k|	dns_name_init(&prefix);
  154|  1.55k|	dns_name_fromregion(&name, &sr);
  155|  1.55k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (155:9): [True: 0, False: 1.55k]
  ------------------
  156|  1.55k|							 : 0;
  157|  1.55k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  158|  1.55k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  159|  1.55k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  160|       |
  161|       |	/*
  162|       |	 * Time Signed.
  163|       |	 */
  164|  1.55k|	sigtime = ((uint64_t)sr.base[0] << 40) | ((uint64_t)sr.base[1] << 32) |
  165|  1.55k|		  ((uint64_t)sr.base[2] << 24) | ((uint64_t)sr.base[3] << 16) |
  166|  1.55k|		  ((uint64_t)sr.base[4] << 8) | (uint64_t)sr.base[5];
  167|  1.55k|	isc_region_consume(&sr, 6);
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  168|  1.55k|	bufp = &buf[sizeof(buf) - 1];
  169|  1.55k|	*bufp-- = 0;
  170|  1.55k|	*bufp-- = ' ';
  171|  10.8k|	do {
  172|  10.8k|		*bufp-- = '0' + sigtime % 10;
  173|  10.8k|		sigtime /= 10;
  174|  10.8k|	} while (sigtime != 0);
  ------------------
  |  Branch (174:11): [True: 9.34k, False: 1.55k]
  ------------------
  175|  1.55k|	bufp++;
  176|  1.55k|	RETERR(str_totext(bufp, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  177|       |
  178|       |	/*
  179|       |	 * Fudge.
  180|       |	 */
  181|  1.55k|	n = uint16_fromregion(&sr);
  182|  1.55k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  183|  1.55k|	snprintf(buf, sizeof(buf), "%u ", n);
  184|  1.55k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  185|       |
  186|       |	/*
  187|       |	 * Signature Size.
  188|       |	 */
  189|  1.55k|	n = uint16_fromregion(&sr);
  190|  1.55k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  191|  1.55k|	snprintf(buf, sizeof(buf), "%u", n);
  192|  1.55k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  193|       |
  194|       |	/*
  195|       |	 * Signature.
  196|       |	 */
  197|  1.55k|	if (n != 0U) {
  ------------------
  |  Branch (197:6): [True: 350, False: 1.20k]
  ------------------
  198|    350|		REQUIRE(n <= sr.length);
  ------------------
  |  |  198|    350|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    350|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 350, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    350|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  199|    350|		sigr = sr;
  200|    350|		sigr.length = n;
  201|    350|		if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    350|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (201:7): [True: 0, False: 350]
  ------------------
  202|      0|			RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  203|      0|		}
  204|    350|		RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|    350|	{                                  \
  |  |  277|    350|		isc_result_t _r = (x);     \
  |  |  278|    350|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 350]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    350|	}
  ------------------
  205|    350|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (205:7): [True: 0, False: 350]
  ------------------
  206|      0|			RETERR(isc_base64_totext(&sigr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  207|    350|		} else {
  208|    350|			RETERR(isc_base64_totext(&sigr, tctx->width - 2,
  ------------------
  |  |  276|    350|	{                                  \
  |  |  277|    350|		isc_result_t _r = (x);     \
  |  |  278|    350|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 350]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    350|	}
  ------------------
  209|    350|						 tctx->linebreak, target));
  210|    350|		}
  211|    350|		if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    350|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (211:7): [True: 0, False: 350]
  ------------------
  212|      0|			RETERR(str_totext(" ) ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  213|    350|		} else {
  214|    350|			RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    350|	{                                  \
  |  |  277|    350|		isc_result_t _r = (x);     \
  |  |  278|    350|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 350]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    350|	}
  ------------------
  215|    350|		}
  216|    350|		isc_region_consume(&sr, n);
  ------------------
  |  |   51|    350|	do {                              \
  |  |   52|    350|		isc_region_t *_r = (r);   \
  |  |   53|    350|		unsigned int  _l = (l);   \
  |  |   54|    350|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    350|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    350|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 350, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    350|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    350|		_r->base += _l;           \
  |  |   56|    350|		_r->length -= _l;         \
  |  |   57|    350|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 350]
  |  |  ------------------
  ------------------
  217|  1.20k|	} else {
  218|  1.20k|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.20k|	{                                  \
  |  |  277|  1.20k|		isc_result_t _r = (x);     \
  |  |  278|  1.20k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.20k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.20k|	}
  ------------------
  219|  1.20k|	}
  220|       |
  221|       |	/*
  222|       |	 * Original ID.
  223|       |	 */
  224|  1.55k|	n = uint16_fromregion(&sr);
  225|  1.55k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  226|  1.55k|	snprintf(buf, sizeof(buf), "%u ", n);
  227|  1.55k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  228|       |
  229|       |	/*
  230|       |	 * Error.
  231|       |	 */
  232|  1.55k|	n = uint16_fromregion(&sr);
  233|  1.55k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  234|  1.55k|	RETERR(dns_tsigrcode_totext((dns_rcode_t)n, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  235|       |
  236|       |	/*
  237|       |	 * Other Size.
  238|       |	 */
  239|  1.55k|	n = uint16_fromregion(&sr);
  240|  1.55k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.55k|	do {                              \
  |  |   52|  1.55k|		isc_region_t *_r = (r);   \
  |  |   53|  1.55k|		unsigned int  _l = (l);   \
  |  |   54|  1.55k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.55k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.55k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.55k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.55k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.55k|		_r->base += _l;           \
  |  |   56|  1.55k|		_r->length -= _l;         \
  |  |   57|  1.55k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.55k]
  |  |  ------------------
  ------------------
  241|  1.55k|	snprintf(buf, sizeof(buf), " %u ", n);
  242|  1.55k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.55k|	{                                  \
  |  |  277|  1.55k|		isc_result_t _r = (x);     \
  |  |  278|  1.55k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.55k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.55k|	}
  ------------------
  243|       |
  244|       |	/*
  245|       |	 * Other.
  246|       |	 */
  247|  1.55k|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (247:6): [True: 0, False: 1.55k]
  ------------------
  248|      0|		return isc_base64_totext(&sr, 60, "", target);
  249|  1.55k|	} else {
  250|  1.55k|		return isc_base64_totext(&sr, 60, " ", target);
  251|  1.55k|	}
  252|  1.55k|}

rdata.c:fromwire_ch_a:
   99|  1.53k|fromwire_ch_a(ARGS_FROMWIRE) {
  100|  1.53k|	isc_region_t sregion;
  101|  1.53k|	isc_region_t tregion;
  102|  1.53k|	dns_name_t name;
  103|       |
  104|  1.53k|	REQUIRE(type == dns_rdatatype_a);
  ------------------
  |  |  198|  1.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  105|  1.53k|	REQUIRE(rdclass == dns_rdataclass_ch);
  ------------------
  |  |  198|  1.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|       |
  107|  1.53k|	UNUSED(type);
  ------------------
  |  |   69|  1.53k|#define UNUSED(x) (void)(x)
  ------------------
  108|  1.53k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.53k|#define UNUSED(x) (void)(x)
  ------------------
  109|       |
  110|  1.53k|	dctx = dns_decompress_setpermitted(dctx, true);
  111|       |
  112|  1.53k|	dns_name_init(&name);
  113|       |
  114|  1.53k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  1.53k|	{                                  \
  |  |  277|  1.53k|		isc_result_t _r = (x);     \
  |  |  278|  1.53k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 198, False: 1.33k]
  |  |  ------------------
  |  |  279|    198|			return ((_r));     \
  |  |  280|    198|		}                          \
  |  |  281|  1.53k|	}
  ------------------
  115|       |
  116|  1.33k|	isc_buffer_activeregion(source, &sregion);
  117|  1.33k|	isc_buffer_availableregion(target, &tregion);
  118|  1.33k|	if (sregion.length < 2) {
  ------------------
  |  Branch (118:6): [True: 2, False: 1.33k]
  ------------------
  119|      2|		return ISC_R_UNEXPECTEDEND;
  120|      2|	}
  121|  1.33k|	if (tregion.length < 2) {
  ------------------
  |  Branch (121:6): [True: 194, False: 1.13k]
  ------------------
  122|    194|		return ISC_R_NOSPACE;
  123|    194|	}
  124|       |
  125|  1.13k|	memmove(tregion.base, sregion.base, 2);
  126|  1.13k|	isc_buffer_forward(source, 2);
  127|  1.13k|	isc_buffer_add(target, 2);
  128|       |
  129|  1.13k|	return ISC_R_SUCCESS;
  130|  1.33k|}
rdata.c:towire_ch_a:
  133|    356|towire_ch_a(ARGS_TOWIRE) {
  134|    356|	dns_name_t name;
  135|    356|	isc_region_t sregion;
  136|    356|	isc_region_t tregion;
  137|       |
  138|    356|	REQUIRE(rdata->type == dns_rdatatype_a);
  ------------------
  |  |  198|    356|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    356|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 356, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    356|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  139|    356|	REQUIRE(rdata->rdclass == dns_rdataclass_ch);
  ------------------
  |  |  198|    356|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    356|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 356, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    356|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  140|    356|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    356|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    356|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 356, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    356|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  141|       |
  142|    356|	dns_compress_setpermitted(cctx, true);
  143|       |
  144|    356|	dns_name_init(&name);
  145|       |
  146|    356|	dns_rdata_toregion(rdata, &sregion);
  147|       |
  148|    356|	dns_name_fromregion(&name, &sregion);
  149|    356|	isc_region_consume(&sregion, name_length(&name));
  ------------------
  |  |   51|    356|	do {                              \
  |  |   52|    356|		isc_region_t *_r = (r);   \
  |  |   53|    356|		unsigned int  _l = (l);   \
  |  |   54|    356|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    356|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    356|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 356, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    356|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    356|		_r->base += _l;           \
  |  |   56|    356|		_r->length -= _l;         \
  |  |   57|    356|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 356]
  |  |  ------------------
  ------------------
  150|    356|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|    356|	{                                  \
  |  |  277|    356|		isc_result_t _r = (x);     \
  |  |  278|    356|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 355]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    356|	}
  ------------------
  151|       |
  152|    355|	isc_buffer_availableregion(target, &tregion);
  153|    355|	if (tregion.length < 2) {
  ------------------
  |  Branch (153:6): [True: 1, False: 354]
  ------------------
  154|      1|		return ISC_R_NOSPACE;
  155|      1|	}
  156|       |
  157|    354|	memmove(tregion.base, sregion.base, 2);
  158|    354|	isc_buffer_add(target, 2);
  159|    354|	return ISC_R_SUCCESS;
  160|    355|}
rdata.c:totext_ch_a:
   69|    695|totext_ch_a(ARGS_TOTEXT) {
   70|    695|	isc_region_t region;
   71|    695|	dns_name_t name;
   72|    695|	dns_name_t prefix;
   73|    695|	unsigned int opts;
   74|    695|	char buf[sizeof("0177777")];
   75|    695|	uint16_t addr;
   76|       |
   77|    695|	REQUIRE(rdata->type == dns_rdatatype_a);
  ------------------
  |  |  198|    695|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    695|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 695, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    695|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   78|    695|	REQUIRE(rdata->rdclass == dns_rdataclass_ch); /* 3 */
  ------------------
  |  |  198|    695|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    695|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 695, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    695|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   79|    695|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    695|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    695|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 695, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    695|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   80|       |
   81|    695|	dns_name_init(&name);
   82|    695|	dns_name_init(&prefix);
   83|       |
   84|    695|	dns_rdata_toregion(rdata, &region);
   85|    695|	dns_name_fromregion(&name, &region);
   86|    695|	isc_region_consume(&region, name_length(&name));
  ------------------
  |  |   51|    695|	do {                              \
  |  |   52|    695|		isc_region_t *_r = (r);   \
  |  |   53|    695|		unsigned int  _l = (l);   \
  |  |   54|    695|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    695|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    695|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 695, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    695|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    695|		_r->base += _l;           \
  |  |   56|    695|		_r->length -= _l;         \
  |  |   57|    695|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 695]
  |  |  ------------------
  ------------------
   87|    695|	addr = uint16_fromregion(&region);
   88|       |
   89|    695|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (89:9): [True: 0, False: 695]
  ------------------
   90|    695|							 : 0;
   91|    695|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|    695|	{                                  \
  |  |  277|    695|		isc_result_t _r = (x);     \
  |  |  278|    695|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 695]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    695|	}
  ------------------
   92|       |
   93|    695|	snprintf(buf, sizeof(buf), "%o", addr); /* note octal */
   94|    695|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    695|	{                                  \
  |  |  277|    695|		isc_result_t _r = (x);     \
  |  |  278|    695|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 695]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    695|	}
  ------------------
   95|    695|	return str_totext(buf, target);
   96|    695|}

rdata.c:fromwire_afsdb:
   95|    949|fromwire_afsdb(ARGS_FROMWIRE) {
   96|    949|	dns_name_t name;
   97|    949|	isc_region_t sr;
   98|    949|	isc_region_t tr;
   99|       |
  100|    949|	REQUIRE(type == dns_rdatatype_afsdb);
  ------------------
  |  |  198|    949|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    949|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 949, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    949|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  101|       |
  102|    949|	UNUSED(type);
  ------------------
  |  |   69|    949|#define UNUSED(x) (void)(x)
  ------------------
  103|    949|	UNUSED(rdclass);
  ------------------
  |  |   69|    949|#define UNUSED(x) (void)(x)
  ------------------
  104|       |
  105|    949|	dctx = dns_decompress_setpermitted(dctx, false);
  106|       |
  107|    949|	dns_name_init(&name);
  108|       |
  109|    949|	isc_buffer_activeregion(source, &sr);
  110|    949|	isc_buffer_availableregion(target, &tr);
  111|    949|	if (tr.length < 2) {
  ------------------
  |  Branch (111:6): [True: 66, False: 883]
  ------------------
  112|     66|		return ISC_R_NOSPACE;
  113|     66|	}
  114|    883|	if (sr.length < 2) {
  ------------------
  |  Branch (114:6): [True: 13, False: 870]
  ------------------
  115|     13|		return ISC_R_UNEXPECTEDEND;
  116|     13|	}
  117|    870|	memmove(tr.base, sr.base, 2);
  118|    870|	isc_buffer_forward(source, 2);
  119|    870|	isc_buffer_add(target, 2);
  120|    870|	return dns_name_fromwire(&name, source, dctx, target);
  121|    883|}
rdata.c:towire_afsdb:
  124|    377|towire_afsdb(ARGS_TOWIRE) {
  125|    377|	isc_region_t tr;
  126|    377|	isc_region_t sr;
  127|    377|	dns_name_t name;
  128|       |
  129|    377|	REQUIRE(rdata->type == dns_rdatatype_afsdb);
  ------------------
  |  |  198|    377|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    377|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 377, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    377|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  130|    377|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    377|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    377|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 377, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    377|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  131|       |
  132|    377|	dns_compress_setpermitted(cctx, false);
  133|    377|	isc_buffer_availableregion(target, &tr);
  134|    377|	dns_rdata_toregion(rdata, &sr);
  135|    377|	if (tr.length < 2) {
  ------------------
  |  Branch (135:6): [True: 1, False: 376]
  ------------------
  136|      1|		return ISC_R_NOSPACE;
  137|      1|	}
  138|    376|	memmove(tr.base, sr.base, 2);
  139|    376|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|    376|	do {                              \
  |  |   52|    376|		isc_region_t *_r = (r);   \
  |  |   53|    376|		unsigned int  _l = (l);   \
  |  |   54|    376|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    376|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    376|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 376, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    376|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    376|		_r->base += _l;           \
  |  |   56|    376|		_r->length -= _l;         \
  |  |   57|    376|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 376]
  |  |  ------------------
  ------------------
  140|    376|	isc_buffer_add(target, 2);
  141|       |
  142|    376|	dns_name_init(&name);
  143|    376|	dns_name_fromregion(&name, &sr);
  144|       |
  145|    376|	return dns_name_towire(&name, cctx, target);
  146|    377|}
rdata.c:totext_afsdb:
   70|    769|totext_afsdb(ARGS_TOTEXT) {
   71|    769|	dns_name_t name;
   72|    769|	dns_name_t prefix;
   73|    769|	isc_region_t region;
   74|    769|	char buf[sizeof("64000 ")];
   75|    769|	unsigned int num, opts;
   76|       |
   77|    769|	REQUIRE(rdata->type == dns_rdatatype_afsdb);
  ------------------
  |  |  198|    769|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    769|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 769, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    769|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   78|    769|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    769|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    769|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 769, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    769|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   79|       |
   80|    769|	dns_name_init(&name);
   81|    769|	dns_name_init(&prefix);
   82|       |
   83|    769|	dns_rdata_toregion(rdata, &region);
   84|    769|	num = uint16_fromregion(&region);
   85|    769|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    769|	do {                              \
  |  |   52|    769|		isc_region_t *_r = (r);   \
  |  |   53|    769|		unsigned int  _l = (l);   \
  |  |   54|    769|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    769|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    769|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 769, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    769|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    769|		_r->base += _l;           \
  |  |   56|    769|		_r->length -= _l;         \
  |  |   57|    769|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 769]
  |  |  ------------------
  ------------------
   86|    769|	snprintf(buf, sizeof(buf), "%u ", num);
   87|    769|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    769|	{                                  \
  |  |  277|    769|		isc_result_t _r = (x);     \
  |  |  278|    769|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 769]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    769|	}
  ------------------
   88|    769|	dns_name_fromregion(&name, &region);
   89|    769|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (89:9): [True: 0, False: 769]
  ------------------
   90|    769|							 : 0;
   91|    769|	return dns_name_totext(&prefix, opts, target);
   92|    769|}

rdata.c:fromwire_amtrelay:
  183|  5.46k|fromwire_amtrelay(ARGS_FROMWIRE) {
  184|  5.46k|	dns_name_t name;
  185|  5.46k|	isc_region_t region;
  186|       |
  187|  5.46k|	REQUIRE(type == dns_rdatatype_amtrelay);
  ------------------
  |  |  198|  5.46k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.46k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.46k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.46k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  188|       |
  189|  5.46k|	UNUSED(type);
  ------------------
  |  |   69|  5.46k|#define UNUSED(x) (void)(x)
  ------------------
  190|  5.46k|	UNUSED(rdclass);
  ------------------
  |  |   69|  5.46k|#define UNUSED(x) (void)(x)
  ------------------
  191|       |
  192|  5.46k|	dctx = dns_decompress_setpermitted(dctx, false);
  193|       |
  194|  5.46k|	isc_buffer_activeregion(source, &region);
  195|  5.46k|	if (region.length < 2) {
  ------------------
  |  Branch (195:6): [True: 4, False: 5.46k]
  ------------------
  196|      4|		return ISC_R_UNEXPECTEDEND;
  197|      4|	}
  198|       |
  199|  5.46k|	switch (region.base[1] & 0x7f) {
  200|  1.00k|	case 0:
  ------------------
  |  Branch (200:2): [True: 1.00k, False: 4.45k]
  ------------------
  201|  1.00k|		if (region.length != 2) {
  ------------------
  |  Branch (201:7): [True: 5, False: 1.00k]
  ------------------
  202|      5|			return DNS_R_FORMERR;
  203|      5|		}
  204|  1.00k|		isc_buffer_forward(source, region.length);
  205|  1.00k|		return mem_tobuffer(target, region.base, region.length);
  206|       |
  207|    641|	case 1:
  ------------------
  |  Branch (207:2): [True: 641, False: 4.81k]
  ------------------
  208|    641|		if (region.length != 6) {
  ------------------
  |  Branch (208:7): [True: 1, False: 640]
  ------------------
  209|      1|			return DNS_R_FORMERR;
  210|      1|		}
  211|    640|		isc_buffer_forward(source, region.length);
  212|    640|		return mem_tobuffer(target, region.base, region.length);
  213|       |
  214|    819|	case 2:
  ------------------
  |  Branch (214:2): [True: 819, False: 4.64k]
  ------------------
  215|    819|		if (region.length != 18) {
  ------------------
  |  Branch (215:7): [True: 2, False: 817]
  ------------------
  216|      2|			return DNS_R_FORMERR;
  217|      2|		}
  218|    817|		isc_buffer_forward(source, region.length);
  219|    817|		return mem_tobuffer(target, region.base, region.length);
  220|       |
  221|    661|	case 3:
  ------------------
  |  Branch (221:2): [True: 661, False: 4.79k]
  ------------------
  222|    661|		RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|    661|	{                                  \
  |  |  277|    661|		isc_result_t _r = (x);     \
  |  |  278|    661|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 195, False: 466]
  |  |  ------------------
  |  |  279|    195|			return ((_r));     \
  |  |  280|    195|		}                          \
  |  |  281|    661|	}
  ------------------
  223|    466|		isc_buffer_forward(source, 2);
  224|    466|		dns_name_init(&name);
  225|    466|		return dns_name_fromwire(&name, source, dctx, target);
  226|       |
  227|  2.33k|	default:
  ------------------
  |  Branch (227:2): [True: 2.33k, False: 3.13k]
  ------------------
  228|  2.33k|		isc_buffer_forward(source, region.length);
  229|  2.33k|		return mem_tobuffer(target, region.base, region.length);
  230|  5.46k|	}
  231|  5.46k|}
rdata.c:towire_amtrelay:
  234|  1.86k|towire_amtrelay(ARGS_TOWIRE) {
  235|  1.86k|	isc_region_t region;
  236|       |
  237|  1.86k|	REQUIRE(rdata->type == dns_rdatatype_amtrelay);
  ------------------
  |  |  198|  1.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.86k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  238|  1.86k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.86k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  239|       |
  240|  1.86k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.86k|#define UNUSED(x) (void)(x)
  ------------------
  241|       |
  242|  1.86k|	dns_rdata_toregion(rdata, &region);
  243|  1.86k|	return mem_tobuffer(target, region.base, region.length);
  244|  1.86k|}
rdata.c:totext_amtrelay:
  122|  3.58k|totext_amtrelay(ARGS_TOTEXT) {
  123|  3.58k|	isc_region_t region;
  124|  3.58k|	dns_name_t name;
  125|  3.58k|	char buf[sizeof("0 255 ")];
  126|  3.58k|	unsigned char precedence;
  127|  3.58k|	unsigned char discovery;
  128|  3.58k|	unsigned char gateway;
  129|       |
  130|  3.58k|	UNUSED(tctx);
  ------------------
  |  |   69|  3.58k|#define UNUSED(x) (void)(x)
  ------------------
  131|       |
  132|  3.58k|	REQUIRE(rdata->type == dns_rdatatype_amtrelay);
  ------------------
  |  |  198|  3.58k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.58k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.58k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.58k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  133|  3.58k|	REQUIRE(rdata->length >= 2);
  ------------------
  |  |  198|  3.58k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.58k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.58k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.58k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  134|       |
  135|  3.58k|	if ((rdata->data[1] & 0x7f) > 3U) {
  ------------------
  |  Branch (135:6): [True: 1.88k, False: 1.70k]
  ------------------
  136|  1.88k|		return ISC_R_NOTIMPLEMENTED;
  137|  1.88k|	}
  138|       |
  139|       |	/*
  140|       |	 * Precedence.
  141|       |	 */
  142|  1.70k|	dns_rdata_toregion(rdata, &region);
  143|  1.70k|	precedence = uint8_fromregion(&region);
  144|  1.70k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  1.70k|	do {                              \
  |  |   52|  1.70k|		isc_region_t *_r = (r);   \
  |  |   53|  1.70k|		unsigned int  _l = (l);   \
  |  |   54|  1.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.70k|		_r->base += _l;           \
  |  |   56|  1.70k|		_r->length -= _l;         \
  |  |   57|  1.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.70k]
  |  |  ------------------
  ------------------
  145|  1.70k|	snprintf(buf, sizeof(buf), "%u ", precedence);
  146|  1.70k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.70k|	{                                  \
  |  |  277|  1.70k|		isc_result_t _r = (x);     \
  |  |  278|  1.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.70k|	}
  ------------------
  147|       |
  148|       |	/*
  149|       |	 * Discovery and Gateway type.
  150|       |	 */
  151|  1.70k|	gateway = uint8_fromregion(&region);
  152|  1.70k|	discovery = gateway >> 7;
  153|  1.70k|	gateway &= 0x7f;
  154|  1.70k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  1.70k|	do {                              \
  |  |   52|  1.70k|		isc_region_t *_r = (r);   \
  |  |   53|  1.70k|		unsigned int  _l = (l);   \
  |  |   54|  1.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.70k|		_r->base += _l;           \
  |  |   56|  1.70k|		_r->length -= _l;         \
  |  |   57|  1.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.70k]
  |  |  ------------------
  ------------------
  155|  1.70k|	snprintf(buf, sizeof(buf), "%u %u ", discovery, gateway);
  156|  1.70k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.70k|	{                                  \
  |  |  277|  1.70k|		isc_result_t _r = (x);     \
  |  |  278|  1.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.70k|	}
  ------------------
  157|       |
  158|       |	/*
  159|       |	 * Gateway.
  160|       |	 */
  161|  1.70k|	switch (gateway) {
  162|    544|	case 0:
  ------------------
  |  Branch (162:2): [True: 544, False: 1.15k]
  ------------------
  163|    544|		return str_totext(".", target);
  164|       |
  165|    495|	case 1:
  ------------------
  |  Branch (165:2): [True: 495, False: 1.20k]
  ------------------
  166|    495|		return inet_totext(AF_INET, tctx->flags, &region, target);
  167|       |
  168|    408|	case 2:
  ------------------
  |  Branch (168:2): [True: 408, False: 1.29k]
  ------------------
  169|    408|		return inet_totext(AF_INET6, tctx->flags, &region, target);
  170|       |
  171|    254|	case 3:
  ------------------
  |  Branch (171:2): [True: 254, False: 1.44k]
  ------------------
  172|    254|		dns_name_init(&name);
  173|    254|		dns_name_fromregion(&name, &region);
  174|    254|		return dns_name_totext(&name, 0, target);
  175|       |
  176|      0|	default:
  ------------------
  |  Branch (176:2): [True: 0, False: 1.70k]
  ------------------
  177|      0|		UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  178|  1.70k|	}
  179|      0|	return ISC_R_SUCCESS;
  180|  1.70k|}

rdata.c:fromwire_avc:
   35|  1.18k|fromwire_avc(ARGS_FROMWIRE) {
   36|  1.18k|	REQUIRE(type == dns_rdatatype_avc);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|  1.18k|	return generic_fromwire_txt(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.18k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|  1.18k|}
rdata.c:towire_avc:
   42|    407|towire_avc(ARGS_TOWIRE) {
   43|    407|	REQUIRE(rdata->type == dns_rdatatype_avc);
  ------------------
  |  |  198|    407|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    407|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 407, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    407|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   44|       |
   45|    407|	UNUSED(cctx);
  ------------------
  |  |   69|    407|#define UNUSED(x) (void)(x)
  ------------------
   46|       |
   47|    407|	return mem_tobuffer(target, rdata->data, rdata->length);
   48|    407|}
rdata.c:totext_avc:
   27|    787|totext_avc(ARGS_TOTEXT) {
   28|    787|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    787|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    787|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 787, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    787|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|    787|	REQUIRE(rdata->type == dns_rdatatype_avc);
  ------------------
  |  |  198|    787|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    787|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 787, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    787|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|    787|	return generic_totext_txt(CALL_TOTEXT);
  ------------------
  |  |   85|    787|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|    787|}

rdata.c:fromwire_brid:
   63|  1.18k|fromwire_brid(ARGS_FROMWIRE) {
   64|  1.18k|	isc_region_t sr;
   65|       |
   66|  1.18k|	REQUIRE(type == dns_rdatatype_brid);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|  1.18k|	UNUSED(type);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   69|  1.18k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   70|  1.18k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   71|       |
   72|  1.18k|	isc_buffer_activeregion(source, &sr);
   73|  1.18k|	if (sr.length == 0) {
  ------------------
  |  Branch (73:6): [True: 3, False: 1.18k]
  ------------------
   74|      3|		return ISC_R_UNEXPECTEDEND;
   75|      3|	}
   76|       |
   77|  1.18k|	RETERR(mem_tobuffer(target, sr.base, sr.length));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 211, False: 970]
  |  |  ------------------
  |  |  279|    211|			return ((_r));     \
  |  |  280|    211|		}                          \
  |  |  281|  1.18k|	}
  ------------------
   78|    970|	isc_buffer_forward(source, sr.length);
   79|    970|	return ISC_R_SUCCESS;
   80|  1.18k|}
rdata.c:towire_brid:
   83|    370|towire_brid(ARGS_TOWIRE) {
   84|    370|	REQUIRE(rdata->type == dns_rdatatype_brid);
  ------------------
  |  |  198|    370|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    370|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 370, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    370|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|    370|	REQUIRE(rdata->length > 0);
  ------------------
  |  |  198|    370|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    370|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 370, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    370|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|    370|	UNUSED(cctx);
  ------------------
  |  |   69|    370|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|    370|	return mem_tobuffer(target, rdata->data, rdata->length);
   90|    370|}
rdata.c:totext_brid:
   35|    731|totext_brid(ARGS_TOTEXT) {
   36|    731|	isc_region_t sr;
   37|       |
   38|    731|	REQUIRE(rdata->type == dns_rdatatype_brid);
  ------------------
  |  |  198|    731|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    731|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 731, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    731|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   39|    731|	REQUIRE(rdata->length > 0);
  ------------------
  |  |  198|    731|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    731|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 731, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    731|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   40|       |
   41|    731|	dns_rdata_toregion(rdata, &sr);
   42|       |
   43|       |	/* data */
   44|    731|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    731|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (44:6): [True: 0, False: 731]
  ------------------
   45|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   46|      0|	}
   47|       |
   48|    731|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (48:6): [True: 0, False: 731]
  ------------------
   49|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   50|    731|	} else {
   51|    731|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|    731|	{                                  \
  |  |  277|    731|		isc_result_t _r = (x);     \
  |  |  278|    731|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 731]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    731|	}
  ------------------
   52|    731|					 target));
   53|    731|	}
   54|       |
   55|    731|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    731|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (55:6): [True: 0, False: 731]
  ------------------
   56|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   57|      0|	}
   58|       |
   59|    731|	return ISC_R_SUCCESS;
   60|    731|}

rdata.c:fromwire_caa:
  365|  1.82k|fromwire_caa(ARGS_FROMWIRE) {
  366|  1.82k|	isc_region_t sr;
  367|  1.82k|	unsigned int len, i;
  368|       |
  369|  1.82k|	REQUIRE(type == dns_rdatatype_caa);
  ------------------
  |  |  198|  1.82k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.82k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.82k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.82k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  370|       |
  371|  1.82k|	UNUSED(type);
  ------------------
  |  |   69|  1.82k|#define UNUSED(x) (void)(x)
  ------------------
  372|  1.82k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.82k|#define UNUSED(x) (void)(x)
  ------------------
  373|  1.82k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.82k|#define UNUSED(x) (void)(x)
  ------------------
  374|       |
  375|       |	/*
  376|       |	 * Flags
  377|       |	 */
  378|  1.82k|	isc_buffer_activeregion(source, &sr);
  379|  1.82k|	if (sr.length < 2) {
  ------------------
  |  Branch (379:6): [True: 4, False: 1.81k]
  ------------------
  380|      4|		return ISC_R_UNEXPECTEDEND;
  381|      4|	}
  382|       |
  383|       |	/*
  384|       |	 * Flags, tag length
  385|       |	 */
  386|  1.81k|	RETERR(mem_tobuffer(target, sr.base, 2));
  ------------------
  |  |  276|  1.81k|	{                                  \
  |  |  277|  1.81k|		isc_result_t _r = (x);     \
  |  |  278|  1.81k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 200, False: 1.61k]
  |  |  ------------------
  |  |  279|    200|			return ((_r));     \
  |  |  280|    200|		}                          \
  |  |  281|  1.81k|	}
  ------------------
  387|  1.61k|	len = sr.base[1];
  388|  1.61k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.61k|	do {                              \
  |  |   52|  1.61k|		isc_region_t *_r = (r);   \
  |  |   53|  1.61k|		unsigned int  _l = (l);   \
  |  |   54|  1.61k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.61k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.61k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.61k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.61k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.61k|		_r->base += _l;           \
  |  |   56|  1.61k|		_r->length -= _l;         \
  |  |   57|  1.61k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.61k]
  |  |  ------------------
  ------------------
  389|  1.61k|	isc_buffer_forward(source, 2);
  390|       |
  391|       |	/*
  392|       |	 * Zero length tag fields are illegal.
  393|       |	 */
  394|  1.61k|	if (sr.length < len || len == 0) {
  ------------------
  |  Branch (394:6): [True: 9, False: 1.61k]
  |  Branch (394:25): [True: 15, False: 1.59k]
  ------------------
  395|     24|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     24|	{                                  \
  |  |  277|     24|		isc_result_t _r = (x);     \
  |  |  278|     24|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 24, False: 0]
  |  |  ------------------
  |  |  279|     24|			return ((_r));     \
  |  |  280|     24|		}                          \
  |  |  281|     24|	}
  ------------------
  396|      0|	}
  397|       |
  398|       |	/* Check the Tag's value */
  399|  4.47k|	for (i = 0; i < len; i++) {
  ------------------
  |  Branch (399:14): [True: 2.89k, False: 1.58k]
  ------------------
  400|  2.89k|		if (!alphanumeric[sr.base[i]]) {
  ------------------
  |  Branch (400:7): [True: 9, False: 2.88k]
  ------------------
  401|      9|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      9|	{                                  \
  |  |  277|      9|		isc_result_t _r = (x);     \
  |  |  278|      9|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 9, False: 0]
  |  |  ------------------
  |  |  279|      9|			return ((_r));     \
  |  |  280|      9|		}                          \
  |  |  281|      9|	}
  ------------------
  402|       |			/*
  403|       |			 * Tag + Value
  404|       |			 */
  405|      0|		}
  406|  2.89k|	}
  407|       |	/*
  408|       |	 * Tag + Value
  409|       |	 */
  410|  1.58k|	isc_buffer_forward(source, sr.length);
  411|  1.58k|	return mem_tobuffer(target, sr.base, sr.length);
  412|  1.59k|}
rdata.c:towire_caa:
  415|    481|towire_caa(ARGS_TOWIRE) {
  416|    481|	isc_region_t region;
  417|       |
  418|    481|	REQUIRE(rdata->type == dns_rdatatype_caa);
  ------------------
  |  |  198|    481|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    481|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 481, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    481|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  419|    481|	REQUIRE(rdata->length >= 3U);
  ------------------
  |  |  198|    481|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    481|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 481, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    481|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  420|    481|	REQUIRE(rdata->data != NULL);
  ------------------
  |  |  198|    481|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    481|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 481, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    481|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  421|       |
  422|    481|	UNUSED(cctx);
  ------------------
  |  |   69|    481|#define UNUSED(x) (void)(x)
  ------------------
  423|       |
  424|    481|	dns_rdata_toregion(rdata, &region);
  425|    481|	return mem_tobuffer(target, region.base, region.length);
  426|    481|}
rdata.c:totext_caa:
  331|    947|totext_caa(ARGS_TOTEXT) {
  332|    947|	isc_region_t region;
  333|    947|	uint8_t flags;
  334|    947|	char buf[256];
  335|       |
  336|    947|	UNUSED(tctx);
  ------------------
  |  |   69|    947|#define UNUSED(x) (void)(x)
  ------------------
  337|       |
  338|    947|	REQUIRE(rdata->type == dns_rdatatype_caa);
  ------------------
  |  |  198|    947|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    947|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 947, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    947|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  339|    947|	REQUIRE(rdata->length >= 3U);
  ------------------
  |  |  198|    947|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    947|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 947, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    947|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  340|    947|	REQUIRE(rdata->data != NULL);
  ------------------
  |  |  198|    947|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    947|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 947, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    947|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  341|       |
  342|    947|	dns_rdata_toregion(rdata, &region);
  343|       |
  344|       |	/*
  345|       |	 * Flags
  346|       |	 */
  347|    947|	flags = uint8_consume_fromregion(&region);
  348|    947|	snprintf(buf, sizeof(buf), "%u ", flags);
  349|    947|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    947|	{                                  \
  |  |  277|    947|		isc_result_t _r = (x);     \
  |  |  278|    947|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 947]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    947|	}
  ------------------
  350|       |
  351|       |	/*
  352|       |	 * Tag
  353|       |	 */
  354|    947|	RETERR(txt_totext(&region, false, target));
  ------------------
  |  |  276|    947|	{                                  \
  |  |  277|    947|		isc_result_t _r = (x);     \
  |  |  278|    947|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 947]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    947|	}
  ------------------
  355|    947|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    947|	{                                  \
  |  |  277|    947|		isc_result_t _r = (x);     \
  |  |  278|    947|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 947]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    947|	}
  ------------------
  356|       |
  357|       |	/*
  358|       |	 * Value
  359|       |	 */
  360|    947|	RETERR(multitxt_totext(&region, target));
  ------------------
  |  |  276|    947|	{                                  \
  |  |  277|    947|		isc_result_t _r = (x);     \
  |  |  278|    947|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 947]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    947|	}
  ------------------
  361|    947|	return ISC_R_SUCCESS;
  362|    947|}

rdata.c:fromwire_cdnskey:
   39|    989|fromwire_cdnskey(ARGS_FROMWIRE) {
   40|    989|	REQUIRE(type == dns_rdatatype_cdnskey);
  ------------------
  |  |  198|    989|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    989|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 989, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    989|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|       |
   42|    989|	return generic_fromwire_key(CALL_FROMWIRE);
  ------------------
  |  |   91|    989|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   43|    989|}
rdata.c:towire_cdnskey:
   46|    481|towire_cdnskey(ARGS_TOWIRE) {
   47|    481|	isc_region_t sr;
   48|       |
   49|    481|	REQUIRE(rdata->type == dns_rdatatype_cdnskey);
  ------------------
  |  |  198|    481|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    481|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 481, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    481|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|    481|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    481|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    481|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 481, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    481|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   51|       |
   52|    481|	UNUSED(cctx);
  ------------------
  |  |   69|    481|#define UNUSED(x) (void)(x)
  ------------------
   53|       |
   54|    481|	dns_rdata_toregion(rdata, &sr);
   55|    481|	return mem_tobuffer(target, sr.base, sr.length);
   56|    481|}
rdata.c:totext_cdnskey:
   31|    955|totext_cdnskey(ARGS_TOTEXT) {
   32|    955|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    955|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    955|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 955, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    955|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   33|    955|	REQUIRE(rdata->type == dns_rdatatype_cdnskey);
  ------------------
  |  |  198|    955|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    955|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 955, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    955|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   34|       |
   35|    955|	return generic_totext_key(CALL_TOTEXT);
  ------------------
  |  |   85|    955|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   36|    955|}

rdata.c:fromwire_cds:
   39|  1.33k|fromwire_cds(ARGS_FROMWIRE) {
   40|  1.33k|	REQUIRE(type == dns_rdatatype_cds);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|       |
   42|  1.33k|	return generic_fromwire_ds(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.33k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   43|  1.33k|}
rdata.c:towire_cds:
   46|    746|towire_cds(ARGS_TOWIRE) {
   47|    746|	isc_region_t sr;
   48|       |
   49|    746|	REQUIRE(rdata->type == dns_rdatatype_cds);
  ------------------
  |  |  198|    746|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    746|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 746, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    746|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|    746|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    746|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    746|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 746, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    746|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   51|       |
   52|    746|	UNUSED(cctx);
  ------------------
  |  |   69|    746|#define UNUSED(x) (void)(x)
  ------------------
   53|       |
   54|    746|	dns_rdata_toregion(rdata, &sr);
   55|    746|	return mem_tobuffer(target, sr.base, sr.length);
   56|    746|}
rdata.c:totext_cds:
   31|  1.27k|totext_cds(ARGS_TOTEXT) {
   32|  1.27k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.27k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.27k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.27k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.27k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   33|  1.27k|	REQUIRE(rdata->type == dns_rdatatype_cds);
  ------------------
  |  |  198|  1.27k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.27k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.27k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.27k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   34|       |
   35|  1.27k|	return generic_totext_ds(CALL_TOTEXT);
  ------------------
  |  |   85|  1.27k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   36|  1.27k|}

rdata.c:fromwire_cert:
  119|  2.57k|fromwire_cert(ARGS_FROMWIRE) {
  120|  2.57k|	isc_region_t sr;
  121|       |
  122|  2.57k|	REQUIRE(type == dns_rdatatype_cert);
  ------------------
  |  |  198|  2.57k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.57k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.57k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.57k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  123|       |
  124|  2.57k|	UNUSED(type);
  ------------------
  |  |   69|  2.57k|#define UNUSED(x) (void)(x)
  ------------------
  125|  2.57k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.57k|#define UNUSED(x) (void)(x)
  ------------------
  126|  2.57k|	UNUSED(dctx);
  ------------------
  |  |   69|  2.57k|#define UNUSED(x) (void)(x)
  ------------------
  127|       |
  128|  2.57k|	isc_buffer_activeregion(source, &sr);
  129|  2.57k|	if (sr.length < 6) {
  ------------------
  |  Branch (129:6): [True: 5, False: 2.56k]
  ------------------
  130|      5|		return ISC_R_UNEXPECTEDEND;
  131|      5|	}
  132|       |
  133|  2.56k|	isc_buffer_forward(source, sr.length);
  134|  2.56k|	return mem_tobuffer(target, sr.base, sr.length);
  135|  2.57k|}
rdata.c:towire_cert:
  138|  1.20k|towire_cert(ARGS_TOWIRE) {
  139|  1.20k|	isc_region_t sr;
  140|       |
  141|  1.20k|	REQUIRE(rdata->type == dns_rdatatype_cert);
  ------------------
  |  |  198|  1.20k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.20k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.20k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.20k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  142|  1.20k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.20k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.20k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.20k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.20k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  143|       |
  144|  1.20k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.20k|#define UNUSED(x) (void)(x)
  ------------------
  145|       |
  146|  1.20k|	dns_rdata_toregion(rdata, &sr);
  147|  1.20k|	return mem_tobuffer(target, sr.base, sr.length);
  148|  1.20k|}
rdata.c:totext_cert:
   65|  2.35k|totext_cert(ARGS_TOTEXT) {
   66|  2.35k|	isc_region_t sr;
   67|  2.35k|	char buf[sizeof("64000 ")];
   68|  2.35k|	unsigned int n;
   69|       |
   70|  2.35k|	REQUIRE(rdata->type == dns_rdatatype_cert);
  ------------------
  |  |  198|  2.35k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.35k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.35k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.35k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   71|  2.35k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.35k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.35k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.35k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.35k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   72|       |
   73|  2.35k|	UNUSED(tctx);
  ------------------
  |  |   69|  2.35k|#define UNUSED(x) (void)(x)
  ------------------
   74|       |
   75|  2.35k|	dns_rdata_toregion(rdata, &sr);
   76|       |
   77|       |	/*
   78|       |	 * Type.
   79|       |	 */
   80|  2.35k|	n = uint16_fromregion(&sr);
   81|  2.35k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  2.35k|	do {                              \
  |  |   52|  2.35k|		isc_region_t *_r = (r);   \
  |  |   53|  2.35k|		unsigned int  _l = (l);   \
  |  |   54|  2.35k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.35k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.35k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.35k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.35k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.35k|		_r->base += _l;           \
  |  |   56|  2.35k|		_r->length -= _l;         \
  |  |   57|  2.35k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.35k]
  |  |  ------------------
  ------------------
   82|  2.35k|	RETERR(dns_cert_totext((dns_cert_t)n, target));
  ------------------
  |  |  276|  2.35k|	{                                  \
  |  |  277|  2.35k|		isc_result_t _r = (x);     \
  |  |  278|  2.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.35k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.35k|	}
  ------------------
   83|  2.35k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  2.35k|	{                                  \
  |  |  277|  2.35k|		isc_result_t _r = (x);     \
  |  |  278|  2.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.35k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.35k|	}
  ------------------
   84|       |
   85|       |	/*
   86|       |	 * Key tag.
   87|       |	 */
   88|  2.35k|	n = uint16_fromregion(&sr);
   89|  2.35k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  2.35k|	do {                              \
  |  |   52|  2.35k|		isc_region_t *_r = (r);   \
  |  |   53|  2.35k|		unsigned int  _l = (l);   \
  |  |   54|  2.35k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.35k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.35k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.35k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.35k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.35k|		_r->base += _l;           \
  |  |   56|  2.35k|		_r->length -= _l;         \
  |  |   57|  2.35k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.35k]
  |  |  ------------------
  ------------------
   90|  2.35k|	snprintf(buf, sizeof(buf), "%u ", n);
   91|  2.35k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.35k|	{                                  \
  |  |  277|  2.35k|		isc_result_t _r = (x);     \
  |  |  278|  2.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.35k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.35k|	}
  ------------------
   92|       |
   93|       |	/*
   94|       |	 * Algorithm.
   95|       |	 */
   96|  2.35k|	RETERR(dns_secalg_totext(sr.base[0], target));
  ------------------
  |  |  276|  2.35k|	{                                  \
  |  |  277|  2.35k|		isc_result_t _r = (x);     \
  |  |  278|  2.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.35k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.35k|	}
  ------------------
   97|  2.35k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.35k|	do {                              \
  |  |   52|  2.35k|		isc_region_t *_r = (r);   \
  |  |   53|  2.35k|		unsigned int  _l = (l);   \
  |  |   54|  2.35k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.35k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.35k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.35k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.35k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.35k|		_r->base += _l;           \
  |  |   56|  2.35k|		_r->length -= _l;         \
  |  |   57|  2.35k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.35k]
  |  |  ------------------
  ------------------
   98|       |
   99|       |	/*
  100|       |	 * Cert.
  101|       |	 */
  102|  2.35k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.35k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (102:6): [True: 0, False: 2.35k]
  ------------------
  103|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  104|      0|	}
  105|  2.35k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  2.35k|	{                                  \
  |  |  277|  2.35k|		isc_result_t _r = (x);     \
  |  |  278|  2.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.35k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.35k|	}
  ------------------
  106|  2.35k|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (106:6): [True: 0, False: 2.35k]
  ------------------
  107|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  108|  2.35k|	} else {
  109|  2.35k|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|  2.35k|	{                                  \
  |  |  277|  2.35k|		isc_result_t _r = (x);     \
  |  |  278|  2.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.35k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.35k|	}
  ------------------
  110|  2.35k|					 target));
  111|  2.35k|	}
  112|  2.35k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.35k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (112:6): [True: 0, False: 2.35k]
  ------------------
  113|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  114|      0|	}
  115|  2.35k|	return ISC_R_SUCCESS;
  116|  2.35k|}

rdata.c:compare_cname:
   96|  1.18k|compare_cname(ARGS_COMPARE) {
   97|  1.18k|	dns_name_t name1;
   98|  1.18k|	dns_name_t name2;
   99|  1.18k|	isc_region_t region1;
  100|  1.18k|	isc_region_t region2;
  101|       |
  102|  1.18k|	REQUIRE(rdata1->type == rdata2->type);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  103|  1.18k|	REQUIRE(rdata1->rdclass == rdata2->rdclass);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  104|  1.18k|	REQUIRE(rdata1->type == dns_rdatatype_cname);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  105|  1.18k|	REQUIRE(rdata1->length != 0);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|  1.18k|	REQUIRE(rdata2->length != 0);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  107|       |
  108|  1.18k|	dns_name_init(&name1);
  109|  1.18k|	dns_name_init(&name2);
  110|       |
  111|  1.18k|	dns_rdata_toregion(rdata1, &region1);
  112|  1.18k|	dns_rdata_toregion(rdata2, &region2);
  113|       |
  114|  1.18k|	dns_name_fromregion(&name1, &region1);
  115|  1.18k|	dns_name_fromregion(&name2, &region2);
  116|       |
  117|  1.18k|	return dns_name_rdatacompare(&name1, &name2);
  118|  1.18k|}
rdata.c:fromwire_cname:
   64|  1.57k|fromwire_cname(ARGS_FROMWIRE) {
   65|  1.57k|	dns_name_t name;
   66|       |
   67|  1.57k|	REQUIRE(type == dns_rdatatype_cname);
  ------------------
  |  |  198|  1.57k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.57k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.57k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.57k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   68|       |
   69|  1.57k|	UNUSED(type);
  ------------------
  |  |   69|  1.57k|#define UNUSED(x) (void)(x)
  ------------------
   70|  1.57k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.57k|#define UNUSED(x) (void)(x)
  ------------------
   71|       |
   72|  1.57k|	dctx = dns_decompress_setpermitted(dctx, true);
   73|       |
   74|  1.57k|	dns_name_init(&name);
   75|  1.57k|	return dns_name_fromwire(&name, source, dctx, target);
   76|  1.57k|}
rdata.c:towire_cname:
   79|    790|towire_cname(ARGS_TOWIRE) {
   80|    790|	dns_name_t name;
   81|    790|	isc_region_t region;
   82|       |
   83|    790|	REQUIRE(rdata->type == dns_rdatatype_cname);
  ------------------
  |  |  198|    790|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    790|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 790, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    790|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|    790|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    790|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    790|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 790, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    790|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|       |
   86|    790|	dns_compress_setpermitted(cctx, true);
   87|       |
   88|    790|	dns_name_init(&name);
   89|    790|	dns_rdata_toregion(rdata, &region);
   90|    790|	dns_name_fromregion(&name, &region);
   91|       |
   92|    790|	return dns_name_towire(&name, cctx, target);
   93|    790|}
rdata.c:totext_cname:
   43|  1.53k|totext_cname(ARGS_TOTEXT) {
   44|  1.53k|	isc_region_t region;
   45|  1.53k|	dns_name_t name;
   46|  1.53k|	dns_name_t prefix;
   47|  1.53k|	unsigned int opts;
   48|       |
   49|  1.53k|	REQUIRE(rdata->type == dns_rdatatype_cname);
  ------------------
  |  |  198|  1.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|  1.53k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   51|       |
   52|  1.53k|	dns_name_init(&name);
   53|  1.53k|	dns_name_init(&prefix);
   54|       |
   55|  1.53k|	dns_rdata_toregion(rdata, &region);
   56|  1.53k|	dns_name_fromregion(&name, &region);
   57|       |
   58|  1.53k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (58:9): [True: 0, False: 1.53k]
  ------------------
   59|  1.53k|							 : 0;
   60|  1.53k|	return dns_name_totext(&prefix, opts, target);
   61|  1.53k|}

rdata.c:fromwire_csync:
   85|  2.15k|fromwire_csync(ARGS_FROMWIRE) {
   86|  2.15k|	isc_region_t sr;
   87|       |
   88|  2.15k|	REQUIRE(type == dns_rdatatype_csync);
  ------------------
  |  |  198|  2.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   89|       |
   90|  2.15k|	UNUSED(type);
  ------------------
  |  |   69|  2.15k|#define UNUSED(x) (void)(x)
  ------------------
   91|  2.15k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.15k|#define UNUSED(x) (void)(x)
  ------------------
   92|  2.15k|	UNUSED(dctx);
  ------------------
  |  |   69|  2.15k|#define UNUSED(x) (void)(x)
  ------------------
   93|       |
   94|       |	/*
   95|       |	 * Serial + Flags
   96|       |	 */
   97|  2.15k|	isc_buffer_activeregion(source, &sr);
   98|  2.15k|	if (sr.length < 6) {
  ------------------
  |  Branch (98:6): [True: 7, False: 2.15k]
  ------------------
   99|      7|		return ISC_R_UNEXPECTEDEND;
  100|      7|	}
  101|       |
  102|  2.15k|	RETERR(mem_tobuffer(target, sr.base, 6));
  ------------------
  |  |  276|  2.15k|	{                                  \
  |  |  277|  2.15k|		isc_result_t _r = (x);     \
  |  |  278|  2.15k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 196, False: 1.95k]
  |  |  ------------------
  |  |  279|    196|			return ((_r));     \
  |  |  280|    196|		}                          \
  |  |  281|  2.15k|	}
  ------------------
  103|  1.95k|	isc_buffer_forward(source, 6);
  104|  1.95k|	isc_region_consume(&sr, 6);
  ------------------
  |  |   51|  1.95k|	do {                              \
  |  |   52|  1.95k|		isc_region_t *_r = (r);   \
  |  |   53|  1.95k|		unsigned int  _l = (l);   \
  |  |   54|  1.95k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.95k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.95k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.95k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.95k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.95k|		_r->base += _l;           \
  |  |   56|  1.95k|		_r->length -= _l;         \
  |  |   57|  1.95k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.95k]
  |  |  ------------------
  ------------------
  105|       |
  106|  1.95k|	RETERR(typemap_test(&sr, true));
  ------------------
  |  |  276|  1.95k|	{                                  \
  |  |  277|  1.95k|		isc_result_t _r = (x);     \
  |  |  278|  1.95k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 39, False: 1.91k]
  |  |  ------------------
  |  |  279|     39|			return ((_r));     \
  |  |  280|     39|		}                          \
  |  |  281|  1.95k|	}
  ------------------
  107|       |
  108|  1.91k|	RETERR(mem_tobuffer(target, sr.base, sr.length));
  ------------------
  |  |  276|  1.91k|	{                                  \
  |  |  277|  1.91k|		isc_result_t _r = (x);     \
  |  |  278|  1.91k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 202, False: 1.71k]
  |  |  ------------------
  |  |  279|    202|			return ((_r));     \
  |  |  280|    202|		}                          \
  |  |  281|  1.91k|	}
  ------------------
  109|  1.71k|	isc_buffer_forward(source, sr.length);
  110|  1.71k|	return ISC_R_SUCCESS;
  111|  1.91k|}
rdata.c:towire_csync:
  114|    666|towire_csync(ARGS_TOWIRE) {
  115|    666|	REQUIRE(rdata->type == dns_rdatatype_csync);
  ------------------
  |  |  198|    666|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    666|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 666, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    666|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  116|    666|	REQUIRE(rdata->length >= 6);
  ------------------
  |  |  198|    666|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    666|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 666, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    666|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  117|       |
  118|    666|	UNUSED(cctx);
  ------------------
  |  |   69|    666|#define UNUSED(x) (void)(x)
  ------------------
  119|       |
  120|    666|	return mem_tobuffer(target, rdata->data, rdata->length);
  121|    666|}
rdata.c:totext_csync:
   51|  1.31k|totext_csync(ARGS_TOTEXT) {
   52|  1.31k|	unsigned long num;
   53|  1.31k|	char buf[sizeof("0123456789")]; /* Also TYPE65535 */
   54|  1.31k|	isc_region_t sr;
   55|       |
   56|  1.31k|	REQUIRE(rdata->type == dns_rdatatype_csync);
  ------------------
  |  |  198|  1.31k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.31k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.31k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.31k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|  1.31k|	REQUIRE(rdata->length >= 6);
  ------------------
  |  |  198|  1.31k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.31k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.31k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.31k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   58|       |
   59|  1.31k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.31k|#define UNUSED(x) (void)(x)
  ------------------
   60|       |
   61|  1.31k|	dns_rdata_toregion(rdata, &sr);
   62|       |
   63|  1.31k|	num = uint32_fromregion(&sr);
   64|  1.31k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  1.31k|	do {                              \
  |  |   52|  1.31k|		isc_region_t *_r = (r);   \
  |  |   53|  1.31k|		unsigned int  _l = (l);   \
  |  |   54|  1.31k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.31k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.31k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.31k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.31k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.31k|		_r->base += _l;           \
  |  |   56|  1.31k|		_r->length -= _l;         \
  |  |   57|  1.31k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.31k]
  |  |  ------------------
  ------------------
   65|  1.31k|	snprintf(buf, sizeof(buf), "%lu", num);
   66|  1.31k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.31k|	{                                  \
  |  |  277|  1.31k|		isc_result_t _r = (x);     \
  |  |  278|  1.31k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.31k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.31k|	}
  ------------------
   67|       |
   68|  1.31k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.31k|	{                                  \
  |  |  277|  1.31k|		isc_result_t _r = (x);     \
  |  |  278|  1.31k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.31k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.31k|	}
  ------------------
   69|       |
   70|  1.31k|	num = uint16_fromregion(&sr);
   71|  1.31k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.31k|	do {                              \
  |  |   52|  1.31k|		isc_region_t *_r = (r);   \
  |  |   53|  1.31k|		unsigned int  _l = (l);   \
  |  |   54|  1.31k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.31k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.31k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.31k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.31k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.31k|		_r->base += _l;           \
  |  |   56|  1.31k|		_r->length -= _l;         \
  |  |   57|  1.31k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.31k]
  |  |  ------------------
  ------------------
   72|  1.31k|	snprintf(buf, sizeof(buf), "%lu", num);
   73|  1.31k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.31k|	{                                  \
  |  |  277|  1.31k|		isc_result_t _r = (x);     \
  |  |  278|  1.31k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.31k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.31k|	}
  ------------------
   74|       |
   75|       |	/*
   76|       |	 * Don't leave a trailing space when there's no typemap present.
   77|       |	 */
   78|  1.31k|	if (sr.length > 0) {
  ------------------
  |  Branch (78:6): [True: 428, False: 887]
  ------------------
   79|    428|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    428|	{                                  \
  |  |  277|    428|		isc_result_t _r = (x);     \
  |  |  278|    428|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 428]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    428|	}
  ------------------
   80|    428|	}
   81|  1.31k|	return typemap_totext(&sr, NULL, target);
   82|  1.31k|}

rdata.c:fromwire_dlv:
   39|    752|fromwire_dlv(ARGS_FROMWIRE) {
   40|    752|	REQUIRE(type == dns_rdatatype_dlv);
  ------------------
  |  |  198|    752|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    752|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 752, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    752|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|       |
   42|    752|	return generic_fromwire_ds(CALL_FROMWIRE);
  ------------------
  |  |   91|    752|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   43|    752|}
rdata.c:towire_dlv:
   46|    367|towire_dlv(ARGS_TOWIRE) {
   47|    367|	isc_region_t sr;
   48|       |
   49|    367|	REQUIRE(rdata->type == dns_rdatatype_dlv);
  ------------------
  |  |  198|    367|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    367|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 367, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    367|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|    367|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    367|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    367|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 367, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    367|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   51|       |
   52|    367|	UNUSED(cctx);
  ------------------
  |  |   69|    367|#define UNUSED(x) (void)(x)
  ------------------
   53|       |
   54|    367|	dns_rdata_toregion(rdata, &sr);
   55|    367|	return mem_tobuffer(target, sr.base, sr.length);
   56|    367|}
rdata.c:totext_dlv:
   31|    728|totext_dlv(ARGS_TOTEXT) {
   32|    728|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    728|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    728|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 728, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    728|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   33|    728|	REQUIRE(rdata->type == dns_rdatatype_dlv);
  ------------------
  |  |  198|    728|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    728|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 728, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    728|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   34|       |
   35|    728|	return generic_totext_ds(CALL_TOTEXT);
  ------------------
  |  |   85|    728|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   36|    728|}

rdata.c:compare_dname:
   96|  2.06k|compare_dname(ARGS_COMPARE) {
   97|  2.06k|	dns_name_t name1;
   98|  2.06k|	dns_name_t name2;
   99|  2.06k|	isc_region_t region1;
  100|  2.06k|	isc_region_t region2;
  101|       |
  102|  2.06k|	REQUIRE(rdata1->type == rdata2->type);
  ------------------
  |  |  198|  2.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  103|  2.06k|	REQUIRE(rdata1->rdclass == rdata2->rdclass);
  ------------------
  |  |  198|  2.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  104|  2.06k|	REQUIRE(rdata1->type == dns_rdatatype_dname);
  ------------------
  |  |  198|  2.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  105|  2.06k|	REQUIRE(rdata1->length != 0);
  ------------------
  |  |  198|  2.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|  2.06k|	REQUIRE(rdata2->length != 0);
  ------------------
  |  |  198|  2.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  107|       |
  108|  2.06k|	dns_name_init(&name1);
  109|  2.06k|	dns_name_init(&name2);
  110|       |
  111|  2.06k|	dns_rdata_toregion(rdata1, &region1);
  112|  2.06k|	dns_rdata_toregion(rdata2, &region2);
  113|       |
  114|  2.06k|	dns_name_fromregion(&name1, &region1);
  115|  2.06k|	dns_name_fromregion(&name2, &region2);
  116|       |
  117|  2.06k|	return dns_name_rdatacompare(&name1, &name2);
  118|  2.06k|}
rdata.c:fromwire_dname:
   65|  2.71k|fromwire_dname(ARGS_FROMWIRE) {
   66|  2.71k|	dns_name_t name;
   67|       |
   68|  2.71k|	REQUIRE(type == dns_rdatatype_dname);
  ------------------
  |  |  198|  2.71k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.71k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.71k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   69|       |
   70|  2.71k|	UNUSED(type);
  ------------------
  |  |   69|  2.71k|#define UNUSED(x) (void)(x)
  ------------------
   71|  2.71k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.71k|#define UNUSED(x) (void)(x)
  ------------------
   72|       |
   73|  2.71k|	dctx = dns_decompress_setpermitted(dctx, false);
   74|       |
   75|  2.71k|	dns_name_init(&name);
   76|  2.71k|	return dns_name_fromwire(&name, source, dctx, target);
   77|  2.71k|}
rdata.c:towire_dname:
   80|  1.15k|towire_dname(ARGS_TOWIRE) {
   81|  1.15k|	dns_name_t name;
   82|  1.15k|	isc_region_t region;
   83|       |
   84|  1.15k|	REQUIRE(rdata->type == dns_rdatatype_dname);
  ------------------
  |  |  198|  1.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|  1.15k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|  1.15k|	dns_compress_setpermitted(cctx, false);
   88|  1.15k|	dns_name_init(&name);
   89|  1.15k|	dns_rdata_toregion(rdata, &region);
   90|  1.15k|	dns_name_fromregion(&name, &region);
   91|       |
   92|  1.15k|	return dns_name_towire(&name, cctx, target);
   93|  1.15k|}
rdata.c:totext_dname:
   44|  2.29k|totext_dname(ARGS_TOTEXT) {
   45|  2.29k|	isc_region_t region;
   46|  2.29k|	dns_name_t name;
   47|  2.29k|	dns_name_t prefix;
   48|  2.29k|	unsigned int opts;
   49|       |
   50|  2.29k|	REQUIRE(rdata->type == dns_rdatatype_dname);
  ------------------
  |  |  198|  2.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   51|  2.29k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   52|       |
   53|  2.29k|	dns_name_init(&name);
   54|  2.29k|	dns_name_init(&prefix);
   55|       |
   56|  2.29k|	dns_rdata_toregion(rdata, &region);
   57|  2.29k|	dns_name_fromregion(&name, &region);
   58|       |
   59|  2.29k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (59:9): [True: 0, False: 2.29k]
  ------------------
   60|  2.29k|							 : 0;
   61|  2.29k|	return dns_name_totext(&prefix, opts, target);
   62|  2.29k|}

rdata.c:fromwire_dnskey:
   39|  2.29k|fromwire_dnskey(ARGS_FROMWIRE) {
   40|  2.29k|	REQUIRE(type == dns_rdatatype_dnskey);
  ------------------
  |  |  198|  2.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|       |
   42|  2.29k|	return generic_fromwire_key(CALL_FROMWIRE);
  ------------------
  |  |   91|  2.29k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   43|  2.29k|}
rdata.c:towire_dnskey:
   46|  1.00k|towire_dnskey(ARGS_TOWIRE) {
   47|  1.00k|	isc_region_t sr;
   48|       |
   49|  1.00k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|  1.00k|	REQUIRE(rdata->type == dns_rdatatype_dnskey);
  ------------------
  |  |  198|  1.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   51|  1.00k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   52|       |
   53|  1.00k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.00k|#define UNUSED(x) (void)(x)
  ------------------
   54|       |
   55|  1.00k|	dns_rdata_toregion(rdata, &sr);
   56|  1.00k|	return mem_tobuffer(target, sr.base, sr.length);
   57|  1.00k|}
rdata.c:totext_dnskey:
   31|  1.94k|totext_dnskey(ARGS_TOTEXT) {
   32|  1.94k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.94k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.94k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.94k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.94k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   33|  1.94k|	REQUIRE(rdata->type == dns_rdatatype_dnskey);
  ------------------
  |  |  198|  1.94k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.94k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.94k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.94k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   34|       |
   35|  1.94k|	return generic_totext_key(CALL_TOTEXT);
  ------------------
  |  |   85|  1.94k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   36|  1.94k|}

rdata.c:fromwire_doa:
  129|  1.82k|fromwire_doa(ARGS_FROMWIRE) {
  130|  1.82k|	isc_region_t region;
  131|       |
  132|  1.82k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.82k|#define UNUSED(x) (void)(x)
  ------------------
  133|  1.82k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.82k|#define UNUSED(x) (void)(x)
  ------------------
  134|       |
  135|  1.82k|	REQUIRE(type == dns_rdatatype_doa);
  ------------------
  |  |  198|  1.82k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.82k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.82k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.82k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  136|       |
  137|  1.82k|	isc_buffer_activeregion(source, &region);
  138|       |	/*
  139|       |	 * DOA-MEDIA-TYPE may be an empty <character-string> (i.e.,
  140|       |	 * comprising of just the length octet) and DOA-DATA can have
  141|       |	 * zero length.
  142|       |	 */
  143|  1.82k|	if (region.length < 4 + 4 + 1 + 1) {
  ------------------
  |  Branch (143:6): [True: 8, False: 1.81k]
  ------------------
  144|      8|		return ISC_R_UNEXPECTEDEND;
  145|      8|	}
  146|       |
  147|       |	/*
  148|       |	 * Check whether DOA-MEDIA-TYPE length is not malformed.
  149|       |	 */
  150|  1.81k|	if (region.base[9] > region.length - 10) {
  ------------------
  |  Branch (150:6): [True: 2, False: 1.81k]
  ------------------
  151|      2|		return ISC_R_UNEXPECTEDEND;
  152|      2|	}
  153|       |
  154|  1.81k|	isc_buffer_forward(source, region.length);
  155|  1.81k|	return mem_tobuffer(target, region.base, region.length);
  156|  1.81k|}
rdata.c:towire_doa:
  159|    689|towire_doa(ARGS_TOWIRE) {
  160|    689|	isc_region_t region;
  161|       |
  162|    689|	UNUSED(cctx);
  ------------------
  |  |   69|    689|#define UNUSED(x) (void)(x)
  ------------------
  163|       |
  164|    689|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    689|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    689|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 689, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    689|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  165|    689|	REQUIRE(rdata->type == dns_rdatatype_doa);
  ------------------
  |  |  198|    689|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    689|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 689, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    689|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  166|    689|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    689|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    689|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 689, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    689|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  167|       |
  168|    689|	dns_rdata_toregion(rdata, &region);
  169|    689|	return mem_tobuffer(target, region.base, region.length);
  170|    689|}
rdata.c:totext_doa:
   75|  1.36k|totext_doa(ARGS_TOTEXT) {
   76|  1.36k|	char buf[sizeof("4294967295 ")];
   77|  1.36k|	isc_region_t region;
   78|  1.36k|	uint32_t n;
   79|       |
   80|  1.36k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.36k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.36k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.36k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   81|  1.36k|	REQUIRE(rdata->type == dns_rdatatype_doa);
  ------------------
  |  |  198|  1.36k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.36k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.36k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   82|  1.36k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.36k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.36k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.36k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|       |
   84|  1.36k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.36k|#define UNUSED(x) (void)(x)
  ------------------
   85|       |
   86|  1.36k|	dns_rdata_toregion(rdata, &region);
   87|       |
   88|       |	/*
   89|       |	 * DOA-ENTERPRISE
   90|       |	 */
   91|  1.36k|	n = uint32_fromregion(&region);
   92|  1.36k|	isc_region_consume(&region, 4);
  ------------------
  |  |   51|  1.36k|	do {                              \
  |  |   52|  1.36k|		isc_region_t *_r = (r);   \
  |  |   53|  1.36k|		unsigned int  _l = (l);   \
  |  |   54|  1.36k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.36k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.36k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.36k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.36k|		_r->base += _l;           \
  |  |   56|  1.36k|		_r->length -= _l;         \
  |  |   57|  1.36k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.36k]
  |  |  ------------------
  ------------------
   93|  1.36k|	snprintf(buf, sizeof(buf), "%u ", n);
   94|  1.36k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.36k|	{                                  \
  |  |  277|  1.36k|		isc_result_t _r = (x);     \
  |  |  278|  1.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.36k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.36k|	}
  ------------------
   95|       |
   96|       |	/*
   97|       |	 * DOA-TYPE
   98|       |	 */
   99|  1.36k|	n = uint32_fromregion(&region);
  100|  1.36k|	isc_region_consume(&region, 4);
  ------------------
  |  |   51|  1.36k|	do {                              \
  |  |   52|  1.36k|		isc_region_t *_r = (r);   \
  |  |   53|  1.36k|		unsigned int  _l = (l);   \
  |  |   54|  1.36k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.36k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.36k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.36k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.36k|		_r->base += _l;           \
  |  |   56|  1.36k|		_r->length -= _l;         \
  |  |   57|  1.36k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.36k]
  |  |  ------------------
  ------------------
  101|  1.36k|	snprintf(buf, sizeof(buf), "%u ", n);
  102|  1.36k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.36k|	{                                  \
  |  |  277|  1.36k|		isc_result_t _r = (x);     \
  |  |  278|  1.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.36k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.36k|	}
  ------------------
  103|       |
  104|       |	/*
  105|       |	 * DOA-LOCATION
  106|       |	 */
  107|  1.36k|	n = uint8_fromregion(&region);
  108|  1.36k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  1.36k|	do {                              \
  |  |   52|  1.36k|		isc_region_t *_r = (r);   \
  |  |   53|  1.36k|		unsigned int  _l = (l);   \
  |  |   54|  1.36k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.36k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.36k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.36k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.36k|		_r->base += _l;           \
  |  |   56|  1.36k|		_r->length -= _l;         \
  |  |   57|  1.36k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.36k]
  |  |  ------------------
  ------------------
  109|  1.36k|	snprintf(buf, sizeof(buf), "%u ", n);
  110|  1.36k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.36k|	{                                  \
  |  |  277|  1.36k|		isc_result_t _r = (x);     \
  |  |  278|  1.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.36k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.36k|	}
  ------------------
  111|       |
  112|       |	/*
  113|       |	 * DOA-MEDIA-TYPE
  114|       |	 */
  115|  1.36k|	RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  1.36k|	{                                  \
  |  |  277|  1.36k|		isc_result_t _r = (x);     \
  |  |  278|  1.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.36k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.36k|	}
  ------------------
  116|  1.36k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.36k|	{                                  \
  |  |  277|  1.36k|		isc_result_t _r = (x);     \
  |  |  278|  1.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.36k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.36k|	}
  ------------------
  117|       |
  118|       |	/*
  119|       |	 * DOA-DATA
  120|       |	 */
  121|  1.36k|	if (region.length == 0) {
  ------------------
  |  Branch (121:6): [True: 776, False: 585]
  ------------------
  122|    776|		return str_totext("-", target);
  123|    776|	} else {
  124|    585|		return isc_base64_totext(&region, 60, "", target);
  125|    585|	}
  126|  1.36k|}

rdata.c:fromwire_ds:
  201|  1.31k|fromwire_ds(ARGS_FROMWIRE) {
  202|  1.31k|	REQUIRE(type == dns_rdatatype_ds);
  ------------------
  |  |  198|  1.31k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.31k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.31k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.31k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  203|       |
  204|  1.31k|	return generic_fromwire_ds(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.31k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
  205|  1.31k|}
rdata.c:generic_fromwire_ds:
  160|  4.36k|generic_fromwire_ds(ARGS_FROMWIRE) {
  161|  4.36k|	isc_region_t sr;
  162|       |
  163|  4.36k|	UNUSED(type);
  ------------------
  |  |   69|  4.36k|#define UNUSED(x) (void)(x)
  ------------------
  164|  4.36k|	UNUSED(rdclass);
  ------------------
  |  |   69|  4.36k|#define UNUSED(x) (void)(x)
  ------------------
  165|  4.36k|	UNUSED(dctx);
  ------------------
  |  |   69|  4.36k|#define UNUSED(x) (void)(x)
  ------------------
  166|       |
  167|  4.36k|	isc_buffer_activeregion(source, &sr);
  168|       |
  169|       |	/*
  170|       |	 * Check digest lengths if we know them.
  171|       |	 */
  172|  4.36k|	if (sr.length < 5 ||
  ------------------
  |  Branch (172:6): [True: 12, False: 4.35k]
  ------------------
  173|  4.35k|	    (sr.base[3] == DNS_DSDIGEST_SHA1 &&
  ------------------
  |  |   19|  8.70k|#define DNS_DSDIGEST_SHA1     (1)
  ------------------
  |  Branch (173:7): [True: 68, False: 4.28k]
  ------------------
  174|     68|	     sr.length < 4 + ISC_SHA1_DIGESTLENGTH) ||
  ------------------
  |  |   50|     68|#define ISC_SHA1_DIGESTLENGTH	20
  ------------------
  |  Branch (174:7): [True: 2, False: 66]
  ------------------
  175|  4.34k|	    (sr.base[3] == DNS_DSDIGEST_SHA256 &&
  ------------------
  |  |   20|  8.69k|#define DNS_DSDIGEST_SHA256   (2)
  ------------------
  |  Branch (175:7): [True: 198, False: 4.15k]
  ------------------
  176|    198|	     sr.length < 4 + ISC_SHA256_DIGESTLENGTH) ||
  ------------------
  |  |   54|    198|#define ISC_SHA256_DIGESTLENGTH 32
  ------------------
  |  Branch (176:7): [True: 4, False: 194]
  ------------------
  177|  4.34k|	    (sr.base[3] == DNS_DSDIGEST_SHA384 &&
  ------------------
  |  |   22|  8.69k|#define DNS_DSDIGEST_SHA384   (4)
  ------------------
  |  Branch (177:7): [True: 203, False: 4.14k]
  ------------------
  178|    203|	     sr.length < 4 + ISC_SHA384_DIGESTLENGTH))
  ------------------
  |  |   56|    203|#define ISC_SHA384_DIGESTLENGTH 48
  ------------------
  |  Branch (178:7): [True: 1, False: 202]
  ------------------
  179|     19|	{
  180|     19|		return ISC_R_UNEXPECTEDEND;
  181|     19|	}
  182|       |
  183|       |	/*
  184|       |	 * Only copy digest lengths if we know them.
  185|       |	 * If there is extra data dns_rdata_fromwire() will
  186|       |	 * detect that.
  187|       |	 */
  188|  4.34k|	if (sr.base[3] == DNS_DSDIGEST_SHA1) {
  ------------------
  |  |   19|  4.34k|#define DNS_DSDIGEST_SHA1     (1)
  ------------------
  |  Branch (188:6): [True: 66, False: 4.27k]
  ------------------
  189|     66|		sr.length = 4 + ISC_SHA1_DIGESTLENGTH;
  ------------------
  |  |   50|     66|#define ISC_SHA1_DIGESTLENGTH	20
  ------------------
  190|  4.27k|	} else if (sr.base[3] == DNS_DSDIGEST_SHA256) {
  ------------------
  |  |   20|  4.27k|#define DNS_DSDIGEST_SHA256   (2)
  ------------------
  |  Branch (190:13): [True: 194, False: 4.08k]
  ------------------
  191|    194|		sr.length = 4 + ISC_SHA256_DIGESTLENGTH;
  ------------------
  |  |   54|    194|#define ISC_SHA256_DIGESTLENGTH 32
  ------------------
  192|  4.08k|	} else if (sr.base[3] == DNS_DSDIGEST_SHA384) {
  ------------------
  |  |   22|  4.08k|#define DNS_DSDIGEST_SHA384   (4)
  ------------------
  |  Branch (192:13): [True: 202, False: 3.88k]
  ------------------
  193|    202|		sr.length = 4 + ISC_SHA384_DIGESTLENGTH;
  ------------------
  |  |   56|    202|#define ISC_SHA384_DIGESTLENGTH 48
  ------------------
  194|    202|	}
  195|       |
  196|  4.34k|	isc_buffer_forward(source, sr.length);
  197|  4.34k|	return mem_tobuffer(target, sr.base, sr.length);
  198|  4.36k|}
rdata.c:towire_ds:
  208|    473|towire_ds(ARGS_TOWIRE) {
  209|    473|	isc_region_t sr;
  210|       |
  211|    473|	REQUIRE(rdata->type == dns_rdatatype_ds);
  ------------------
  |  |  198|    473|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    473|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 473, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    473|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  212|    473|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    473|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    473|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 473, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    473|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  213|       |
  214|    473|	UNUSED(cctx);
  ------------------
  |  |   69|    473|#define UNUSED(x) (void)(x)
  ------------------
  215|       |
  216|    473|	dns_rdata_toregion(rdata, &sr);
  217|    473|	return mem_tobuffer(target, sr.base, sr.length);
  218|    473|}
rdata.c:totext_ds:
  152|    892|totext_ds(ARGS_TOTEXT) {
  153|    892|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    892|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    892|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 892, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    892|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  154|    892|	REQUIRE(rdata->type == dns_rdatatype_ds);
  ------------------
  |  |  198|    892|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    892|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 892, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    892|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  155|       |
  156|    892|	return generic_totext_ds(CALL_TOTEXT);
  ------------------
  |  |   85|    892|#define CALL_TOTEXT rdata, tctx, target
  ------------------
  157|    892|}
rdata.c:generic_totext_ds:
   93|  3.84k|generic_totext_ds(ARGS_TOTEXT) {
   94|  3.84k|	isc_region_t sr;
   95|  3.84k|	char buf[sizeof("64000 ")];
   96|  3.84k|	unsigned int n;
   97|       |
   98|  3.84k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  3.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   99|       |
  100|  3.84k|	UNUSED(tctx);
  ------------------
  |  |   69|  3.84k|#define UNUSED(x) (void)(x)
  ------------------
  101|       |
  102|  3.84k|	dns_rdata_toregion(rdata, &sr);
  103|       |
  104|       |	/*
  105|       |	 * Key tag.
  106|       |	 */
  107|  3.84k|	n = uint16_fromregion(&sr);
  108|  3.84k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  3.84k|	do {                              \
  |  |   52|  3.84k|		isc_region_t *_r = (r);   \
  |  |   53|  3.84k|		unsigned int  _l = (l);   \
  |  |   54|  3.84k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.84k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.84k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.84k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.84k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.84k|		_r->base += _l;           \
  |  |   56|  3.84k|		_r->length -= _l;         \
  |  |   57|  3.84k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.84k]
  |  |  ------------------
  ------------------
  109|  3.84k|	snprintf(buf, sizeof(buf), "%u ", n);
  110|  3.84k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.84k|	{                                  \
  |  |  277|  3.84k|		isc_result_t _r = (x);     \
  |  |  278|  3.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.84k|	}
  ------------------
  111|       |
  112|       |	/*
  113|       |	 * Algorithm.
  114|       |	 */
  115|  3.84k|	n = uint8_fromregion(&sr);
  116|  3.84k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.84k|	do {                              \
  |  |   52|  3.84k|		isc_region_t *_r = (r);   \
  |  |   53|  3.84k|		unsigned int  _l = (l);   \
  |  |   54|  3.84k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.84k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.84k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.84k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.84k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.84k|		_r->base += _l;           \
  |  |   56|  3.84k|		_r->length -= _l;         \
  |  |   57|  3.84k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.84k]
  |  |  ------------------
  ------------------
  117|  3.84k|	snprintf(buf, sizeof(buf), "%u ", n);
  118|  3.84k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.84k|	{                                  \
  |  |  277|  3.84k|		isc_result_t _r = (x);     \
  |  |  278|  3.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.84k|	}
  ------------------
  119|       |
  120|       |	/*
  121|       |	 * Digest type.
  122|       |	 */
  123|  3.84k|	n = uint8_fromregion(&sr);
  124|  3.84k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.84k|	do {                              \
  |  |   52|  3.84k|		isc_region_t *_r = (r);   \
  |  |   53|  3.84k|		unsigned int  _l = (l);   \
  |  |   54|  3.84k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.84k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.84k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.84k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.84k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.84k|		_r->base += _l;           \
  |  |   56|  3.84k|		_r->length -= _l;         \
  |  |   57|  3.84k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.84k]
  |  |  ------------------
  ------------------
  125|  3.84k|	snprintf(buf, sizeof(buf), "%u", n);
  126|  3.84k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.84k|	{                                  \
  |  |  277|  3.84k|		isc_result_t _r = (x);     \
  |  |  278|  3.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.84k|	}
  ------------------
  127|       |
  128|       |	/*
  129|       |	 * Digest.
  130|       |	 */
  131|  3.84k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  3.84k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (131:6): [True: 0, False: 3.84k]
  ------------------
  132|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  133|      0|	}
  134|  3.84k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  3.84k|	{                                  \
  |  |  277|  3.84k|		isc_result_t _r = (x);     \
  |  |  278|  3.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.84k|	}
  ------------------
  135|  3.84k|	if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) {
  ------------------
  |  |   95|  3.84k|#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL
  ------------------
  |  Branch (135:6): [True: 3.84k, False: 0]
  ------------------
  136|  3.84k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (136:7): [True: 0, False: 3.84k]
  ------------------
  137|      0|			RETERR(isc_hex_totext(&sr, 0, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  138|  3.84k|		} else {
  139|  3.84k|			RETERR(isc_hex_totext(&sr, tctx->width - 2,
  ------------------
  |  |  276|  3.84k|	{                                  \
  |  |  277|  3.84k|		isc_result_t _r = (x);     \
  |  |  278|  3.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.84k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.84k|	}
  ------------------
  140|  3.84k|					      tctx->linebreak, target));
  141|  3.84k|		}
  142|  3.84k|	} else {
  143|      0|		RETERR(str_totext("[omitted]", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  144|      0|	}
  145|  3.84k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  3.84k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (145:6): [True: 0, False: 3.84k]
  ------------------
  146|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  147|      0|	}
  148|  3.84k|	return ISC_R_SUCCESS;
  149|  3.84k|}

rdata.c:fromwire_dsync:
  169|  1.59k|fromwire_dsync(ARGS_FROMWIRE) {
  170|  1.59k|	dns_name_t name;
  171|  1.59k|	isc_region_t sregion;
  172|       |
  173|  1.59k|	REQUIRE(type == dns_rdatatype_dsync);
  ------------------
  |  |  198|  1.59k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.59k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.59k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.59k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  174|       |
  175|  1.59k|	UNUSED(type);
  ------------------
  |  |   69|  1.59k|#define UNUSED(x) (void)(x)
  ------------------
  176|  1.59k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.59k|#define UNUSED(x) (void)(x)
  ------------------
  177|       |
  178|  1.59k|	dctx = dns_decompress_setpermitted(dctx, false);
  179|       |
  180|  1.59k|	dns_name_init(&name);
  181|       |
  182|  1.59k|	isc_buffer_activeregion(source, &sregion);
  183|  1.59k|	if (sregion.length < 5) {
  ------------------
  |  Branch (183:6): [True: 5, False: 1.58k]
  ------------------
  184|      5|		return ISC_R_UNEXPECTEDEND;
  185|      5|	}
  186|  1.58k|	RETERR(mem_tobuffer(target, sregion.base, 5));
  ------------------
  |  |  276|  1.58k|	{                                  \
  |  |  277|  1.58k|		isc_result_t _r = (x);     \
  |  |  278|  1.58k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 195, False: 1.39k]
  |  |  ------------------
  |  |  279|    195|			return ((_r));     \
  |  |  280|    195|		}                          \
  |  |  281|  1.58k|	}
  ------------------
  187|  1.39k|	isc_buffer_forward(source, 5);
  188|  1.39k|	return dns_name_fromwire(&name, source, dctx, target);
  189|  1.58k|}
rdata.c:towire_dsync:
  192|    600|towire_dsync(ARGS_TOWIRE) {
  193|    600|	dns_name_t name;
  194|    600|	isc_region_t region;
  195|       |
  196|    600|	REQUIRE(rdata->type == dns_rdatatype_dsync);
  ------------------
  |  |  198|    600|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    600|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 600, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    600|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  197|    600|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    600|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    600|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 600, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    600|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  198|       |
  199|    600|	dns_compress_setpermitted(cctx, false);
  200|       |
  201|    600|	dns_rdata_toregion(rdata, &region);
  202|    600|	RETERR(mem_tobuffer(target, region.base, 5));
  ------------------
  |  |  276|    600|	{                                  \
  |  |  277|    600|		isc_result_t _r = (x);     \
  |  |  278|    600|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 599]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    600|	}
  ------------------
  203|    599|	isc_region_consume(&region, 5);
  ------------------
  |  |   51|    599|	do {                              \
  |  |   52|    599|		isc_region_t *_r = (r);   \
  |  |   53|    599|		unsigned int  _l = (l);   \
  |  |   54|    599|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    599|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    599|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 599, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    599|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    599|		_r->base += _l;           \
  |  |   56|    599|		_r->length -= _l;         \
  |  |   57|    599|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 599]
  |  |  ------------------
  ------------------
  204|       |
  205|    599|	dns_name_init(&name);
  206|    599|	dns_name_fromregion(&name, &region);
  207|       |
  208|    599|	return dns_name_towire(&name, cctx, target);
  209|    600|}
rdata.c:totext_dsync:
  105|  1.18k|totext_dsync(ARGS_TOTEXT) {
  106|  1.18k|	isc_region_t region;
  107|  1.18k|	dns_name_t name;
  108|  1.18k|	dns_name_t prefix;
  109|  1.18k|	unsigned int opts;
  110|  1.18k|	char buf[sizeof("TYPE64000")];
  111|  1.18k|	unsigned short num;
  112|  1.18k|	dns_rdatatype_t type;
  113|  1.18k|	dns_dsyncscheme_t scheme;
  114|       |
  115|  1.18k|	REQUIRE(rdata->type == dns_rdatatype_dsync);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  116|  1.18k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  117|       |
  118|  1.18k|	dns_name_init(&name);
  119|  1.18k|	dns_name_init(&prefix);
  120|       |
  121|  1.18k|	dns_rdata_toregion(rdata, &region);
  122|       |
  123|       |	/*
  124|       |	 * Type.
  125|       |	 */
  126|  1.18k|	type = uint16_fromregion(&region);
  127|  1.18k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.18k|	do {                              \
  |  |   52|  1.18k|		isc_region_t *_r = (r);   \
  |  |   53|  1.18k|		unsigned int  _l = (l);   \
  |  |   54|  1.18k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.18k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.18k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.18k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.18k|		_r->base += _l;           \
  |  |   56|  1.18k|		_r->length -= _l;         \
  |  |   57|  1.18k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.18k]
  |  |  ------------------
  ------------------
  128|       |	/*
  129|       |	 * XXXAG We should have something like dns_rdatatype_isknown()
  130|       |	 * that does the right thing with type 0.
  131|       |	 */
  132|  1.18k|	if (dns_rdatatype_isknown(type) && type != 0) {
  ------------------
  |  Branch (132:6): [True: 415, False: 765]
  |  Branch (132:37): [True: 415, False: 0]
  ------------------
  133|    415|		RETERR(dns_rdatatype_totext(type, target));
  ------------------
  |  |  276|    415|	{                                  \
  |  |  277|    415|		isc_result_t _r = (x);     \
  |  |  278|    415|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 415]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    415|	}
  ------------------
  134|    765|	} else {
  135|    765|		snprintf(buf, sizeof(buf), "TYPE%u", type);
  136|    765|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    765|	{                                  \
  |  |  277|    765|		isc_result_t _r = (x);     \
  |  |  278|    765|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 765]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    765|	}
  ------------------
  137|    765|	}
  138|  1.18k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.18k|	}
  ------------------
  139|       |
  140|       |	/*
  141|       |	 * Scheme.
  142|       |	 */
  143|  1.18k|	scheme = uint8_fromregion(&region);
  144|  1.18k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  1.18k|	do {                              \
  |  |   52|  1.18k|		isc_region_t *_r = (r);   \
  |  |   53|  1.18k|		unsigned int  _l = (l);   \
  |  |   54|  1.18k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.18k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.18k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.18k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.18k|		_r->base += _l;           \
  |  |   56|  1.18k|		_r->length -= _l;         \
  |  |   57|  1.18k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.18k]
  |  |  ------------------
  ------------------
  145|  1.18k|	RETERR(dns_dsyncscheme_totext(scheme, target));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.18k|	}
  ------------------
  146|       |
  147|  1.18k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.18k|	}
  ------------------
  148|       |
  149|       |	/*
  150|       |	 * Port
  151|       |	 */
  152|  1.18k|	num = uint16_fromregion(&region);
  153|  1.18k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.18k|	do {                              \
  |  |   52|  1.18k|		isc_region_t *_r = (r);   \
  |  |   53|  1.18k|		unsigned int  _l = (l);   \
  |  |   54|  1.18k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.18k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.18k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.18k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.18k|		_r->base += _l;           \
  |  |   56|  1.18k|		_r->length -= _l;         \
  |  |   57|  1.18k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.18k]
  |  |  ------------------
  ------------------
  154|  1.18k|	snprintf(buf, sizeof(buf), "%u", num);
  155|  1.18k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.18k|	}
  ------------------
  156|       |
  157|  1.18k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.18k|	}
  ------------------
  158|       |
  159|       |	/*
  160|       |	 * Target
  161|       |	 */
  162|  1.18k|	dns_name_fromregion(&name, &region);
  163|  1.18k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (163:9): [True: 0, False: 1.18k]
  ------------------
  164|  1.18k|							 : 0;
  165|  1.18k|	return dns_name_totext(&prefix, opts, target);
  166|  1.18k|}

rdata.c:fromwire_eui48:
   82|  1.06k|fromwire_eui48(ARGS_FROMWIRE) {
   83|  1.06k|	isc_region_t sregion;
   84|       |
   85|  1.06k|	REQUIRE(type == dns_rdatatype_eui48);
  ------------------
  |  |  198|  1.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|  1.06k|	UNUSED(type);
  ------------------
  |  |   69|  1.06k|#define UNUSED(x) (void)(x)
  ------------------
   88|  1.06k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.06k|#define UNUSED(x) (void)(x)
  ------------------
   89|  1.06k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.06k|#define UNUSED(x) (void)(x)
  ------------------
   90|       |
   91|  1.06k|	isc_buffer_activeregion(source, &sregion);
   92|  1.06k|	if (sregion.length != 6) {
  ------------------
  |  Branch (92:6): [True: 4, False: 1.05k]
  ------------------
   93|      4|		return DNS_R_FORMERR;
   94|      4|	}
   95|  1.05k|	isc_buffer_forward(source, sregion.length);
   96|  1.05k|	return mem_tobuffer(target, sregion.base, sregion.length);
   97|  1.06k|}
rdata.c:towire_eui48:
  100|    331|towire_eui48(ARGS_TOWIRE) {
  101|    331|	REQUIRE(rdata->type == dns_rdatatype_eui48);
  ------------------
  |  |  198|    331|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    331|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 331, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    331|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  102|    331|	REQUIRE(rdata->length == 6);
  ------------------
  |  |  198|    331|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    331|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 331, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    331|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  103|       |
  104|    331|	UNUSED(cctx);
  ------------------
  |  |   69|    331|#define UNUSED(x) (void)(x)
  ------------------
  105|       |
  106|    331|	return mem_tobuffer(target, rdata->data, rdata->length);
  107|    331|}
rdata.c:totext_eui48:
   67|    657|totext_eui48(ARGS_TOTEXT) {
   68|    657|	char buf[sizeof("xx-xx-xx-xx-xx-xx")];
   69|       |
   70|    657|	REQUIRE(rdata->type == dns_rdatatype_eui48);
  ------------------
  |  |  198|    657|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    657|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 657, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    657|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   71|    657|	REQUIRE(rdata->length == 6);
  ------------------
  |  |  198|    657|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    657|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 657, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    657|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   72|       |
   73|    657|	UNUSED(tctx);
  ------------------
  |  |   69|    657|#define UNUSED(x) (void)(x)
  ------------------
   74|       |
   75|    657|	(void)snprintf(buf, sizeof(buf), "%02x-%02x-%02x-%02x-%02x-%02x",
   76|    657|		       rdata->data[0], rdata->data[1], rdata->data[2],
   77|    657|		       rdata->data[3], rdata->data[4], rdata->data[5]);
   78|    657|	return str_totext(buf, target);
   79|    657|}

rdata.c:fromwire_eui64:
   86|  1.17k|fromwire_eui64(ARGS_FROMWIRE) {
   87|  1.17k|	isc_region_t sregion;
   88|       |
   89|  1.17k|	REQUIRE(type == dns_rdatatype_eui64);
  ------------------
  |  |  198|  1.17k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.17k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.17k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.17k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   90|       |
   91|  1.17k|	UNUSED(type);
  ------------------
  |  |   69|  1.17k|#define UNUSED(x) (void)(x)
  ------------------
   92|  1.17k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.17k|#define UNUSED(x) (void)(x)
  ------------------
   93|  1.17k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.17k|#define UNUSED(x) (void)(x)
  ------------------
   94|       |
   95|  1.17k|	isc_buffer_activeregion(source, &sregion);
   96|  1.17k|	if (sregion.length != 8) {
  ------------------
  |  Branch (96:6): [True: 17, False: 1.15k]
  ------------------
   97|     17|		return DNS_R_FORMERR;
   98|     17|	}
   99|  1.15k|	isc_buffer_forward(source, sregion.length);
  100|  1.15k|	return mem_tobuffer(target, sregion.base, sregion.length);
  101|  1.17k|}
rdata.c:towire_eui64:
  104|    377|towire_eui64(ARGS_TOWIRE) {
  105|    377|	REQUIRE(rdata->type == dns_rdatatype_eui64);
  ------------------
  |  |  198|    377|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    377|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 377, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    377|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|    377|	REQUIRE(rdata->length == 8);
  ------------------
  |  |  198|    377|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    377|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 377, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    377|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  107|       |
  108|    377|	UNUSED(cctx);
  ------------------
  |  |   69|    377|#define UNUSED(x) (void)(x)
  ------------------
  109|       |
  110|    377|	return mem_tobuffer(target, rdata->data, rdata->length);
  111|    377|}
rdata.c:totext_eui64:
   70|    749|totext_eui64(ARGS_TOTEXT) {
   71|    749|	char buf[sizeof("xx-xx-xx-xx-xx-xx-xx-xx")];
   72|       |
   73|    749|	REQUIRE(rdata->type == dns_rdatatype_eui64);
  ------------------
  |  |  198|    749|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    749|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 749, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    749|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   74|    749|	REQUIRE(rdata->length == 8);
  ------------------
  |  |  198|    749|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    749|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 749, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    749|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   75|       |
   76|    749|	UNUSED(tctx);
  ------------------
  |  |   69|    749|#define UNUSED(x) (void)(x)
  ------------------
   77|       |
   78|    749|	(void)snprintf(
   79|    749|		buf, sizeof(buf), "%02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x",
   80|    749|		rdata->data[0], rdata->data[1], rdata->data[2], rdata->data[3],
   81|    749|		rdata->data[4], rdata->data[5], rdata->data[6], rdata->data[7]);
   82|    749|	return str_totext(buf, target);
   83|    749|}

rdata.c:fromwire_gpos:
   65|  1.22k|fromwire_gpos(ARGS_FROMWIRE) {
   66|  1.22k|	int i;
   67|       |
   68|  1.22k|	REQUIRE(type == dns_rdatatype_gpos);
  ------------------
  |  |  198|  1.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   69|       |
   70|  1.22k|	UNUSED(type);
  ------------------
  |  |   69|  1.22k|#define UNUSED(x) (void)(x)
  ------------------
   71|  1.22k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.22k|#define UNUSED(x) (void)(x)
  ------------------
   72|  1.22k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.22k|#define UNUSED(x) (void)(x)
  ------------------
   73|       |
   74|  4.35k|	for (i = 0; i < 3; i++) {
  ------------------
  |  Branch (74:14): [True: 3.33k, False: 1.02k]
  ------------------
   75|  3.33k|		RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  3.33k|	{                                  \
  |  |  277|  3.33k|		isc_result_t _r = (x);     \
  |  |  278|  3.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 199, False: 3.13k]
  |  |  ------------------
  |  |  279|    199|			return ((_r));     \
  |  |  280|    199|		}                          \
  |  |  281|  3.33k|	}
  ------------------
   76|  3.13k|	}
   77|  1.02k|	return ISC_R_SUCCESS;
   78|  1.22k|}
rdata.c:towire_gpos:
   81|    560|towire_gpos(ARGS_TOWIRE) {
   82|    560|	REQUIRE(rdata->type == dns_rdatatype_gpos);
  ------------------
  |  |  198|    560|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    560|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 560, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    560|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|    560|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    560|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    560|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 560, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    560|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|    560|	UNUSED(cctx);
  ------------------
  |  |   69|    560|#define UNUSED(x) (void)(x)
  ------------------
   86|       |
   87|    560|	return mem_tobuffer(target, rdata->data, rdata->length);
   88|    560|}
rdata.c:totext_gpos:
   43|    837|totext_gpos(ARGS_TOTEXT) {
   44|    837|	isc_region_t region;
   45|    837|	int i;
   46|       |
   47|    837|	REQUIRE(rdata->type == dns_rdatatype_gpos);
  ------------------
  |  |  198|    837|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    837|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 837, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    837|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   48|    837|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    837|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    837|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 837, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    837|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   49|       |
   50|    837|	UNUSED(tctx);
  ------------------
  |  |   69|    837|#define UNUSED(x) (void)(x)
  ------------------
   51|       |
   52|    837|	dns_rdata_toregion(rdata, &region);
   53|       |
   54|  3.34k|	for (i = 0; i < 3; i++) {
  ------------------
  |  Branch (54:14): [True: 2.51k, False: 837]
  ------------------
   55|  2.51k|		RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  2.51k|	{                                  \
  |  |  277|  2.51k|		isc_result_t _r = (x);     \
  |  |  278|  2.51k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.51k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.51k|	}
  ------------------
   56|  2.51k|		if (i != 2) {
  ------------------
  |  Branch (56:7): [True: 1.67k, False: 837]
  ------------------
   57|  1.67k|			RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.67k|	{                                  \
  |  |  277|  1.67k|		isc_result_t _r = (x);     \
  |  |  278|  1.67k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.67k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.67k|	}
  ------------------
   58|  1.67k|		}
   59|  2.51k|	}
   60|       |
   61|    837|	return ISC_R_SUCCESS;
   62|    837|}

rdata.c:fromwire_hhit:
   63|    996|fromwire_hhit(ARGS_FROMWIRE) {
   64|    996|	isc_region_t sr;
   65|       |
   66|    996|	REQUIRE(type == dns_rdatatype_hhit);
  ------------------
  |  |  198|    996|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    996|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 996, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    996|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|    996|	UNUSED(type);
  ------------------
  |  |   69|    996|#define UNUSED(x) (void)(x)
  ------------------
   69|    996|	UNUSED(rdclass);
  ------------------
  |  |   69|    996|#define UNUSED(x) (void)(x)
  ------------------
   70|    996|	UNUSED(dctx);
  ------------------
  |  |   69|    996|#define UNUSED(x) (void)(x)
  ------------------
   71|       |
   72|    996|	isc_buffer_activeregion(source, &sr);
   73|    996|	if (sr.length == 0) {
  ------------------
  |  Branch (73:6): [True: 4, False: 992]
  ------------------
   74|      4|		return ISC_R_UNEXPECTEDEND;
   75|      4|	}
   76|       |
   77|    992|	RETERR(mem_tobuffer(target, sr.base, sr.length));
  ------------------
  |  |  276|    992|	{                                  \
  |  |  277|    992|		isc_result_t _r = (x);     \
  |  |  278|    992|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 201, False: 791]
  |  |  ------------------
  |  |  279|    201|			return ((_r));     \
  |  |  280|    201|		}                          \
  |  |  281|    992|	}
  ------------------
   78|    791|	isc_buffer_forward(source, sr.length);
   79|    791|	return ISC_R_SUCCESS;
   80|    992|}
rdata.c:towire_hhit:
   83|    359|towire_hhit(ARGS_TOWIRE) {
   84|    359|	REQUIRE(rdata->type == dns_rdatatype_hhit);
  ------------------
  |  |  198|    359|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    359|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 359, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    359|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|    359|	REQUIRE(rdata->length > 0);
  ------------------
  |  |  198|    359|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    359|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 359, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    359|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|    359|	UNUSED(cctx);
  ------------------
  |  |   69|    359|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|    359|	return mem_tobuffer(target, rdata->data, rdata->length);
   90|    359|}
rdata.c:totext_hhit:
   35|    580|totext_hhit(ARGS_TOTEXT) {
   36|    580|	isc_region_t sr;
   37|       |
   38|    580|	REQUIRE(rdata->type == dns_rdatatype_hhit);
  ------------------
  |  |  198|    580|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    580|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 580, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    580|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   39|    580|	REQUIRE(rdata->length > 0);
  ------------------
  |  |  198|    580|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    580|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 580, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    580|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   40|       |
   41|    580|	dns_rdata_toregion(rdata, &sr);
   42|       |
   43|       |	/* data */
   44|    580|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    580|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (44:6): [True: 0, False: 580]
  ------------------
   45|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   46|      0|	}
   47|       |
   48|    580|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (48:6): [True: 0, False: 580]
  ------------------
   49|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   50|    580|	} else {
   51|    580|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|    580|	{                                  \
  |  |  277|    580|		isc_result_t _r = (x);     \
  |  |  278|    580|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 580]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    580|	}
  ------------------
   52|    580|					 target));
   53|    580|	}
   54|       |
   55|    580|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    580|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (55:6): [True: 0, False: 580]
  ------------------
   56|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   57|      0|	}
   58|       |
   59|    580|	return ISC_R_SUCCESS;
   60|    580|}

rdata.c:fromwire_hinfo:
   55|  1.07k|fromwire_hinfo(ARGS_FROMWIRE) {
   56|  1.07k|	REQUIRE(type == dns_rdatatype_hinfo);
  ------------------
  |  |  198|  1.07k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.07k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.07k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.07k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|       |
   58|  1.07k|	UNUSED(type);
  ------------------
  |  |   69|  1.07k|#define UNUSED(x) (void)(x)
  ------------------
   59|  1.07k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.07k|#define UNUSED(x) (void)(x)
  ------------------
   60|  1.07k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.07k|#define UNUSED(x) (void)(x)
  ------------------
   61|       |
   62|  1.07k|	RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  1.07k|	{                                  \
  |  |  277|  1.07k|		isc_result_t _r = (x);     \
  |  |  278|  1.07k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 196, False: 880]
  |  |  ------------------
  |  |  279|    196|			return ((_r));     \
  |  |  280|    196|		}                          \
  |  |  281|  1.07k|	}
  ------------------
   63|    880|	return txt_fromwire(source, target);
   64|  1.07k|}
rdata.c:towire_hinfo:
   67|    341|towire_hinfo(ARGS_TOWIRE) {
   68|    341|	UNUSED(cctx);
  ------------------
  |  |   69|    341|#define UNUSED(x) (void)(x)
  ------------------
   69|       |
   70|    341|	REQUIRE(rdata->type == dns_rdatatype_hinfo);
  ------------------
  |  |  198|    341|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    341|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 341, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    341|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   71|    341|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    341|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    341|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 341, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    341|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   72|       |
   73|    341|	return mem_tobuffer(target, rdata->data, rdata->length);
   74|    341|}
rdata.c:totext_hinfo:
   40|    673|totext_hinfo(ARGS_TOTEXT) {
   41|    673|	isc_region_t region;
   42|       |
   43|    673|	UNUSED(tctx);
  ------------------
  |  |   69|    673|#define UNUSED(x) (void)(x)
  ------------------
   44|       |
   45|    673|	REQUIRE(rdata->type == dns_rdatatype_hinfo);
  ------------------
  |  |  198|    673|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    673|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 673, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    673|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   46|    673|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    673|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    673|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 673, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    673|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   47|       |
   48|    673|	dns_rdata_toregion(rdata, &region);
   49|    673|	RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|    673|	{                                  \
  |  |  277|    673|		isc_result_t _r = (x);     \
  |  |  278|    673|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 673]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    673|	}
  ------------------
   50|    673|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    673|	{                                  \
  |  |  277|    673|		isc_result_t _r = (x);     \
  |  |  278|    673|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 673]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    673|	}
  ------------------
   51|       |	return txt_totext(&region, true, target);
   52|    673|}

rdata.c:fromwire_hip:
  190|  49.0k|fromwire_hip(ARGS_FROMWIRE) {
  191|  49.0k|	isc_region_t region, rr;
  192|  49.0k|	dns_name_t name;
  193|  49.0k|	uint8_t hit_len;
  194|  49.0k|	uint16_t key_len;
  195|  49.0k|	size_t len;
  196|       |
  197|  49.0k|	REQUIRE(type == dns_rdatatype_hip);
  ------------------
  |  |  198|  49.0k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  49.0k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 49.0k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  49.0k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  198|       |
  199|  49.0k|	UNUSED(type);
  ------------------
  |  |   69|  49.0k|#define UNUSED(x) (void)(x)
  ------------------
  200|  49.0k|	UNUSED(rdclass);
  ------------------
  |  |   69|  49.0k|#define UNUSED(x) (void)(x)
  ------------------
  201|       |
  202|  49.0k|	isc_buffer_activeregion(source, &region);
  203|  49.0k|	if (region.length < 4U) {
  ------------------
  |  Branch (203:6): [True: 6, False: 49.0k]
  ------------------
  204|      6|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      6|	{                                  \
  |  |  277|      6|		isc_result_t _r = (x);     \
  |  |  278|      6|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 6, False: 0]
  |  |  ------------------
  |  |  279|      6|			return ((_r));     \
  |  |  280|      6|		}                          \
  |  |  281|      6|	}
  ------------------
  205|      0|	}
  206|       |
  207|  49.0k|	rr = region;
  208|  49.0k|	hit_len = uint8_fromregion(&region);
  209|  49.0k|	if (hit_len == 0) {
  ------------------
  |  Branch (209:6): [True: 1, False: 49.0k]
  ------------------
  210|      1|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      1|	{                                  \
  |  |  277|      1|		isc_result_t _r = (x);     \
  |  |  278|      1|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 0]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|      1|	}
  ------------------
  211|      0|	}
  212|  49.0k|	isc_region_consume(&region, 2); /* hit length + algorithm */
  ------------------
  |  |   51|  49.0k|	do {                              \
  |  |   52|  49.0k|		isc_region_t *_r = (r);   \
  |  |   53|  49.0k|		unsigned int  _l = (l);   \
  |  |   54|  49.0k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  49.0k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  49.0k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 49.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  49.0k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  49.0k|		_r->base += _l;           \
  |  |   56|  49.0k|		_r->length -= _l;         \
  |  |   57|  49.0k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 49.0k]
  |  |  ------------------
  ------------------
  213|  49.0k|	key_len = uint16_fromregion(&region);
  214|  49.0k|	if (key_len == 0) {
  ------------------
  |  Branch (214:6): [True: 1, False: 49.0k]
  ------------------
  215|      1|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      1|	{                                  \
  |  |  277|      1|		isc_result_t _r = (x);     \
  |  |  278|      1|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 0]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|      1|	}
  ------------------
  216|      0|	}
  217|  49.0k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  49.0k|	do {                              \
  |  |   52|  49.0k|		isc_region_t *_r = (r);   \
  |  |   53|  49.0k|		unsigned int  _l = (l);   \
  |  |   54|  49.0k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  49.0k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  49.0k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 49.0k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  49.0k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  49.0k|		_r->base += _l;           \
  |  |   56|  49.0k|		_r->length -= _l;         \
  |  |   57|  49.0k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 49.0k]
  |  |  ------------------
  ------------------
  218|  49.0k|	len = hit_len + key_len;
  219|  49.0k|	if (len > region.length) {
  ------------------
  |  Branch (219:6): [True: 17, False: 49.0k]
  ------------------
  220|     17|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     17|	{                                  \
  |  |  277|     17|		isc_result_t _r = (x);     \
  |  |  278|     17|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 17, False: 0]
  |  |  ------------------
  |  |  279|     17|			return ((_r));     \
  |  |  280|     17|		}                          \
  |  |  281|     17|	}
  ------------------
  221|      0|	}
  222|       |
  223|  49.0k|	RETERR(mem_tobuffer(target, rr.base, 4 + len));
  ------------------
  |  |  276|  49.0k|	{                                  \
  |  |  277|  49.0k|		isc_result_t _r = (x);     \
  |  |  278|  49.0k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 264, False: 48.8k]
  |  |  ------------------
  |  |  279|    264|			return ((_r));     \
  |  |  280|    264|		}                          \
  |  |  281|  49.0k|	}
  ------------------
  224|  48.8k|	isc_buffer_forward(source, 4 + len);
  225|       |
  226|  48.8k|	dctx = dns_decompress_setpermitted(dctx, false);
  227|  1.21M|	while (isc_buffer_activelength(source) > 0) {
  ------------------
  |  |  161|  1.21M|#define isc_buffer_activelength(b)    ((b)->active - (b)->current) /* c-b */
  ------------------
  |  Branch (227:9): [True: 1.19M, False: 22.3k]
  ------------------
  228|  1.19M|		dns_name_init(&name);
  229|  1.19M|		RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  1.19M|	{                                  \
  |  |  277|  1.19M|		isc_result_t _r = (x);     \
  |  |  278|  1.19M|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 26.4k, False: 1.16M]
  |  |  ------------------
  |  |  279|  26.4k|			return ((_r));     \
  |  |  280|  26.4k|		}                          \
  |  |  281|  1.19M|	}
  ------------------
  230|  1.16M|	}
  231|  22.3k|	return ISC_R_SUCCESS;
  232|  48.8k|}
rdata.c:towire_hip:
  235|  3.49k|towire_hip(ARGS_TOWIRE) {
  236|  3.49k|	isc_region_t region;
  237|       |
  238|  3.49k|	REQUIRE(rdata->type == dns_rdatatype_hip);
  ------------------
  |  |  198|  3.49k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.49k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.49k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.49k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  239|  3.49k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  3.49k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.49k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.49k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.49k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  240|       |
  241|  3.49k|	UNUSED(cctx);
  ------------------
  |  |   69|  3.49k|#define UNUSED(x) (void)(x)
  ------------------
  242|       |
  243|  3.49k|	dns_rdata_toregion(rdata, &region);
  244|  3.49k|	return mem_tobuffer(target, region.base, region.length);
  245|  3.49k|}
rdata.c:totext_hip:
  117|  7.26k|totext_hip(ARGS_TOTEXT) {
  118|  7.26k|	isc_region_t region;
  119|  7.26k|	dns_name_t name;
  120|  7.26k|	unsigned int length, key_len, hit_len;
  121|  7.26k|	unsigned char algorithm;
  122|  7.26k|	char buf[sizeof("225 ")];
  123|       |
  124|  7.26k|	REQUIRE(rdata->type == dns_rdatatype_hip);
  ------------------
  |  |  198|  7.26k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  7.26k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 7.26k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  125|  7.26k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  7.26k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  7.26k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 7.26k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  126|       |
  127|  7.26k|	dns_rdata_toregion(rdata, &region);
  128|       |
  129|  7.26k|	hit_len = uint8_fromregion(&region);
  130|  7.26k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  7.26k|	do {                              \
  |  |   52|  7.26k|		isc_region_t *_r = (r);   \
  |  |   53|  7.26k|		unsigned int  _l = (l);   \
  |  |   54|  7.26k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  7.26k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  7.26k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 7.26k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  7.26k|		_r->base += _l;           \
  |  |   56|  7.26k|		_r->length -= _l;         \
  |  |   57|  7.26k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 7.26k]
  |  |  ------------------
  ------------------
  131|       |
  132|  7.26k|	algorithm = uint8_fromregion(&region);
  133|  7.26k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  7.26k|	do {                              \
  |  |   52|  7.26k|		isc_region_t *_r = (r);   \
  |  |   53|  7.26k|		unsigned int  _l = (l);   \
  |  |   54|  7.26k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  7.26k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  7.26k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 7.26k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  7.26k|		_r->base += _l;           \
  |  |   56|  7.26k|		_r->length -= _l;         \
  |  |   57|  7.26k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 7.26k]
  |  |  ------------------
  ------------------
  134|       |
  135|  7.26k|	key_len = uint16_fromregion(&region);
  136|  7.26k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  7.26k|	do {                              \
  |  |   52|  7.26k|		isc_region_t *_r = (r);   \
  |  |   53|  7.26k|		unsigned int  _l = (l);   \
  |  |   54|  7.26k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  7.26k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  7.26k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 7.26k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  7.26k|		_r->base += _l;           \
  |  |   56|  7.26k|		_r->length -= _l;         \
  |  |   57|  7.26k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 7.26k]
  |  |  ------------------
  ------------------
  137|       |
  138|  7.26k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  7.26k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (138:6): [True: 0, False: 7.26k]
  ------------------
  139|      0|		RETERR(str_totext("( ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  140|      0|	}
  141|       |
  142|       |	/*
  143|       |	 * Algorithm
  144|       |	 */
  145|  7.26k|	snprintf(buf, sizeof(buf), "%u ", algorithm);
  146|  7.26k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  7.26k|	{                                  \
  |  |  277|  7.26k|		isc_result_t _r = (x);     \
  |  |  278|  7.26k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 7.26k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  7.26k|	}
  ------------------
  147|       |
  148|       |	/*
  149|       |	 * HIT.
  150|       |	 */
  151|  7.26k|	INSIST(hit_len < region.length);
  ------------------
  |  |  202|  7.26k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  7.26k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 7.26k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  152|  7.26k|	length = region.length;
  153|  7.26k|	region.length = hit_len;
  154|  7.26k|	RETERR(isc_hex_totext(&region, 1, "", target));
  ------------------
  |  |  276|  7.26k|	{                                  \
  |  |  277|  7.26k|		isc_result_t _r = (x);     \
  |  |  278|  7.26k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 7.26k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  7.26k|	}
  ------------------
  155|  7.26k|	region.length = length - hit_len;
  156|  7.26k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  7.26k|	{                                  \
  |  |  277|  7.26k|		isc_result_t _r = (x);     \
  |  |  278|  7.26k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 7.26k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  7.26k|	}
  ------------------
  157|       |
  158|       |	/*
  159|       |	 * Public KEY.
  160|       |	 */
  161|  7.26k|	INSIST(key_len <= region.length);
  ------------------
  |  |  202|  7.26k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  7.26k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 7.26k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  7.26k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  162|  7.26k|	length = region.length;
  163|  7.26k|	region.length = key_len;
  164|  7.26k|	RETERR(isc_base64_totext(&region, 1, "", target));
  ------------------
  |  |  276|  7.26k|	{                                  \
  |  |  277|  7.26k|		isc_result_t _r = (x);     \
  |  |  278|  7.26k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 7.26k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  7.26k|	}
  ------------------
  165|  7.26k|	region.length = length - key_len;
  166|  7.26k|	if (region.length > 0) {
  ------------------
  |  Branch (166:6): [True: 6.59k, False: 665]
  ------------------
  167|  6.59k|		RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  6.59k|	{                                  \
  |  |  277|  6.59k|		isc_result_t _r = (x);     \
  |  |  278|  6.59k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.59k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.59k|	}
  ------------------
  168|  6.59k|	}
  169|       |
  170|       |	/*
  171|       |	 * Rendezvous Servers.
  172|       |	 */
  173|  7.26k|	dns_name_init(&name);
  174|   354k|	while (region.length > 0) {
  ------------------
  |  Branch (174:9): [True: 347k, False: 7.25k]
  ------------------
  175|   347k|		dns_name_fromregion(&name, &region);
  176|       |
  177|   347k|		RETERR(dns_name_totext(&name, 0, target));
  ------------------
  |  |  276|   347k|	{                                  \
  |  |  277|   347k|		isc_result_t _r = (x);     \
  |  |  278|   347k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 6, False: 347k]
  |  |  ------------------
  |  |  279|      6|			return ((_r));     \
  |  |  280|      6|		}                          \
  |  |  281|   347k|	}
  ------------------
  178|   347k|		isc_region_consume(&region, name.length);
  ------------------
  |  |   51|   347k|	do {                              \
  |  |   52|   347k|		isc_region_t *_r = (r);   \
  |  |   53|   347k|		unsigned int  _l = (l);   \
  |  |   54|   347k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|   347k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|   347k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 347k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|   347k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|   347k|		_r->base += _l;           \
  |  |   56|   347k|		_r->length -= _l;         \
  |  |   57|   347k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 347k]
  |  |  ------------------
  ------------------
  179|   347k|		if (region.length > 0) {
  ------------------
  |  Branch (179:7): [True: 340k, False: 6.59k]
  ------------------
  180|   340k|			RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|   340k|	{                                  \
  |  |  277|   340k|		isc_result_t _r = (x);     \
  |  |  278|   340k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 2, False: 340k]
  |  |  ------------------
  |  |  279|      2|			return ((_r));     \
  |  |  280|      2|		}                          \
  |  |  281|   340k|	}
  ------------------
  181|   340k|		}
  182|   347k|	}
  183|  7.25k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  7.25k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (183:6): [True: 0, False: 7.25k]
  ------------------
  184|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  185|      0|	}
  186|  7.25k|	return ISC_R_SUCCESS;
  187|  7.25k|}

rdata.c:fromwire_ipseckey:
  212|  3.58k|fromwire_ipseckey(ARGS_FROMWIRE) {
  213|  3.58k|	dns_name_t name;
  214|  3.58k|	isc_region_t region;
  215|       |
  216|  3.58k|	REQUIRE(type == dns_rdatatype_ipseckey);
  ------------------
  |  |  198|  3.58k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.58k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.58k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.58k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  217|       |
  218|  3.58k|	UNUSED(type);
  ------------------
  |  |   69|  3.58k|#define UNUSED(x) (void)(x)
  ------------------
  219|  3.58k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.58k|#define UNUSED(x) (void)(x)
  ------------------
  220|       |
  221|  3.58k|	dctx = dns_decompress_setpermitted(dctx, false);
  222|       |
  223|  3.58k|	dns_name_init(&name);
  224|       |
  225|  3.58k|	isc_buffer_activeregion(source, &region);
  226|  3.58k|	if (region.length < 3) {
  ------------------
  |  Branch (226:6): [True: 4, False: 3.58k]
  ------------------
  227|      4|		return ISC_R_UNEXPECTEDEND;
  228|      4|	}
  229|       |
  230|  3.58k|	switch (region.base[1]) {
  231|  1.90k|	case 0:
  ------------------
  |  Branch (231:2): [True: 1.90k, False: 1.67k]
  ------------------
  232|  1.90k|		if (region.length < 4) {
  ------------------
  |  Branch (232:7): [True: 1, False: 1.90k]
  ------------------
  233|      1|			return ISC_R_UNEXPECTEDEND;
  234|      1|		}
  235|  1.90k|		isc_buffer_forward(source, region.length);
  236|  1.90k|		return mem_tobuffer(target, region.base, region.length);
  237|       |
  238|    705|	case 1:
  ------------------
  |  Branch (238:2): [True: 705, False: 2.87k]
  ------------------
  239|    705|		if (region.length < 8) {
  ------------------
  |  Branch (239:7): [True: 1, False: 704]
  ------------------
  240|      1|			return ISC_R_UNEXPECTEDEND;
  241|      1|		}
  242|    704|		isc_buffer_forward(source, region.length);
  243|    704|		return mem_tobuffer(target, region.base, region.length);
  244|       |
  245|    422|	case 2:
  ------------------
  |  Branch (245:2): [True: 422, False: 3.15k]
  ------------------
  246|    422|		if (region.length < 20) {
  ------------------
  |  Branch (246:7): [True: 2, False: 420]
  ------------------
  247|      2|			return ISC_R_UNEXPECTEDEND;
  248|      2|		}
  249|    420|		isc_buffer_forward(source, region.length);
  250|    420|		return mem_tobuffer(target, region.base, region.length);
  251|       |
  252|    547|	case 3:
  ------------------
  |  Branch (252:2): [True: 547, False: 3.03k]
  ------------------
  253|    547|		RETERR(mem_tobuffer(target, region.base, 3));
  ------------------
  |  |  276|    547|	{                                  \
  |  |  277|    547|		isc_result_t _r = (x);     \
  |  |  278|    547|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 66, False: 481]
  |  |  ------------------
  |  |  279|     66|			return ((_r));     \
  |  |  280|     66|		}                          \
  |  |  281|    547|	}
  ------------------
  254|    481|		isc_buffer_forward(source, 3);
  255|    481|		RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|    481|	{                                  \
  |  |  277|    481|		isc_result_t _r = (x);     \
  |  |  278|    481|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 71, False: 410]
  |  |  ------------------
  |  |  279|     71|			return ((_r));     \
  |  |  280|     71|		}                          \
  |  |  281|    481|	}
  ------------------
  256|    410|		isc_buffer_activeregion(source, &region);
  257|    410|		isc_buffer_forward(source, region.length);
  258|    410|		if (region.length < 1) {
  ------------------
  |  Branch (258:7): [True: 2, False: 408]
  ------------------
  259|      2|			return ISC_R_UNEXPECTEDEND;
  260|      2|		}
  261|    408|		return mem_tobuffer(target, region.base, region.length);
  262|       |
  263|      2|	default:
  ------------------
  |  Branch (263:2): [True: 2, False: 3.57k]
  ------------------
  264|      2|		return ISC_R_NOTIMPLEMENTED;
  265|  3.58k|	}
  266|  3.58k|}
rdata.c:towire_ipseckey:
  269|  1.12k|towire_ipseckey(ARGS_TOWIRE) {
  270|  1.12k|	isc_region_t region;
  271|       |
  272|  1.12k|	REQUIRE(rdata->type == dns_rdatatype_ipseckey);
  ------------------
  |  |  198|  1.12k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.12k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.12k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.12k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  273|  1.12k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.12k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.12k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.12k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.12k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  274|       |
  275|  1.12k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.12k|#define UNUSED(x) (void)(x)
  ------------------
  276|       |
  277|  1.12k|	dns_rdata_toregion(rdata, &region);
  278|  1.12k|	return mem_tobuffer(target, region.base, region.length);
  279|  1.12k|}
rdata.c:totext_ipseckey:
  122|  2.18k|totext_ipseckey(ARGS_TOTEXT) {
  123|  2.18k|	isc_region_t region;
  124|  2.18k|	dns_name_t name;
  125|  2.18k|	char buf[sizeof("255 ")];
  126|  2.18k|	unsigned short num;
  127|  2.18k|	unsigned short gateway;
  128|       |
  129|  2.18k|	REQUIRE(rdata->type == dns_rdatatype_ipseckey);
  ------------------
  |  |  198|  2.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  130|  2.18k|	REQUIRE(rdata->length >= 3);
  ------------------
  |  |  198|  2.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  131|       |
  132|  2.18k|	dns_name_init(&name);
  133|       |
  134|  2.18k|	if (rdata->data[1] > 3U) {
  ------------------
  |  Branch (134:6): [True: 0, False: 2.18k]
  ------------------
  135|      0|		return ISC_R_NOTIMPLEMENTED;
  136|      0|	}
  137|       |
  138|  2.18k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.18k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (138:6): [True: 0, False: 2.18k]
  ------------------
  139|      0|		RETERR(str_totext("( ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  140|      0|	}
  141|       |
  142|       |	/*
  143|       |	 * Precedence.
  144|       |	 */
  145|  2.18k|	dns_rdata_toregion(rdata, &region);
  146|  2.18k|	num = uint8_fromregion(&region);
  147|  2.18k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  2.18k|	do {                              \
  |  |   52|  2.18k|		isc_region_t *_r = (r);   \
  |  |   53|  2.18k|		unsigned int  _l = (l);   \
  |  |   54|  2.18k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.18k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.18k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.18k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.18k|		_r->base += _l;           \
  |  |   56|  2.18k|		_r->length -= _l;         \
  |  |   57|  2.18k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.18k]
  |  |  ------------------
  ------------------
  148|  2.18k|	snprintf(buf, sizeof(buf), "%u ", num);
  149|  2.18k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.18k|	{                                  \
  |  |  277|  2.18k|		isc_result_t _r = (x);     \
  |  |  278|  2.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.18k|	}
  ------------------
  150|       |
  151|       |	/*
  152|       |	 * Gateway type.
  153|       |	 */
  154|  2.18k|	gateway = uint8_fromregion(&region);
  155|  2.18k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  2.18k|	do {                              \
  |  |   52|  2.18k|		isc_region_t *_r = (r);   \
  |  |   53|  2.18k|		unsigned int  _l = (l);   \
  |  |   54|  2.18k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.18k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.18k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.18k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.18k|		_r->base += _l;           \
  |  |   56|  2.18k|		_r->length -= _l;         \
  |  |   57|  2.18k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.18k]
  |  |  ------------------
  ------------------
  156|  2.18k|	snprintf(buf, sizeof(buf), "%u ", gateway);
  157|  2.18k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.18k|	{                                  \
  |  |  277|  2.18k|		isc_result_t _r = (x);     \
  |  |  278|  2.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.18k|	}
  ------------------
  158|       |
  159|       |	/*
  160|       |	 * Algorithm.
  161|       |	 */
  162|  2.18k|	num = uint8_fromregion(&region);
  163|  2.18k|	isc_region_consume(&region, 1);
  ------------------
  |  |   51|  2.18k|	do {                              \
  |  |   52|  2.18k|		isc_region_t *_r = (r);   \
  |  |   53|  2.18k|		unsigned int  _l = (l);   \
  |  |   54|  2.18k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.18k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.18k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.18k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.18k|		_r->base += _l;           \
  |  |   56|  2.18k|		_r->length -= _l;         \
  |  |   57|  2.18k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.18k]
  |  |  ------------------
  ------------------
  164|  2.18k|	snprintf(buf, sizeof(buf), "%u ", num);
  165|  2.18k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.18k|	{                                  \
  |  |  277|  2.18k|		isc_result_t _r = (x);     \
  |  |  278|  2.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.18k|	}
  ------------------
  166|       |
  167|       |	/*
  168|       |	 * Gateway.
  169|       |	 */
  170|  2.18k|	switch (gateway) {
  ------------------
  |  Branch (170:10): [True: 2.18k, False: 0]
  ------------------
  171|  1.33k|	case 0:
  ------------------
  |  Branch (171:2): [True: 1.33k, False: 845]
  ------------------
  172|  1.33k|		RETERR(str_totext(".", target));
  ------------------
  |  |  276|  1.33k|	{                                  \
  |  |  277|  1.33k|		isc_result_t _r = (x);     \
  |  |  278|  1.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.33k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.33k|	}
  ------------------
  173|  1.33k|		break;
  174|       |
  175|    294|	case 1:
  ------------------
  |  Branch (175:2): [True: 294, False: 1.88k]
  ------------------
  176|    294|		RETERR(inet_totext(AF_INET, tctx->flags, &region, target));
  ------------------
  |  |  276|    294|	{                                  \
  |  |  277|    294|		isc_result_t _r = (x);     \
  |  |  278|    294|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 294]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    294|	}
  ------------------
  177|    294|		isc_region_consume(&region, 4);
  ------------------
  |  |   51|    294|	do {                              \
  |  |   52|    294|		isc_region_t *_r = (r);   \
  |  |   53|    294|		unsigned int  _l = (l);   \
  |  |   54|    294|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    294|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    294|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 294, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    294|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    294|		_r->base += _l;           \
  |  |   56|    294|		_r->length -= _l;         \
  |  |   57|    294|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 294]
  |  |  ------------------
  ------------------
  178|    294|		break;
  179|       |
  180|    267|	case 2:
  ------------------
  |  Branch (180:2): [True: 267, False: 1.91k]
  ------------------
  181|    267|		RETERR(inet_totext(AF_INET6, tctx->flags, &region, target));
  ------------------
  |  |  276|    267|	{                                  \
  |  |  277|    267|		isc_result_t _r = (x);     \
  |  |  278|    267|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 267]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    267|	}
  ------------------
  182|    267|		isc_region_consume(&region, 16);
  ------------------
  |  |   51|    267|	do {                              \
  |  |   52|    267|		isc_region_t *_r = (r);   \
  |  |   53|    267|		unsigned int  _l = (l);   \
  |  |   54|    267|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    267|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    267|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 267, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    267|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    267|		_r->base += _l;           \
  |  |   56|    267|		_r->length -= _l;         \
  |  |   57|    267|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 267]
  |  |  ------------------
  ------------------
  183|    267|		break;
  184|       |
  185|    284|	case 3:
  ------------------
  |  Branch (185:2): [True: 284, False: 1.89k]
  ------------------
  186|    284|		dns_name_fromregion(&name, &region);
  187|    284|		RETERR(dns_name_totext(&name, 0, target));
  ------------------
  |  |  276|    284|	{                                  \
  |  |  277|    284|		isc_result_t _r = (x);     \
  |  |  278|    284|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 284]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    284|	}
  ------------------
  188|    284|		isc_region_consume(&region, name_length(&name));
  ------------------
  |  |   51|    284|	do {                              \
  |  |   52|    284|		isc_region_t *_r = (r);   \
  |  |   53|    284|		unsigned int  _l = (l);   \
  |  |   54|    284|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    284|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    284|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 284, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    284|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    284|		_r->base += _l;           \
  |  |   56|    284|		_r->length -= _l;         \
  |  |   57|    284|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 284]
  |  |  ------------------
  ------------------
  189|    284|		break;
  190|  2.18k|	}
  191|       |
  192|       |	/*
  193|       |	 * Key.
  194|       |	 */
  195|  2.18k|	if (region.length > 0U) {
  ------------------
  |  Branch (195:6): [True: 2.18k, False: 0]
  ------------------
  196|  2.18k|		RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  2.18k|	{                                  \
  |  |  277|  2.18k|		isc_result_t _r = (x);     \
  |  |  278|  2.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.18k|	}
  ------------------
  197|  2.18k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (197:7): [True: 0, False: 2.18k]
  ------------------
  198|      0|			RETERR(isc_base64_totext(&region, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  199|  2.18k|		} else {
  200|  2.18k|			RETERR(isc_base64_totext(&region, tctx->width - 2,
  ------------------
  |  |  276|  2.18k|	{                                  \
  |  |  277|  2.18k|		isc_result_t _r = (x);     \
  |  |  278|  2.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.18k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.18k|	}
  ------------------
  201|  2.18k|						 tctx->linebreak, target));
  202|  2.18k|		}
  203|  2.18k|	}
  204|       |
  205|  2.18k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.18k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (205:6): [True: 0, False: 2.18k]
  ------------------
  206|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  207|      0|	}
  208|  2.18k|	return ISC_R_SUCCESS;
  209|  2.18k|}

rdata.c:fromwire_isdn:
   70|  1.49k|fromwire_isdn(ARGS_FROMWIRE) {
   71|  1.49k|	REQUIRE(type == dns_rdatatype_isdn);
  ------------------
  |  |  198|  1.49k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.49k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.49k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.49k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   72|       |
   73|  1.49k|	UNUSED(type);
  ------------------
  |  |   69|  1.49k|#define UNUSED(x) (void)(x)
  ------------------
   74|  1.49k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.49k|#define UNUSED(x) (void)(x)
  ------------------
   75|  1.49k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.49k|#define UNUSED(x) (void)(x)
  ------------------
   76|       |
   77|  1.49k|	RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  1.49k|	{                                  \
  |  |  277|  1.49k|		isc_result_t _r = (x);     \
  |  |  278|  1.49k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 196, False: 1.30k]
  |  |  ------------------
  |  |  279|    196|			return ((_r));     \
  |  |  280|    196|		}                          \
  |  |  281|  1.49k|	}
  ------------------
   78|  1.30k|	if (buffer_empty(source)) {
  ------------------
  |  Branch (78:6): [True: 746, False: 555]
  ------------------
   79|    746|		return ISC_R_SUCCESS;
   80|    746|	}
   81|    555|	return txt_fromwire(source, target);
   82|  1.30k|}
rdata.c:towire_isdn:
   85|    549|towire_isdn(ARGS_TOWIRE) {
   86|    549|	UNUSED(cctx);
  ------------------
  |  |   69|    549|#define UNUSED(x) (void)(x)
  ------------------
   87|       |
   88|    549|	REQUIRE(rdata->type == dns_rdatatype_isdn);
  ------------------
  |  |  198|    549|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    549|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 549, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    549|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   89|    549|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    549|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    549|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 549, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    549|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   90|       |
   91|    549|	return mem_tobuffer(target, rdata->data, rdata->length);
   92|    549|}
rdata.c:totext_isdn:
   52|  1.08k|totext_isdn(ARGS_TOTEXT) {
   53|  1.08k|	isc_region_t region;
   54|       |
   55|  1.08k|	REQUIRE(rdata->type == dns_rdatatype_isdn);
  ------------------
  |  |  198|  1.08k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.08k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.08k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.08k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   56|  1.08k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.08k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.08k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.08k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.08k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|       |
   58|  1.08k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.08k|#define UNUSED(x) (void)(x)
  ------------------
   59|       |
   60|  1.08k|	dns_rdata_toregion(rdata, &region);
   61|  1.08k|	RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  1.08k|	{                                  \
  |  |  277|  1.08k|		isc_result_t _r = (x);     \
  |  |  278|  1.08k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.08k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.08k|	}
  ------------------
   62|  1.08k|	if (region.length == 0) {
  ------------------
  |  Branch (62:6): [True: 700, False: 386]
  ------------------
   63|    700|		return ISC_R_SUCCESS;
   64|    700|	}
   65|    386|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    386|	{                                  \
  |  |  277|    386|		isc_result_t _r = (x);     \
  |  |  278|    386|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 386]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    386|	}
  ------------------
   66|       |	return txt_totext(&region, true, target);
   67|    386|}

rdata.c:fromwire_key:
  250|  1.90k|fromwire_key(ARGS_FROMWIRE) {
  251|  1.90k|	REQUIRE(type == dns_rdatatype_key);
  ------------------
  |  |  198|  1.90k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.90k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.90k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.90k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  252|       |
  253|  1.90k|	return generic_fromwire_key(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.90k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
  254|  1.90k|}
rdata.c:generic_fromwire_key:
  195|  6.49k|generic_fromwire_key(ARGS_FROMWIRE) {
  196|  6.49k|	unsigned char algorithm;
  197|  6.49k|	uint16_t flags;
  198|  6.49k|	isc_region_t sr;
  199|       |
  200|  6.49k|	UNUSED(rdclass);
  ------------------
  |  |   69|  6.49k|#define UNUSED(x) (void)(x)
  ------------------
  201|  6.49k|	UNUSED(dctx);
  ------------------
  |  |   69|  6.49k|#define UNUSED(x) (void)(x)
  ------------------
  202|       |
  203|  6.49k|	isc_buffer_activeregion(source, &sr);
  204|  6.49k|	if (sr.length < 4) {
  ------------------
  |  Branch (204:6): [True: 23, False: 6.47k]
  ------------------
  205|     23|		return ISC_R_UNEXPECTEDEND;
  206|     23|	}
  207|  6.47k|	flags = (sr.base[0] << 8) | sr.base[1];
  208|       |
  209|  6.47k|	if (type == dns_rdatatype_rkey && flags != 0U) {
  ------------------
  |  |  170|  12.9k|#define dns_rdatatype_rkey	((dns_rdatatype_t)dns_rdatatype_rkey)
  ------------------
  |  Branch (209:6): [True: 1.30k, False: 5.16k]
  |  Branch (209:36): [True: 1, False: 1.30k]
  ------------------
  210|      1|		return DNS_R_FORMERR;
  211|      1|	}
  212|       |
  213|  6.47k|	algorithm = sr.base[3];
  214|  6.47k|	RETERR(mem_tobuffer(target, sr.base, 4));
  ------------------
  |  |  276|  6.47k|	{                                  \
  |  |  277|  6.47k|		isc_result_t _r = (x);     \
  |  |  278|  6.47k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 74, False: 6.40k]
  |  |  ------------------
  |  |  279|     74|			return ((_r));     \
  |  |  280|     74|		}                          \
  |  |  281|  6.47k|	}
  ------------------
  215|  6.40k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  6.40k|	do {                              \
  |  |   52|  6.40k|		isc_region_t *_r = (r);   \
  |  |   53|  6.40k|		unsigned int  _l = (l);   \
  |  |   54|  6.40k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.40k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.40k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.40k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.40k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.40k|		_r->base += _l;           \
  |  |   56|  6.40k|		_r->length -= _l;         \
  |  |   57|  6.40k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.40k]
  |  |  ------------------
  ------------------
  216|  6.40k|	isc_buffer_forward(source, 4);
  217|       |
  218|  6.40k|	if (sr.length == 0) {
  ------------------
  |  Branch (218:6): [True: 7, False: 6.39k]
  ------------------
  219|      7|		return ISC_R_UNEXPECTEDEND;
  220|      7|	}
  221|       |
  222|  6.39k|	if (algorithm == DNS_KEYALG_PRIVATEDNS ||
  ------------------
  |  Branch (222:6): [True: 241, False: 6.15k]
  ------------------
  223|  6.15k|	    algorithm == DNS_KEYALG_PRIVATEOID)
  ------------------
  |  Branch (223:6): [True: 90, False: 6.06k]
  ------------------
  224|    331|	{
  225|    331|		isc_buffer_t b = *source;
  226|    331|		RETERR(check_private(&b, algorithm));
  ------------------
  |  |  276|    331|	{                                  \
  |  |  277|    331|		isc_result_t _r = (x);     \
  |  |  278|    331|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 13, False: 318]
  |  |  ------------------
  |  |  279|     13|			return ((_r));     \
  |  |  280|     13|		}                          \
  |  |  281|    331|	}
  ------------------
  227|    318|	}
  228|       |
  229|  6.38k|	isc_buffer_activeregion(source, &sr);
  230|  6.38k|	isc_buffer_forward(source, sr.length);
  231|  6.38k|	return mem_tobuffer(target, sr.base, sr.length);
  232|  6.39k|}
rdata.c:towire_key:
  257|    933|towire_key(ARGS_TOWIRE) {
  258|    933|	isc_region_t sr;
  259|       |
  260|    933|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    933|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    933|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 933, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    933|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  261|    933|	REQUIRE(rdata->type == dns_rdatatype_key);
  ------------------
  |  |  198|    933|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    933|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 933, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    933|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  262|    933|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    933|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    933|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 933, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    933|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  263|       |
  264|    933|	UNUSED(cctx);
  ------------------
  |  |   69|    933|#define UNUSED(x) (void)(x)
  ------------------
  265|       |
  266|    933|	dns_rdata_toregion(rdata, &sr);
  267|    933|	return mem_tobuffer(target, sr.base, sr.length);
  268|    933|}
rdata.c:totext_key:
  242|  1.84k|totext_key(ARGS_TOTEXT) {
  243|  1.84k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  244|  1.84k|	REQUIRE(rdata->type == dns_rdatatype_key);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  245|       |
  246|  1.84k|	return generic_totext_key(CALL_TOTEXT);
  ------------------
  |  |   85|  1.84k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
  247|  1.84k|}
rdata.c:generic_totext_key:
   82|  6.00k|generic_totext_key(ARGS_TOTEXT) {
   83|  6.00k|	isc_region_t sr;
   84|  6.00k|	char buf[sizeof("[key id = 64000]")];
   85|  6.00k|	unsigned int flags;
   86|  6.00k|	unsigned char algorithm;
   87|  6.00k|	char algbuf[DNS_NAME_FORMATSIZE];
   88|  6.00k|	const char *keyinfo;
   89|  6.00k|	isc_region_t tmpr;
   90|       |
   91|  6.00k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  6.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  6.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 6.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  6.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   92|       |
   93|  6.00k|	dns_rdata_toregion(rdata, &sr);
   94|       |
   95|       |	/* flags */
   96|  6.00k|	flags = uint16_fromregion(&sr);
   97|  6.00k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  6.00k|	do {                              \
  |  |   52|  6.00k|		isc_region_t *_r = (r);   \
  |  |   53|  6.00k|		unsigned int  _l = (l);   \
  |  |   54|  6.00k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.00k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.00k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.00k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.00k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.00k|		_r->base += _l;           \
  |  |   56|  6.00k|		_r->length -= _l;         \
  |  |   57|  6.00k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.00k]
  |  |  ------------------
  ------------------
   98|  6.00k|	snprintf(buf, sizeof(buf), "%u", flags);
   99|  6.00k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  100|  6.00k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  101|  6.00k|	if ((flags & DNS_KEYFLAG_KSK) != 0) {
  ------------------
  |  Branch (101:6): [True: 1.95k, False: 4.05k]
  ------------------
  102|  1.95k|		if (flags & DNS_KEYFLAG_REVOKE) {
  ------------------
  |  Branch (102:7): [True: 694, False: 1.25k]
  ------------------
  103|    694|			keyinfo = "revoked KSK";
  104|  1.25k|		} else {
  105|  1.25k|			keyinfo = "KSK";
  106|  1.25k|		}
  107|  4.05k|	} else {
  108|  4.05k|		keyinfo = "ZSK";
  109|  4.05k|	}
  110|       |
  111|       |	/* protocol */
  112|  6.00k|	snprintf(buf, sizeof(buf), "%u", sr.base[0]);
  113|  6.00k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  6.00k|	do {                              \
  |  |   52|  6.00k|		isc_region_t *_r = (r);   \
  |  |   53|  6.00k|		unsigned int  _l = (l);   \
  |  |   54|  6.00k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.00k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.00k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.00k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.00k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.00k|		_r->base += _l;           \
  |  |   56|  6.00k|		_r->length -= _l;         \
  |  |   57|  6.00k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.00k]
  |  |  ------------------
  ------------------
  114|  6.00k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  115|  6.00k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  116|       |
  117|       |	/* algorithm */
  118|  6.00k|	algorithm = sr.base[0];
  119|  6.00k|	snprintf(buf, sizeof(buf), "%u", algorithm);
  120|  6.00k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  6.00k|	do {                              \
  |  |   52|  6.00k|		isc_region_t *_r = (r);   \
  |  |   53|  6.00k|		unsigned int  _l = (l);   \
  |  |   54|  6.00k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.00k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.00k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.00k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.00k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.00k|		_r->base += _l;           \
  |  |   56|  6.00k|		_r->length -= _l;         \
  |  |   57|  6.00k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.00k]
  |  |  ------------------
  ------------------
  121|  6.00k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  122|       |
  123|  6.00k|	if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0 &&
  ------------------
  |  |  197|  6.00k|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (123:6): [True: 0, False: 6.00k]
  ------------------
  124|      0|	    algorithm == DNS_KEYALG_PRIVATEDNS)
  ------------------
  |  Branch (124:6): [True: 0, False: 0]
  ------------------
  125|      0|	{
  126|      0|		dns_name_t name;
  127|      0|		dns_name_init(&name);
  128|      0|		dns_name_fromregion(&name, &sr);
  129|      0|		dns_name_format(&name, algbuf, sizeof(algbuf));
  130|  6.00k|	} else if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0 &&
  ------------------
  |  |  197|  6.00k|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (130:13): [True: 0, False: 6.00k]
  ------------------
  131|      0|		   algorithm == DNS_KEYALG_PRIVATEOID)
  ------------------
  |  Branch (131:6): [True: 0, False: 0]
  ------------------
  132|      0|	{
  133|      0|		const unsigned char *in = sr.base + 1;
  134|      0|		ASN1_OBJECT *obj = d2i_ASN1_OBJECT(NULL, &in, *sr.base);
  135|      0|		INSIST(obj != NULL);
  ------------------
  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  136|      0|		int n = i2t_ASN1_OBJECT(algbuf, sizeof(algbuf), obj);
  137|      0|		ASN1_OBJECT_free(obj);
  138|      0|		if (n == -1 || (size_t)n >= sizeof(algbuf)) {
  ------------------
  |  Branch (138:7): [True: 0, False: 0]
  |  Branch (138:18): [True: 0, False: 0]
  ------------------
  139|      0|			dns_secalg_format((dns_secalg_t)algorithm, algbuf,
  140|      0|					  sizeof(algbuf));
  141|      0|		}
  142|  6.00k|	} else {
  143|  6.00k|		dns_secalg_format((dns_secalg_t)algorithm, algbuf,
  144|  6.00k|				  sizeof(algbuf));
  145|  6.00k|	}
  146|       |
  147|       |	/* key */
  148|  6.00k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  6.00k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (148:6): [True: 0, False: 6.00k]
  ------------------
  149|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  150|      0|	}
  151|  6.00k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  152|       |
  153|  6.00k|	if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) {
  ------------------
  |  |   95|  6.00k|#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL
  ------------------
  |  Branch (153:6): [True: 6.00k, False: 0]
  ------------------
  154|  6.00k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (154:7): [True: 0, False: 6.00k]
  ------------------
  155|      0|			RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  156|  6.00k|		} else {
  157|  6.00k|			RETERR(isc_base64_totext(&sr, tctx->width - 2,
  ------------------
  |  |  276|  6.00k|	{                                  \
  |  |  277|  6.00k|		isc_result_t _r = (x);     \
  |  |  278|  6.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.00k|	}
  ------------------
  158|  6.00k|						 tctx->linebreak, target));
  159|  6.00k|		}
  160|  6.00k|	} else {
  161|      0|		dns_rdata_toregion(rdata, &tmpr);
  162|      0|		snprintf(buf, sizeof(buf), "[key id = %u]",
  163|      0|			 dst_region_computeid(&tmpr));
  164|      0|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  165|      0|	}
  166|       |
  167|  6.00k|	if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) {
  ------------------
  |  |  197|  6.00k|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (167:6): [True: 0, False: 6.00k]
  ------------------
  168|      0|		RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  169|  6.00k|	} else if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  6.00k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (169:13): [True: 0, False: 6.00k]
  ------------------
  170|      0|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  171|      0|	}
  172|       |
  173|  6.00k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  6.00k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (173:6): [True: 0, False: 6.00k]
  ------------------
  174|      0|		RETERR(str_totext(")", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  175|      0|	}
  176|       |
  177|  6.00k|	if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) {
  ------------------
  |  |  197|  6.00k|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (177:6): [True: 0, False: 6.00k]
  ------------------
  178|      0|		if (rdata->type == dns_rdatatype_dnskey ||
  ------------------
  |  |  162|      0|#define dns_rdatatype_dnskey	((dns_rdatatype_t)dns_rdatatype_dnskey)
  ------------------
  |  Branch (178:7): [True: 0, False: 0]
  ------------------
  179|      0|		    rdata->type == dns_rdatatype_cdnskey)
  ------------------
  |  |  173|      0|#define dns_rdatatype_cdnskey	((dns_rdatatype_t)dns_rdatatype_cdnskey)
  ------------------
  |  Branch (179:7): [True: 0, False: 0]
  ------------------
  180|      0|		{
  181|      0|			RETERR(str_totext(" ; ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  182|      0|			RETERR(str_totext(keyinfo, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  183|      0|		}
  184|      0|		RETERR(str_totext("; alg = ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  185|      0|		RETERR(str_totext(algbuf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  186|      0|		RETERR(str_totext(" ; key id = ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  187|      0|		dns_rdata_toregion(rdata, &tmpr);
  188|      0|		snprintf(buf, sizeof(buf), "%u", dst_region_computeid(&tmpr));
  189|      0|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  190|      0|	}
  191|  6.00k|	return ISC_R_SUCCESS;
  192|  6.00k|}

rdata.c:fromwire_keydata:
  251|  1.84k|fromwire_keydata(ARGS_FROMWIRE) {
  252|  1.84k|	isc_region_t sr;
  253|       |
  254|  1.84k|	REQUIRE(type == dns_rdatatype_keydata);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  255|       |
  256|  1.84k|	UNUSED(type);
  ------------------
  |  |   69|  1.84k|#define UNUSED(x) (void)(x)
  ------------------
  257|  1.84k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.84k|#define UNUSED(x) (void)(x)
  ------------------
  258|  1.84k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.84k|#define UNUSED(x) (void)(x)
  ------------------
  259|       |
  260|  1.84k|	isc_buffer_activeregion(source, &sr);
  261|  1.84k|	isc_buffer_forward(source, sr.length);
  262|  1.84k|	return mem_tobuffer(target, sr.base, sr.length);
  263|  1.84k|}
rdata.c:towire_keydata:
  266|    841|towire_keydata(ARGS_TOWIRE) {
  267|    841|	isc_region_t sr;
  268|       |
  269|    841|	REQUIRE(rdata->type == dns_rdatatype_keydata);
  ------------------
  |  |  198|    841|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    841|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 841, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    841|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  270|       |
  271|    841|	UNUSED(cctx);
  ------------------
  |  |   69|    841|#define UNUSED(x) (void)(x)
  ------------------
  272|       |
  273|    841|	dns_rdata_toregion(rdata, &sr);
  274|    841|	return mem_tobuffer(target, sr.base, sr.length);
  275|    841|}
rdata.c:totext_keydata:
   90|  1.66k|totext_keydata(ARGS_TOTEXT) {
   91|  1.66k|	isc_region_t sr;
   92|  1.66k|	char buf[sizeof("64000")];
   93|  1.66k|	unsigned int flags;
   94|  1.66k|	unsigned char proto, algorithm;
   95|  1.66k|	unsigned long refresh, add, deltime;
   96|  1.66k|	char algbuf[DNS_NAME_FORMATSIZE];
   97|  1.66k|	const char *keyinfo;
   98|       |
   99|  1.66k|	REQUIRE(rdata->type == dns_rdatatype_keydata);
  ------------------
  |  |  198|  1.66k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.66k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.66k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.66k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|       |
  101|  1.66k|	if ((tctx->flags & DNS_STYLEFLAG_KEYDATA) == 0 || rdata->length < 16) {
  ------------------
  |  |  200|  1.66k|#define DNS_STYLEFLAG_KEYDATA 0x00000008ULL
  ------------------
  |  Branch (101:6): [True: 1.66k, False: 0]
  |  Branch (101:52): [True: 0, False: 0]
  ------------------
  102|  1.66k|		return unknown_totext(rdata, tctx, target);
  103|  1.66k|	}
  104|       |
  105|      0|	dns_rdata_toregion(rdata, &sr);
  106|       |
  107|       |	/* refresh timer */
  108|      0|	refresh = uint32_fromregion(&sr);
  109|      0|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  110|      0|	RETERR(dns_time32_totext(refresh, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  111|      0|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  112|       |
  113|       |	/* add hold-down */
  114|      0|	add = uint32_fromregion(&sr);
  115|      0|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  116|      0|	RETERR(dns_time32_totext(add, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  117|      0|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  118|       |
  119|       |	/* remove hold-down */
  120|      0|	deltime = uint32_fromregion(&sr);
  121|      0|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  122|      0|	RETERR(dns_time32_totext(deltime, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  123|      0|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  124|       |
  125|       |	/* flags */
  126|      0|	flags = uint16_fromregion(&sr);
  127|      0|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  128|      0|	snprintf(buf, sizeof(buf), "%u", flags);
  129|      0|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  130|      0|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  131|      0|	if ((flags & DNS_KEYFLAG_KSK) != 0) {
  ------------------
  |  Branch (131:6): [True: 0, False: 0]
  ------------------
  132|      0|		if ((flags & DNS_KEYFLAG_REVOKE) != 0) {
  ------------------
  |  Branch (132:7): [True: 0, False: 0]
  ------------------
  133|      0|			keyinfo = "revoked KSK";
  134|      0|		} else {
  135|      0|			keyinfo = "KSK";
  136|      0|		}
  137|      0|	} else {
  138|      0|		keyinfo = "ZSK";
  139|      0|	}
  140|       |
  141|       |	/* protocol */
  142|      0|	proto = sr.base[0];
  143|      0|	snprintf(buf, sizeof(buf), "%u", proto);
  144|      0|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  145|      0|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  146|      0|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  147|       |
  148|       |	/* algorithm */
  149|      0|	algorithm = sr.base[0];
  150|      0|	snprintf(buf, sizeof(buf), "%u", algorithm);
  151|      0|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  152|      0|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  153|       |
  154|       |	/* Do we have a placeholder KEYDATA record? */
  155|      0|	if (flags == 0 && proto == 0 && algorithm == 0) {
  ------------------
  |  Branch (155:6): [True: 0, False: 0]
  |  Branch (155:20): [True: 0, False: 0]
  |  Branch (155:34): [True: 0, False: 0]
  ------------------
  156|      0|		if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) {
  ------------------
  |  |  197|      0|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (156:7): [True: 0, False: 0]
  ------------------
  157|      0|			RETERR(str_totext(" ; placeholder", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  158|      0|		}
  159|      0|		return ISC_R_SUCCESS;
  160|      0|	}
  161|       |
  162|       |	/* No Key? */
  163|      0|	if ((flags & 0xc000) == 0xc000) {
  ------------------
  |  Branch (163:6): [True: 0, False: 0]
  ------------------
  164|      0|		return ISC_R_SUCCESS;
  165|      0|	}
  166|       |
  167|       |	/* key */
  168|      0|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|      0|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (168:6): [True: 0, False: 0]
  ------------------
  169|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  170|      0|	}
  171|      0|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  172|      0|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (172:6): [True: 0, False: 0]
  ------------------
  173|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  174|      0|	} else {
  175|      0|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  176|      0|					 target));
  177|      0|	}
  178|       |
  179|      0|	if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) {
  ------------------
  |  |  197|      0|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (179:6): [True: 0, False: 0]
  ------------------
  180|      0|		RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  181|      0|	} else if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|      0|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (181:13): [True: 0, False: 0]
  ------------------
  182|      0|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  183|      0|	}
  184|       |
  185|      0|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|      0|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (185:6): [True: 0, False: 0]
  ------------------
  186|      0|		RETERR(str_totext(")", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  187|      0|	}
  188|       |
  189|      0|	if ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0) {
  ------------------
  |  |  197|      0|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  |  Branch (189:6): [True: 0, False: 0]
  ------------------
  190|      0|		isc_region_t tmpr;
  191|      0|		char rbuf[ISC_FORMATHTTPTIMESTAMP_SIZE];
  192|      0|		char abuf[ISC_FORMATHTTPTIMESTAMP_SIZE];
  193|      0|		char dbuf[ISC_FORMATHTTPTIMESTAMP_SIZE];
  194|      0|		isc_time_t t;
  195|       |
  196|      0|		RETERR(str_totext(" ; ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  197|      0|		RETERR(str_totext(keyinfo, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  198|      0|		dns_secalg_format((dns_secalg_t)algorithm, algbuf,
  199|      0|				  sizeof(algbuf));
  200|      0|		RETERR(str_totext("; alg = ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  201|      0|		RETERR(str_totext(algbuf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  202|      0|		RETERR(str_totext("; key id = ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  203|      0|		dns_rdata_toregion(rdata, &tmpr);
  204|       |		/* Skip over refresh, addhd, and removehd */
  205|      0|		isc_region_consume(&tmpr, 12);
  ------------------
  |  |   51|      0|	do {                              \
  |  |   52|      0|		isc_region_t *_r = (r);   \
  |  |   53|      0|		unsigned int  _l = (l);   \
  |  |   54|      0|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|      0|		_r->base += _l;           \
  |  |   56|      0|		_r->length -= _l;         \
  |  |   57|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  206|      0|		snprintf(buf, sizeof(buf), "%u", dst_region_computeid(&tmpr));
  207|      0|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  208|       |
  209|      0|		if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|      0|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (209:7): [True: 0, False: 0]
  ------------------
  210|      0|			isc_stdtime_t now = isc_stdtime_now();
  211|       |
  212|      0|			RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  213|      0|			RETERR(str_totext("; next refresh: ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  214|      0|			isc_time_set(&t, refresh, 0);
  215|      0|			isc_time_formathttptimestamp(&t, rbuf, sizeof(rbuf));
  216|      0|			RETERR(str_totext(rbuf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  217|       |
  218|      0|			if (add == 0U) {
  ------------------
  |  Branch (218:8): [True: 0, False: 0]
  ------------------
  219|      0|				RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  220|      0|				RETERR(str_totext("; no trust", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  221|      0|			} else {
  222|      0|				RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  223|      0|				if (add < now) {
  ------------------
  |  Branch (223:9): [True: 0, False: 0]
  ------------------
  224|      0|					RETERR(str_totext("; trusted since: ",
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  225|      0|							  target));
  226|      0|				} else {
  227|      0|					RETERR(str_totext("; trust pending: ",
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  228|      0|							  target));
  229|      0|				}
  230|      0|				isc_time_set(&t, add, 0);
  231|      0|				isc_time_formathttptimestamp(&t, abuf,
  232|      0|							     sizeof(abuf));
  233|      0|				RETERR(str_totext(abuf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  234|      0|			}
  235|       |
  236|      0|			if (deltime != 0U) {
  ------------------
  |  Branch (236:8): [True: 0, False: 0]
  ------------------
  237|      0|				RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  238|      0|				RETERR(str_totext("; removal pending: ",
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  239|      0|						  target));
  240|      0|				isc_time_set(&t, deltime, 0);
  241|      0|				isc_time_formathttptimestamp(&t, dbuf,
  242|      0|							     sizeof(dbuf));
  243|      0|				RETERR(str_totext(dbuf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  244|      0|			}
  245|      0|		}
  246|      0|	}
  247|      0|	return ISC_R_SUCCESS;
  248|      0|}

rdata.c:fromwire_l32:
   82|  1.69k|fromwire_l32(ARGS_FROMWIRE) {
   83|  1.69k|	isc_region_t sregion;
   84|       |
   85|  1.69k|	REQUIRE(type == dns_rdatatype_l32);
  ------------------
  |  |  198|  1.69k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.69k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.69k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.69k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|  1.69k|	UNUSED(type);
  ------------------
  |  |   69|  1.69k|#define UNUSED(x) (void)(x)
  ------------------
   88|  1.69k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.69k|#define UNUSED(x) (void)(x)
  ------------------
   89|  1.69k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.69k|#define UNUSED(x) (void)(x)
  ------------------
   90|       |
   91|  1.69k|	isc_buffer_activeregion(source, &sregion);
   92|  1.69k|	if (sregion.length != 6) {
  ------------------
  |  Branch (92:6): [True: 5, False: 1.69k]
  ------------------
   93|      5|		return DNS_R_FORMERR;
   94|      5|	}
   95|  1.69k|	isc_buffer_forward(source, sregion.length);
   96|  1.69k|	return mem_tobuffer(target, sregion.base, sregion.length);
   97|  1.69k|}
rdata.c:towire_l32:
  100|    655|towire_l32(ARGS_TOWIRE) {
  101|    655|	REQUIRE(rdata->type == dns_rdatatype_l32);
  ------------------
  |  |  198|    655|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    655|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 655, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    655|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  102|    655|	REQUIRE(rdata->length == 6);
  ------------------
  |  |  198|    655|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    655|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 655, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    655|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  103|       |
  104|    655|	UNUSED(cctx);
  ------------------
  |  |   69|    655|#define UNUSED(x) (void)(x)
  ------------------
  105|       |
  106|    655|	return mem_tobuffer(target, rdata->data, rdata->length);
  107|    655|}
rdata.c:totext_l32:
   60|  1.29k|totext_l32(ARGS_TOTEXT) {
   61|  1.29k|	isc_region_t region;
   62|  1.29k|	char buf[sizeof("65000")];
   63|  1.29k|	unsigned short num;
   64|       |
   65|  1.29k|	REQUIRE(rdata->type == dns_rdatatype_l32);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   66|  1.29k|	REQUIRE(rdata->length == 6);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|  1.29k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.29k|#define UNUSED(x) (void)(x)
  ------------------
   69|       |
   70|  1.29k|	dns_rdata_toregion(rdata, &region);
   71|  1.29k|	num = uint16_fromregion(&region);
   72|  1.29k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.29k|	do {                              \
  |  |   52|  1.29k|		isc_region_t *_r = (r);   \
  |  |   53|  1.29k|		unsigned int  _l = (l);   \
  |  |   54|  1.29k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.29k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.29k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.29k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.29k|		_r->base += _l;           \
  |  |   56|  1.29k|		_r->length -= _l;         \
  |  |   57|  1.29k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.29k]
  |  |  ------------------
  ------------------
   73|  1.29k|	snprintf(buf, sizeof(buf), "%u", num);
   74|  1.29k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.29k|	{                                  \
  |  |  277|  1.29k|		isc_result_t _r = (x);     \
  |  |  278|  1.29k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.29k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.29k|	}
  ------------------
   75|       |
   76|  1.29k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.29k|	{                                  \
  |  |  277|  1.29k|		isc_result_t _r = (x);     \
  |  |  278|  1.29k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.29k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.29k|	}
  ------------------
   77|       |
   78|       |	return inet_totext(AF_INET, tctx->flags, &region, target);
   79|  1.29k|}

rdata.c:fromwire_l64:
   80|  1.19k|fromwire_l64(ARGS_FROMWIRE) {
   81|  1.19k|	isc_region_t sregion;
   82|       |
   83|  1.19k|	REQUIRE(type == dns_rdatatype_l64);
  ------------------
  |  |  198|  1.19k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.19k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.19k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.19k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|  1.19k|	UNUSED(type);
  ------------------
  |  |   69|  1.19k|#define UNUSED(x) (void)(x)
  ------------------
   86|  1.19k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.19k|#define UNUSED(x) (void)(x)
  ------------------
   87|  1.19k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.19k|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|  1.19k|	isc_buffer_activeregion(source, &sregion);
   90|  1.19k|	if (sregion.length != 10) {
  ------------------
  |  Branch (90:6): [True: 14, False: 1.17k]
  ------------------
   91|     14|		return DNS_R_FORMERR;
   92|     14|	}
   93|  1.17k|	isc_buffer_forward(source, sregion.length);
   94|  1.17k|	return mem_tobuffer(target, sregion.base, sregion.length);
   95|  1.19k|}
rdata.c:towire_l64:
   98|    414|towire_l64(ARGS_TOWIRE) {
   99|    414|	REQUIRE(rdata->type == dns_rdatatype_l64);
  ------------------
  |  |  198|    414|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    414|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 414, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    414|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|    414|	REQUIRE(rdata->length == 10);
  ------------------
  |  |  198|    414|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    414|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 414, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    414|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  101|       |
  102|    414|	UNUSED(cctx);
  ------------------
  |  |   69|    414|#define UNUSED(x) (void)(x)
  ------------------
  103|       |
  104|    414|	return mem_tobuffer(target, rdata->data, rdata->length);
  105|    414|}
rdata.c:totext_l64:
   53|    766|totext_l64(ARGS_TOTEXT) {
   54|    766|	isc_region_t region;
   55|    766|	char buf[sizeof("xxxx:xxxx:xxxx:xxxx")];
   56|    766|	unsigned short num;
   57|       |
   58|    766|	REQUIRE(rdata->type == dns_rdatatype_l64);
  ------------------
  |  |  198|    766|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    766|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 766, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    766|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   59|    766|	REQUIRE(rdata->length == 10);
  ------------------
  |  |  198|    766|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    766|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 766, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    766|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   60|       |
   61|    766|	UNUSED(tctx);
  ------------------
  |  |   69|    766|#define UNUSED(x) (void)(x)
  ------------------
   62|       |
   63|    766|	dns_rdata_toregion(rdata, &region);
   64|    766|	num = uint16_fromregion(&region);
   65|    766|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    766|	do {                              \
  |  |   52|    766|		isc_region_t *_r = (r);   \
  |  |   53|    766|		unsigned int  _l = (l);   \
  |  |   54|    766|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    766|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    766|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 766, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    766|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    766|		_r->base += _l;           \
  |  |   56|    766|		_r->length -= _l;         \
  |  |   57|    766|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 766]
  |  |  ------------------
  ------------------
   66|    766|	snprintf(buf, sizeof(buf), "%u", num);
   67|    766|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    766|	{                                  \
  |  |  277|    766|		isc_result_t _r = (x);     \
  |  |  278|    766|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 766]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    766|	}
  ------------------
   68|       |
   69|    766|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    766|	{                                  \
  |  |  277|    766|		isc_result_t _r = (x);     \
  |  |  278|    766|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 766]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    766|	}
  ------------------
   70|       |
   71|    766|	snprintf(buf, sizeof(buf), "%x:%x:%x:%x",
   72|    766|		 region.base[0] << 8 | region.base[1],
   73|    766|		 region.base[2] << 8 | region.base[3],
   74|    766|		 region.base[4] << 8 | region.base[5],
   75|    766|		 region.base[6] << 8 | region.base[7]);
   76|    766|	return str_totext(buf, target);
   77|    766|}

rdata.c:fromwire_loc:
  559|  5.60k|fromwire_loc(ARGS_FROMWIRE) {
  560|  5.60k|	isc_region_t sr;
  561|  5.60k|	unsigned char c;
  562|  5.60k|	unsigned long latitude;
  563|  5.60k|	unsigned long longitude;
  564|       |
  565|  5.60k|	REQUIRE(type == dns_rdatatype_loc);
  ------------------
  |  |  198|  5.60k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.60k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.60k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.60k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  566|       |
  567|  5.60k|	UNUSED(type);
  ------------------
  |  |   69|  5.60k|#define UNUSED(x) (void)(x)
  ------------------
  568|  5.60k|	UNUSED(rdclass);
  ------------------
  |  |   69|  5.60k|#define UNUSED(x) (void)(x)
  ------------------
  569|  5.60k|	UNUSED(dctx);
  ------------------
  |  |   69|  5.60k|#define UNUSED(x) (void)(x)
  ------------------
  570|       |
  571|  5.60k|	isc_buffer_activeregion(source, &sr);
  572|  5.60k|	if (sr.length < 1) {
  ------------------
  |  Branch (572:6): [True: 2, False: 5.59k]
  ------------------
  573|      2|		return ISC_R_UNEXPECTEDEND;
  574|      2|	}
  575|  5.59k|	if (sr.base[0] != 0) {
  ------------------
  |  Branch (575:6): [True: 1.92k, False: 3.67k]
  ------------------
  576|       |		/* Treat as unknown. */
  577|  1.92k|		isc_buffer_forward(source, sr.length);
  578|  1.92k|		return mem_tobuffer(target, sr.base, sr.length);
  579|  1.92k|	}
  580|  3.67k|	if (sr.length < 16) {
  ------------------
  |  Branch (580:6): [True: 3, False: 3.67k]
  ------------------
  581|      3|		return ISC_R_UNEXPECTEDEND;
  582|      3|	}
  583|       |
  584|       |	/*
  585|       |	 * Size.
  586|       |	 */
  587|  3.67k|	c = sr.base[1];
  588|  3.67k|	if (c != 0) {
  ------------------
  |  Branch (588:6): [True: 1.14k, False: 2.52k]
  ------------------
  589|  1.14k|		if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 ||
  ------------------
  |  Branch (589:7): [True: 1, False: 1.14k]
  |  Branch (589:24): [True: 1, False: 1.14k]
  ------------------
  590|  1.14k|		    ((c >> 4) & 0xf) == 0)
  ------------------
  |  Branch (590:7): [True: 2, False: 1.14k]
  ------------------
  591|      4|		{
  592|      4|			return ISC_R_RANGE;
  593|       |
  594|       |			/*
  595|       |			 * Horizontal precision.
  596|       |			 */
  597|      4|		}
  598|  1.14k|	}
  599|       |
  600|       |	/*
  601|       |	 * Horizontal precision.
  602|       |	 */
  603|  3.66k|	c = sr.base[2];
  604|  3.66k|	if (c != 0) {
  ------------------
  |  Branch (604:6): [True: 2.83k, False: 836]
  ------------------
  605|  2.83k|		if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 ||
  ------------------
  |  Branch (605:7): [True: 2, False: 2.83k]
  |  Branch (605:24): [True: 1, False: 2.82k]
  ------------------
  606|  2.82k|		    ((c >> 4) & 0xf) == 0)
  ------------------
  |  Branch (606:7): [True: 1, False: 2.82k]
  ------------------
  607|      4|		{
  608|      4|			return ISC_R_RANGE;
  609|       |
  610|       |			/*
  611|       |			 * Vertical precision.
  612|       |			 */
  613|      4|		}
  614|  2.83k|	}
  615|       |
  616|       |	/*
  617|       |	 * Vertical precision.
  618|       |	 */
  619|  3.66k|	c = sr.base[3];
  620|  3.66k|	if (c != 0) {
  ------------------
  |  Branch (620:6): [True: 2.67k, False: 985]
  ------------------
  621|  2.67k|		if ((c & 0xf) > 9 || ((c >> 4) & 0xf) > 9 ||
  ------------------
  |  Branch (621:7): [True: 1, False: 2.67k]
  |  Branch (621:24): [True: 1, False: 2.67k]
  ------------------
  622|  2.67k|		    ((c >> 4) & 0xf) == 0)
  ------------------
  |  Branch (622:7): [True: 1, False: 2.67k]
  ------------------
  623|      3|		{
  624|      3|			return ISC_R_RANGE;
  625|      3|		}
  626|  2.67k|	}
  627|  3.66k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.66k|	do {                              \
  |  |   52|  3.66k|		isc_region_t *_r = (r);   \
  |  |   53|  3.66k|		unsigned int  _l = (l);   \
  |  |   54|  3.66k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.66k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.66k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.66k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.66k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.66k|		_r->base += _l;           \
  |  |   56|  3.66k|		_r->length -= _l;         \
  |  |   57|  3.66k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.66k]
  |  |  ------------------
  ------------------
  628|       |
  629|       |	/*
  630|       |	 * Latitude.
  631|       |	 */
  632|  3.66k|	latitude = uint32_fromregion(&sr);
  633|  3.66k|	if (latitude < (0x80000000UL - 90 * 3600000) ||
  ------------------
  |  Branch (633:6): [True: 23, False: 3.63k]
  ------------------
  634|  3.63k|	    latitude > (0x80000000UL + 90 * 3600000))
  ------------------
  |  Branch (634:6): [True: 1, False: 3.63k]
  ------------------
  635|     24|	{
  636|     24|		return ISC_R_RANGE;
  637|     24|	}
  638|  3.63k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.63k|	do {                              \
  |  |   52|  3.63k|		isc_region_t *_r = (r);   \
  |  |   53|  3.63k|		unsigned int  _l = (l);   \
  |  |   54|  3.63k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.63k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.63k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.63k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.63k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.63k|		_r->base += _l;           \
  |  |   56|  3.63k|		_r->length -= _l;         \
  |  |   57|  3.63k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.63k]
  |  |  ------------------
  ------------------
  639|       |
  640|       |	/*
  641|       |	 * Longitude.
  642|       |	 */
  643|  3.63k|	longitude = uint32_fromregion(&sr);
  644|  3.63k|	if (longitude < (0x80000000UL - 180 * 3600000) ||
  ------------------
  |  Branch (644:6): [True: 36, False: 3.60k]
  ------------------
  645|  3.60k|	    longitude > (0x80000000UL + 180 * 3600000))
  ------------------
  |  Branch (645:6): [True: 11, False: 3.59k]
  ------------------
  646|     47|	{
  647|     47|		return ISC_R_RANGE;
  648|     47|	}
  649|       |
  650|       |	/*
  651|       |	 * Altitude.
  652|       |	 * All values possible.
  653|       |	 */
  654|       |
  655|  3.59k|	isc_buffer_activeregion(source, &sr);
  656|  3.59k|	isc_buffer_forward(source, 16);
  657|  3.59k|	return mem_tobuffer(target, sr.base, 16);
  658|  3.63k|}
rdata.c:towire_loc:
  661|  2.58k|towire_loc(ARGS_TOWIRE) {
  662|  2.58k|	UNUSED(cctx);
  ------------------
  |  |   69|  2.58k|#define UNUSED(x) (void)(x)
  ------------------
  663|       |
  664|  2.58k|	REQUIRE(rdata->type == dns_rdatatype_loc);
  ------------------
  |  |  198|  2.58k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.58k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.58k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.58k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  665|  2.58k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.58k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.58k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.58k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.58k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  666|       |
  667|  2.58k|	return mem_tobuffer(target, rdata->data, rdata->length);
  668|  2.58k|}
rdata.c:totext_loc:
  440|  5.00k|totext_loc(ARGS_TOTEXT) {
  441|  5.00k|	int d1, m1, s1, fs1;
  442|  5.00k|	int d2, m2, s2, fs2;
  443|  5.00k|	unsigned long latitude;
  444|  5.00k|	unsigned long longitude;
  445|  5.00k|	unsigned long altitude;
  446|  5.00k|	bool north;
  447|  5.00k|	bool east;
  448|  5.00k|	bool below;
  449|  5.00k|	isc_region_t sr;
  450|  5.00k|	char sbuf[sizeof("90000000m")];
  451|  5.00k|	char hbuf[sizeof("90000000m")];
  452|  5.00k|	char vbuf[sizeof("90000000m")];
  453|       |	/* "89 59 59.999 N 179 59 59.999 E " */
  454|       |	/* "-42849672.95m 90000000m 90000000m 90000000m"; */
  455|  5.00k|	char buf[8 * 6 + 12 * 1 + 2 * 10 + sizeof(sbuf) + sizeof(hbuf) +
  456|  5.00k|		 sizeof(vbuf)];
  457|  5.00k|	unsigned char size, hp, vp;
  458|  5.00k|	unsigned long poweroften[8] = { 1,     10,     100,	1000,
  459|  5.00k|					10000, 100000, 1000000, 10000000 };
  460|       |
  461|  5.00k|	UNUSED(tctx);
  ------------------
  |  |   69|  5.00k|#define UNUSED(x) (void)(x)
  ------------------
  462|       |
  463|  5.00k|	REQUIRE(rdata->type == dns_rdatatype_loc);
  ------------------
  |  |  198|  5.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  464|  5.00k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  5.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  465|       |
  466|  5.00k|	dns_rdata_toregion(rdata, &sr);
  467|       |
  468|  5.00k|	if (sr.base[0] != 0) {
  ------------------
  |  Branch (468:6): [True: 1.48k, False: 3.52k]
  ------------------
  469|  1.48k|		return ISC_R_NOTIMPLEMENTED;
  470|  1.48k|	}
  471|       |
  472|  3.52k|	REQUIRE(rdata->length == 16);
  ------------------
  |  |  198|  3.52k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.52k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.52k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  473|       |
  474|  3.52k|	size = sr.base[1];
  475|  3.52k|	INSIST((size & 0x0f) < 10 && (size >> 4) < 10);
  ------------------
  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  7.05k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 3.52k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 3.52k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  476|  3.52k|	if ((size & 0x0f) > 1) {
  ------------------
  |  Branch (476:6): [True: 732, False: 2.79k]
  ------------------
  477|    732|		snprintf(sbuf, sizeof(sbuf), "%lum",
  478|    732|			 (size >> 4) * poweroften[(size & 0x0f) - 2]);
  479|  2.79k|	} else {
  480|  2.79k|		snprintf(sbuf, sizeof(sbuf), "0.%02lum",
  481|  2.79k|			 (size >> 4) * poweroften[(size & 0x0f)]);
  482|  2.79k|	}
  483|  3.52k|	hp = sr.base[2];
  484|  3.52k|	INSIST((hp & 0x0f) < 10 && (hp >> 4) < 10);
  ------------------
  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  7.05k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 3.52k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 3.52k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  485|  3.52k|	if ((hp & 0x0f) > 1) {
  ------------------
  |  Branch (485:6): [True: 2.44k, False: 1.08k]
  ------------------
  486|  2.44k|		snprintf(hbuf, sizeof(hbuf), "%lum",
  487|  2.44k|			 (hp >> 4) * poweroften[(hp & 0x0f) - 2]);
  488|  2.44k|	} else {
  489|  1.08k|		snprintf(hbuf, sizeof(hbuf), "0.%02lum",
  490|  1.08k|			 (hp >> 4) * poweroften[(hp & 0x0f)]);
  491|  1.08k|	}
  492|  3.52k|	vp = sr.base[3];
  493|  3.52k|	INSIST((vp & 0x0f) < 10 && (vp >> 4) < 10);
  ------------------
  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  7.05k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 3.52k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 3.52k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  494|  3.52k|	if ((vp & 0x0f) > 1) {
  ------------------
  |  Branch (494:6): [True: 853, False: 2.67k]
  ------------------
  495|    853|		snprintf(vbuf, sizeof(vbuf), "%lum",
  496|    853|			 (vp >> 4) * poweroften[(vp & 0x0f) - 2]);
  497|  2.67k|	} else {
  498|  2.67k|		snprintf(vbuf, sizeof(vbuf), "0.%02lum",
  499|  2.67k|			 (vp >> 4) * poweroften[(vp & 0x0f)]);
  500|  2.67k|	}
  501|  3.52k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.52k|	do {                              \
  |  |   52|  3.52k|		isc_region_t *_r = (r);   \
  |  |   53|  3.52k|		unsigned int  _l = (l);   \
  |  |   54|  3.52k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.52k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.52k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.52k|		_r->base += _l;           \
  |  |   56|  3.52k|		_r->length -= _l;         \
  |  |   57|  3.52k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.52k]
  |  |  ------------------
  ------------------
  502|       |
  503|  3.52k|	latitude = uint32_fromregion(&sr);
  504|  3.52k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.52k|	do {                              \
  |  |   52|  3.52k|		isc_region_t *_r = (r);   \
  |  |   53|  3.52k|		unsigned int  _l = (l);   \
  |  |   54|  3.52k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.52k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.52k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.52k|		_r->base += _l;           \
  |  |   56|  3.52k|		_r->length -= _l;         \
  |  |   57|  3.52k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.52k]
  |  |  ------------------
  ------------------
  505|  3.52k|	if (latitude >= 0x80000000) {
  ------------------
  |  Branch (505:6): [True: 2.14k, False: 1.38k]
  ------------------
  506|  2.14k|		north = true;
  507|  2.14k|		latitude -= 0x80000000;
  508|  2.14k|	} else {
  509|  1.38k|		north = false;
  510|  1.38k|		latitude = 0x80000000 - latitude;
  511|  1.38k|	}
  512|  3.52k|	fs1 = (int)(latitude % 1000);
  513|  3.52k|	latitude /= 1000;
  514|  3.52k|	s1 = (int)(latitude % 60);
  515|  3.52k|	latitude /= 60;
  516|  3.52k|	m1 = (int)(latitude % 60);
  517|  3.52k|	latitude /= 60;
  518|  3.52k|	d1 = (int)latitude;
  519|  3.52k|	INSIST(latitude <= 90U);
  ------------------
  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  3.52k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 3.52k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  520|       |
  521|  3.52k|	longitude = uint32_fromregion(&sr);
  522|  3.52k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.52k|	do {                              \
  |  |   52|  3.52k|		isc_region_t *_r = (r);   \
  |  |   53|  3.52k|		unsigned int  _l = (l);   \
  |  |   54|  3.52k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.52k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.52k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.52k|		_r->base += _l;           \
  |  |   56|  3.52k|		_r->length -= _l;         \
  |  |   57|  3.52k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.52k]
  |  |  ------------------
  ------------------
  523|  3.52k|	if (longitude >= 0x80000000) {
  ------------------
  |  Branch (523:6): [True: 925, False: 2.60k]
  ------------------
  524|    925|		east = true;
  525|    925|		longitude -= 0x80000000;
  526|  2.60k|	} else {
  527|  2.60k|		east = false;
  528|  2.60k|		longitude = 0x80000000 - longitude;
  529|  2.60k|	}
  530|  3.52k|	fs2 = (int)(longitude % 1000);
  531|  3.52k|	longitude /= 1000;
  532|  3.52k|	s2 = (int)(longitude % 60);
  533|  3.52k|	longitude /= 60;
  534|  3.52k|	m2 = (int)(longitude % 60);
  535|  3.52k|	longitude /= 60;
  536|  3.52k|	d2 = (int)longitude;
  537|  3.52k|	INSIST(longitude <= 180U);
  ------------------
  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  3.52k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 3.52k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  538|       |
  539|  3.52k|	altitude = uint32_fromregion(&sr);
  540|  3.52k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.52k|	do {                              \
  |  |   52|  3.52k|		isc_region_t *_r = (r);   \
  |  |   53|  3.52k|		unsigned int  _l = (l);   \
  |  |   54|  3.52k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.52k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.52k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.52k|		_r->base += _l;           \
  |  |   56|  3.52k|		_r->length -= _l;         \
  |  |   57|  3.52k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.52k]
  |  |  ------------------
  ------------------
  541|  3.52k|	if (altitude < 10000000U) {
  ------------------
  |  Branch (541:6): [True: 349, False: 3.17k]
  ------------------
  542|    349|		below = true;
  543|    349|		altitude = 10000000 - altitude;
  544|  3.17k|	} else {
  545|  3.17k|		below = false;
  546|  3.17k|		altitude -= 10000000;
  547|  3.17k|	}
  548|       |
  549|  3.52k|	snprintf(buf, sizeof(buf),
  550|  3.52k|		 "%d %d %d.%03d %s %d %d %d.%03d %s %s%lu.%02lum %s %s %s", d1,
  551|  3.52k|		 m1, s1, fs1, north ? "N" : "S", d2, m2, s2, fs2,
  ------------------
  |  Branch (551:17): [True: 2.14k, False: 1.38k]
  ------------------
  552|  3.52k|		 east ? "E" : "W", below ? "-" : "", altitude / 100,
  ------------------
  |  Branch (552:4): [True: 925, False: 2.60k]
  |  Branch (552:22): [True: 349, False: 3.17k]
  ------------------
  553|  3.52k|		 altitude % 100, sbuf, hbuf, vbuf);
  554|       |
  555|  3.52k|	return str_totext(buf, target);
  556|  5.00k|}

rdata.c:fromwire_lp:
   81|    908|fromwire_lp(ARGS_FROMWIRE) {
   82|    908|	dns_name_t name;
   83|    908|	isc_region_t sregion;
   84|       |
   85|    908|	REQUIRE(type == dns_rdatatype_lp);
  ------------------
  |  |  198|    908|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    908|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 908, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    908|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|    908|	UNUSED(type);
  ------------------
  |  |   69|    908|#define UNUSED(x) (void)(x)
  ------------------
   88|    908|	UNUSED(rdclass);
  ------------------
  |  |   69|    908|#define UNUSED(x) (void)(x)
  ------------------
   89|       |
   90|    908|	dctx = dns_decompress_setpermitted(dctx, true);
   91|       |
   92|    908|	dns_name_init(&name);
   93|       |
   94|    908|	isc_buffer_activeregion(source, &sregion);
   95|    908|	if (sregion.length < 2) {
  ------------------
  |  Branch (95:6): [True: 5, False: 903]
  ------------------
   96|      5|		return ISC_R_UNEXPECTEDEND;
   97|      5|	}
   98|    903|	RETERR(mem_tobuffer(target, sregion.base, 2));
  ------------------
  |  |  276|    903|	{                                  \
  |  |  277|    903|		isc_result_t _r = (x);     \
  |  |  278|    903|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 66, False: 837]
  |  |  ------------------
  |  |  279|     66|			return ((_r));     \
  |  |  280|     66|		}                          \
  |  |  281|    903|	}
  ------------------
   99|    837|	isc_buffer_forward(source, 2);
  100|    837|	return dns_name_fromwire(&name, source, dctx, target);
  101|    903|}
rdata.c:towire_lp:
  104|    388|towire_lp(ARGS_TOWIRE) {
  105|    388|	REQUIRE(rdata->type == dns_rdatatype_lp);
  ------------------
  |  |  198|    388|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    388|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 388, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    388|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|    388|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    388|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    388|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 388, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    388|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  107|       |
  108|    388|	UNUSED(cctx);
  ------------------
  |  |   69|    388|#define UNUSED(x) (void)(x)
  ------------------
  109|       |
  110|    388|	return mem_tobuffer(target, rdata->data, rdata->length);
  111|    388|}
rdata.c:totext_lp:
   52|    772|totext_lp(ARGS_TOTEXT) {
   53|    772|	isc_region_t region;
   54|    772|	dns_name_t name;
   55|    772|	dns_name_t prefix;
   56|    772|	unsigned int opts;
   57|    772|	char buf[sizeof("64000")];
   58|    772|	unsigned short num;
   59|       |
   60|    772|	REQUIRE(rdata->type == dns_rdatatype_lp);
  ------------------
  |  |  198|    772|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    772|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 772, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    772|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   61|    772|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    772|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    772|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 772, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    772|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   62|       |
   63|    772|	dns_name_init(&name);
   64|    772|	dns_name_init(&prefix);
   65|       |
   66|    772|	dns_rdata_toregion(rdata, &region);
   67|    772|	num = uint16_fromregion(&region);
   68|    772|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    772|	do {                              \
  |  |   52|    772|		isc_region_t *_r = (r);   \
  |  |   53|    772|		unsigned int  _l = (l);   \
  |  |   54|    772|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    772|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    772|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 772, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    772|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    772|		_r->base += _l;           \
  |  |   56|    772|		_r->length -= _l;         \
  |  |   57|    772|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 772]
  |  |  ------------------
  ------------------
   69|    772|	snprintf(buf, sizeof(buf), "%u", num);
   70|    772|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    772|	{                                  \
  |  |  277|    772|		isc_result_t _r = (x);     \
  |  |  278|    772|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 772]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    772|	}
  ------------------
   71|       |
   72|    772|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    772|	{                                  \
  |  |  277|    772|		isc_result_t _r = (x);     \
  |  |  278|    772|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 772]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    772|	}
  ------------------
   73|       |
   74|    772|	dns_name_fromregion(&name, &region);
   75|    772|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (75:9): [True: 0, False: 772]
  ------------------
   76|    772|							 : 0;
   77|    772|	return dns_name_totext(&prefix, opts, target);
   78|    772|}

rdata.c:fromwire_mb:
   63|  1.02k|fromwire_mb(ARGS_FROMWIRE) {
   64|  1.02k|	dns_name_t name;
   65|       |
   66|  1.02k|	REQUIRE(type == dns_rdatatype_mb);
  ------------------
  |  |  198|  1.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|  1.02k|	UNUSED(type);
  ------------------
  |  |   69|  1.02k|#define UNUSED(x) (void)(x)
  ------------------
   69|  1.02k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.02k|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|  1.02k|	dctx = dns_decompress_setpermitted(dctx, true);
   72|       |
   73|  1.02k|	dns_name_init(&name);
   74|  1.02k|	return dns_name_fromwire(&name, source, dctx, target);
   75|  1.02k|}
rdata.c:towire_mb:
   78|    512|towire_mb(ARGS_TOWIRE) {
   79|    512|	dns_name_t name;
   80|    512|	isc_region_t region;
   81|       |
   82|    512|	REQUIRE(rdata->type == dns_rdatatype_mb);
  ------------------
  |  |  198|    512|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    512|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 512, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    512|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|    512|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    512|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    512|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 512, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    512|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|    512|	dns_compress_setpermitted(cctx, true);
   86|       |
   87|    512|	dns_name_init(&name);
   88|    512|	dns_rdata_toregion(rdata, &region);
   89|    512|	dns_name_fromregion(&name, &region);
   90|       |
   91|    512|	return dns_name_towire(&name, cctx, target);
   92|    512|}
rdata.c:totext_mb:
   42|  1.01k|totext_mb(ARGS_TOTEXT) {
   43|  1.01k|	isc_region_t region;
   44|  1.01k|	dns_name_t name;
   45|  1.01k|	dns_name_t prefix;
   46|  1.01k|	unsigned int opts;
   47|       |
   48|  1.01k|	REQUIRE(rdata->type == dns_rdatatype_mb);
  ------------------
  |  |  198|  1.01k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.01k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.01k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.01k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   49|  1.01k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.01k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.01k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.01k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.01k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|       |
   51|  1.01k|	dns_name_init(&name);
   52|  1.01k|	dns_name_init(&prefix);
   53|       |
   54|  1.01k|	dns_rdata_toregion(rdata, &region);
   55|  1.01k|	dns_name_fromregion(&name, &region);
   56|       |
   57|  1.01k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (57:9): [True: 0, False: 1.01k]
  ------------------
   58|  1.01k|							 : 0;
   59|  1.01k|	return dns_name_totext(&prefix, opts, target);
   60|  1.01k|}

rdata.c:fromwire_md:
   63|  1.83k|fromwire_md(ARGS_FROMWIRE) {
   64|  1.83k|	dns_name_t name;
   65|       |
   66|  1.83k|	REQUIRE(type == dns_rdatatype_md);
  ------------------
  |  |  198|  1.83k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.83k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.83k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.83k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|  1.83k|	UNUSED(type);
  ------------------
  |  |   69|  1.83k|#define UNUSED(x) (void)(x)
  ------------------
   69|  1.83k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.83k|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|  1.83k|	dctx = dns_decompress_setpermitted(dctx, true);
   72|       |
   73|  1.83k|	dns_name_init(&name);
   74|  1.83k|	return dns_name_fromwire(&name, source, dctx, target);
   75|  1.83k|}
rdata.c:towire_md:
   78|    942|towire_md(ARGS_TOWIRE) {
   79|    942|	dns_name_t name;
   80|    942|	isc_region_t region;
   81|       |
   82|    942|	REQUIRE(rdata->type == dns_rdatatype_md);
  ------------------
  |  |  198|    942|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    942|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 942, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    942|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|    942|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    942|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    942|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 942, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    942|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|    942|	dns_compress_setpermitted(cctx, true);
   86|       |
   87|    942|	dns_name_init(&name);
   88|    942|	dns_rdata_toregion(rdata, &region);
   89|    942|	dns_name_fromregion(&name, &region);
   90|       |
   91|    942|	return dns_name_towire(&name, cctx, target);
   92|    942|}
rdata.c:totext_md:
   42|  1.81k|totext_md(ARGS_TOTEXT) {
   43|  1.81k|	isc_region_t region;
   44|  1.81k|	dns_name_t name;
   45|  1.81k|	dns_name_t prefix;
   46|  1.81k|	unsigned int opts;
   47|       |
   48|  1.81k|	REQUIRE(rdata->type == dns_rdatatype_md);
  ------------------
  |  |  198|  1.81k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.81k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.81k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.81k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   49|  1.81k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.81k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.81k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.81k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.81k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|       |
   51|  1.81k|	dns_name_init(&name);
   52|  1.81k|	dns_name_init(&prefix);
   53|       |
   54|  1.81k|	dns_rdata_toregion(rdata, &region);
   55|  1.81k|	dns_name_fromregion(&name, &region);
   56|       |
   57|  1.81k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (57:9): [True: 0, False: 1.81k]
  ------------------
   58|  1.81k|							 : 0;
   59|  1.81k|	return dns_name_totext(&prefix, opts, target);
   60|  1.81k|}

rdata.c:fromwire_mf:
   63|  1.03k|fromwire_mf(ARGS_FROMWIRE) {
   64|  1.03k|	dns_name_t name;
   65|       |
   66|  1.03k|	REQUIRE(type == dns_rdatatype_mf);
  ------------------
  |  |  198|  1.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.03k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|  1.03k|	UNUSED(type);
  ------------------
  |  |   69|  1.03k|#define UNUSED(x) (void)(x)
  ------------------
   69|  1.03k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.03k|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|  1.03k|	dctx = dns_decompress_setpermitted(dctx, true);
   72|       |
   73|  1.03k|	dns_name_init(&name);
   74|  1.03k|	return dns_name_fromwire(&name, source, dctx, target);
   75|  1.03k|}
rdata.c:towire_mf:
   78|    517|towire_mf(ARGS_TOWIRE) {
   79|    517|	dns_name_t name;
   80|    517|	isc_region_t region;
   81|       |
   82|    517|	REQUIRE(rdata->type == dns_rdatatype_mf);
  ------------------
  |  |  198|    517|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    517|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 517, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    517|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|    517|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    517|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    517|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 517, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    517|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|    517|	dns_compress_setpermitted(cctx, true);
   86|       |
   87|    517|	dns_name_init(&name);
   88|    517|	dns_rdata_toregion(rdata, &region);
   89|    517|	dns_name_fromregion(&name, &region);
   90|       |
   91|    517|	return dns_name_towire(&name, cctx, target);
   92|    517|}
rdata.c:totext_mf:
   42|  1.02k|totext_mf(ARGS_TOTEXT) {
   43|  1.02k|	isc_region_t region;
   44|  1.02k|	dns_name_t name;
   45|  1.02k|	dns_name_t prefix;
   46|  1.02k|	unsigned int opts;
   47|       |
   48|  1.02k|	REQUIRE(rdata->type == dns_rdatatype_mf);
  ------------------
  |  |  198|  1.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   49|  1.02k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|       |
   51|  1.02k|	dns_name_init(&name);
   52|  1.02k|	dns_name_init(&prefix);
   53|       |
   54|  1.02k|	dns_rdata_toregion(rdata, &region);
   55|  1.02k|	dns_name_fromregion(&name, &region);
   56|       |
   57|  1.02k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (57:9): [True: 0, False: 1.02k]
  ------------------
   58|  1.02k|							 : 0;
   59|  1.02k|	return dns_name_totext(&prefix, opts, target);
   60|  1.02k|}

rdata.c:fromwire_mg:
   63|    995|fromwire_mg(ARGS_FROMWIRE) {
   64|    995|	dns_name_t name;
   65|       |
   66|    995|	REQUIRE(type == dns_rdatatype_mg);
  ------------------
  |  |  198|    995|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    995|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 995, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    995|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|    995|	UNUSED(type);
  ------------------
  |  |   69|    995|#define UNUSED(x) (void)(x)
  ------------------
   69|    995|	UNUSED(rdclass);
  ------------------
  |  |   69|    995|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|    995|	dctx = dns_decompress_setpermitted(dctx, true);
   72|       |
   73|    995|	dns_name_init(&name);
   74|    995|	return dns_name_fromwire(&name, source, dctx, target);
   75|    995|}
rdata.c:towire_mg:
   78|    498|towire_mg(ARGS_TOWIRE) {
   79|    498|	dns_name_t name;
   80|    498|	isc_region_t region;
   81|       |
   82|    498|	REQUIRE(rdata->type == dns_rdatatype_mg);
  ------------------
  |  |  198|    498|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    498|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 498, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    498|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|    498|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    498|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    498|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 498, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    498|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|    498|	dns_compress_setpermitted(cctx, true);
   86|       |
   87|    498|	dns_name_init(&name);
   88|    498|	dns_rdata_toregion(rdata, &region);
   89|    498|	dns_name_fromregion(&name, &region);
   90|       |
   91|    498|	return dns_name_towire(&name, cctx, target);
   92|    498|}
rdata.c:totext_mg:
   42|    987|totext_mg(ARGS_TOTEXT) {
   43|    987|	isc_region_t region;
   44|    987|	dns_name_t name;
   45|    987|	dns_name_t prefix;
   46|    987|	unsigned int opts;
   47|       |
   48|    987|	REQUIRE(rdata->type == dns_rdatatype_mg);
  ------------------
  |  |  198|    987|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    987|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 987, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    987|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   49|    987|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    987|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    987|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 987, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    987|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|       |
   51|    987|	dns_name_init(&name);
   52|    987|	dns_name_init(&prefix);
   53|       |
   54|    987|	dns_rdata_toregion(rdata, &region);
   55|    987|	dns_name_fromregion(&name, &region);
   56|       |
   57|    987|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (57:9): [True: 0, False: 987]
  ------------------
   58|    987|							 : 0;
   59|    987|	return dns_name_totext(&prefix, opts, target);
   60|    987|}

rdata.c:fromwire_minfo:
   95|    519|fromwire_minfo(ARGS_FROMWIRE) {
   96|    519|	dns_name_t rmail;
   97|    519|	dns_name_t email;
   98|       |
   99|    519|	REQUIRE(type == dns_rdatatype_minfo);
  ------------------
  |  |  198|    519|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    519|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 519, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    519|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|       |
  101|    519|	UNUSED(type);
  ------------------
  |  |   69|    519|#define UNUSED(x) (void)(x)
  ------------------
  102|    519|	UNUSED(rdclass);
  ------------------
  |  |   69|    519|#define UNUSED(x) (void)(x)
  ------------------
  103|       |
  104|    519|	dctx = dns_decompress_setpermitted(dctx, true);
  105|       |
  106|    519|	dns_name_init(&rmail);
  107|    519|	dns_name_init(&email);
  108|       |
  109|    519|	RETERR(dns_name_fromwire(&rmail, source, dctx, target));
  ------------------
  |  |  276|    519|	{                                  \
  |  |  277|    519|		isc_result_t _r = (x);     \
  |  |  278|    519|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 40, False: 479]
  |  |  ------------------
  |  |  279|     40|			return ((_r));     \
  |  |  280|     40|		}                          \
  |  |  281|    519|	}
  ------------------
  110|    479|	return dns_name_fromwire(&email, source, dctx, target);
  111|    519|}
rdata.c:towire_minfo:
  114|    228|towire_minfo(ARGS_TOWIRE) {
  115|    228|	isc_region_t region;
  116|    228|	dns_name_t rmail;
  117|    228|	dns_name_t email;
  118|       |
  119|    228|	REQUIRE(rdata->type == dns_rdatatype_minfo);
  ------------------
  |  |  198|    228|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    228|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 228, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    228|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  120|    228|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    228|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    228|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 228, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    228|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  121|       |
  122|    228|	dns_compress_setpermitted(cctx, true);
  123|       |
  124|    228|	dns_name_init(&rmail);
  125|    228|	dns_name_init(&email);
  126|       |
  127|    228|	dns_rdata_toregion(rdata, &region);
  128|       |
  129|    228|	dns_name_fromregion(&rmail, &region);
  130|    228|	isc_region_consume(&region, name_length(&rmail));
  ------------------
  |  |   51|    228|	do {                              \
  |  |   52|    228|		isc_region_t *_r = (r);   \
  |  |   53|    228|		unsigned int  _l = (l);   \
  |  |   54|    228|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    228|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    228|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 228, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    228|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    228|		_r->base += _l;           \
  |  |   56|    228|		_r->length -= _l;         \
  |  |   57|    228|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 228]
  |  |  ------------------
  ------------------
  131|       |
  132|    228|	RETERR(dns_name_towire(&rmail, cctx, target));
  ------------------
  |  |  276|    228|	{                                  \
  |  |  277|    228|		isc_result_t _r = (x);     \
  |  |  278|    228|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 227]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    228|	}
  ------------------
  133|       |
  134|    227|	dns_name_fromregion(&rmail, &region);
  135|    227|	isc_region_consume(&region, rmail.length);
  ------------------
  |  |   51|    227|	do {                              \
  |  |   52|    227|		isc_region_t *_r = (r);   \
  |  |   53|    227|		unsigned int  _l = (l);   \
  |  |   54|    227|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    227|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    227|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 227, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    227|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    227|		_r->base += _l;           \
  |  |   56|    227|		_r->length -= _l;         \
  |  |   57|    227|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 227]
  |  |  ------------------
  ------------------
  136|       |
  137|    227|	return dns_name_towire(&rmail, cctx, target);
  138|    228|}
rdata.c:totext_minfo:
   59|    451|totext_minfo(ARGS_TOTEXT) {
   60|    451|	isc_region_t region;
   61|    451|	dns_name_t rmail;
   62|    451|	dns_name_t email;
   63|    451|	dns_name_t prefix;
   64|    451|	unsigned int opts;
   65|       |
   66|    451|	REQUIRE(rdata->type == dns_rdatatype_minfo);
  ------------------
  |  |  198|    451|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    451|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 451, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    451|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|    451|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    451|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    451|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 451, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    451|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   68|       |
   69|    451|	dns_name_init(&rmail);
   70|    451|	dns_name_init(&email);
   71|    451|	dns_name_init(&prefix);
   72|       |
   73|    451|	dns_rdata_toregion(rdata, &region);
   74|       |
   75|    451|	dns_name_fromregion(&rmail, &region);
   76|    451|	isc_region_consume(&region, rmail.length);
  ------------------
  |  |   51|    451|	do {                              \
  |  |   52|    451|		isc_region_t *_r = (r);   \
  |  |   53|    451|		unsigned int  _l = (l);   \
  |  |   54|    451|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    451|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    451|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 451, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    451|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    451|		_r->base += _l;           \
  |  |   56|    451|		_r->length -= _l;         \
  |  |   57|    451|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 451]
  |  |  ------------------
  ------------------
   77|       |
   78|    451|	dns_name_fromregion(&email, &region);
   79|    451|	isc_region_consume(&region, email.length);
  ------------------
  |  |   51|    451|	do {                              \
  |  |   52|    451|		isc_region_t *_r = (r);   \
  |  |   53|    451|		unsigned int  _l = (l);   \
  |  |   54|    451|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    451|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    451|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 451, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    451|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    451|		_r->base += _l;           \
  |  |   56|    451|		_r->length -= _l;         \
  |  |   57|    451|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 451]
  |  |  ------------------
  ------------------
   80|       |
   81|    451|	opts = name_prefix(&rmail, tctx->origin, &prefix)
  ------------------
  |  Branch (81:9): [True: 0, False: 451]
  ------------------
   82|    451|		       ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
   83|    451|		       : 0;
   84|    451|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|    451|	{                                  \
  |  |  277|    451|		isc_result_t _r = (x);     \
  |  |  278|    451|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 451]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    451|	}
  ------------------
   85|       |
   86|    451|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    451|	{                                  \
  |  |  277|    451|		isc_result_t _r = (x);     \
  |  |  278|    451|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 451]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    451|	}
  ------------------
   87|       |
   88|    451|	opts = name_prefix(&email, tctx->origin, &prefix)
  ------------------
  |  Branch (88:9): [True: 0, False: 451]
  ------------------
   89|    451|		       ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
   90|    451|		       : 0;
   91|    451|	return dns_name_totext(&prefix, opts, target);
   92|    451|}

rdata.c:fromwire_mr:
   63|  1.22k|fromwire_mr(ARGS_FROMWIRE) {
   64|  1.22k|	dns_name_t name;
   65|       |
   66|  1.22k|	REQUIRE(type == dns_rdatatype_mr);
  ------------------
  |  |  198|  1.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|       |
   68|  1.22k|	UNUSED(type);
  ------------------
  |  |   69|  1.22k|#define UNUSED(x) (void)(x)
  ------------------
   69|  1.22k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.22k|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|  1.22k|	dctx = dns_decompress_setpermitted(dctx, true);
   72|       |
   73|  1.22k|	dns_name_init(&name);
   74|  1.22k|	return dns_name_fromwire(&name, source, dctx, target);
   75|  1.22k|}
rdata.c:towire_mr:
   78|    614|towire_mr(ARGS_TOWIRE) {
   79|    614|	dns_name_t name;
   80|    614|	isc_region_t region;
   81|       |
   82|    614|	REQUIRE(rdata->type == dns_rdatatype_mr);
  ------------------
  |  |  198|    614|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    614|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 614, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    614|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   83|    614|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    614|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    614|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 614, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    614|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|    614|	dns_compress_setpermitted(cctx, true);
   86|       |
   87|    614|	dns_name_init(&name);
   88|    614|	dns_rdata_toregion(rdata, &region);
   89|    614|	dns_name_fromregion(&name, &region);
   90|       |
   91|    614|	return dns_name_towire(&name, cctx, target);
   92|    614|}
rdata.c:totext_mr:
   42|  1.21k|totext_mr(ARGS_TOTEXT) {
   43|  1.21k|	isc_region_t region;
   44|  1.21k|	dns_name_t name;
   45|  1.21k|	dns_name_t prefix;
   46|  1.21k|	unsigned int opts;
   47|       |
   48|  1.21k|	REQUIRE(rdata->type == dns_rdatatype_mr);
  ------------------
  |  |  198|  1.21k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.21k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.21k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.21k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   49|  1.21k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.21k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.21k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.21k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.21k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   50|       |
   51|  1.21k|	dns_name_init(&name);
   52|  1.21k|	dns_name_init(&prefix);
   53|       |
   54|  1.21k|	dns_rdata_toregion(rdata, &region);
   55|  1.21k|	dns_name_fromregion(&name, &region);
   56|       |
   57|  1.21k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (57:9): [True: 0, False: 1.21k]
  ------------------
   58|  1.21k|							 : 0;
   59|  1.21k|	return dns_name_totext(&prefix, opts, target);
   60|  1.21k|}

rdata.c:fromwire_mx:
  130|  1.15k|fromwire_mx(ARGS_FROMWIRE) {
  131|  1.15k|	dns_name_t name;
  132|  1.15k|	isc_region_t sregion;
  133|       |
  134|  1.15k|	REQUIRE(type == dns_rdatatype_mx);
  ------------------
  |  |  198|  1.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  135|       |
  136|  1.15k|	UNUSED(type);
  ------------------
  |  |   69|  1.15k|#define UNUSED(x) (void)(x)
  ------------------
  137|  1.15k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.15k|#define UNUSED(x) (void)(x)
  ------------------
  138|       |
  139|  1.15k|	dctx = dns_decompress_setpermitted(dctx, true);
  140|       |
  141|  1.15k|	dns_name_init(&name);
  142|       |
  143|  1.15k|	isc_buffer_activeregion(source, &sregion);
  144|  1.15k|	if (sregion.length < 2) {
  ------------------
  |  Branch (144:6): [True: 4, False: 1.15k]
  ------------------
  145|      4|		return ISC_R_UNEXPECTEDEND;
  146|      4|	}
  147|  1.15k|	RETERR(mem_tobuffer(target, sregion.base, 2));
  ------------------
  |  |  276|  1.15k|	{                                  \
  |  |  277|  1.15k|		isc_result_t _r = (x);     \
  |  |  278|  1.15k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 95, False: 1.06k]
  |  |  ------------------
  |  |  279|     95|			return ((_r));     \
  |  |  280|     95|		}                          \
  |  |  281|  1.15k|	}
  ------------------
  148|  1.06k|	isc_buffer_forward(source, 2);
  149|  1.06k|	return dns_name_fromwire(&name, source, dctx, target);
  150|  1.15k|}
rdata.c:towire_mx:
  153|    476|towire_mx(ARGS_TOWIRE) {
  154|    476|	dns_name_t name;
  155|    476|	isc_region_t region;
  156|       |
  157|    476|	REQUIRE(rdata->type == dns_rdatatype_mx);
  ------------------
  |  |  198|    476|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    476|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 476, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    476|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  158|    476|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    476|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    476|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 476, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    476|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  159|       |
  160|    476|	dns_compress_setpermitted(cctx, true);
  161|       |
  162|    476|	dns_rdata_toregion(rdata, &region);
  163|    476|	RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|    476|	{                                  \
  |  |  277|    476|		isc_result_t _r = (x);     \
  |  |  278|    476|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 475]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    476|	}
  ------------------
  164|    475|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    475|	do {                              \
  |  |   52|    475|		isc_region_t *_r = (r);   \
  |  |   53|    475|		unsigned int  _l = (l);   \
  |  |   54|    475|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    475|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    475|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 475, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    475|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    475|		_r->base += _l;           \
  |  |   56|    475|		_r->length -= _l;         \
  |  |   57|    475|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 475]
  |  |  ------------------
  ------------------
  165|       |
  166|    475|	dns_name_init(&name);
  167|    475|	dns_name_fromregion(&name, &region);
  168|       |
  169|    475|	return dns_name_towire(&name, cctx, target);
  170|    476|}
rdata.c:totext_mx:
  101|    961|totext_mx(ARGS_TOTEXT) {
  102|    961|	isc_region_t region;
  103|    961|	dns_name_t name;
  104|    961|	dns_name_t prefix;
  105|    961|	unsigned int opts;
  106|    961|	char buf[sizeof("64000")];
  107|    961|	unsigned short num;
  108|       |
  109|    961|	REQUIRE(rdata->type == dns_rdatatype_mx);
  ------------------
  |  |  198|    961|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    961|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 961, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    961|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  110|    961|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    961|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    961|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 961, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    961|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  111|       |
  112|    961|	dns_name_init(&name);
  113|    961|	dns_name_init(&prefix);
  114|       |
  115|    961|	dns_rdata_toregion(rdata, &region);
  116|    961|	num = uint16_fromregion(&region);
  117|    961|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    961|	do {                              \
  |  |   52|    961|		isc_region_t *_r = (r);   \
  |  |   53|    961|		unsigned int  _l = (l);   \
  |  |   54|    961|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    961|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    961|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 961, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    961|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    961|		_r->base += _l;           \
  |  |   56|    961|		_r->length -= _l;         \
  |  |   57|    961|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 961]
  |  |  ------------------
  ------------------
  118|    961|	snprintf(buf, sizeof(buf), "%u", num);
  119|    961|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    961|	{                                  \
  |  |  277|    961|		isc_result_t _r = (x);     \
  |  |  278|    961|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 961]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    961|	}
  ------------------
  120|       |
  121|    961|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    961|	{                                  \
  |  |  277|    961|		isc_result_t _r = (x);     \
  |  |  278|    961|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 961]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    961|	}
  ------------------
  122|       |
  123|    961|	dns_name_fromregion(&name, &region);
  124|    961|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (124:9): [True: 0, False: 961]
  ------------------
  125|    961|							 : 0;
  126|    961|	return dns_name_totext(&prefix, opts, target);
  127|    961|}

rdata.c:fromwire_naptr:
  303|  9.36k|fromwire_naptr(ARGS_FROMWIRE) {
  304|  9.36k|	dns_name_t name;
  305|  9.36k|	isc_region_t sr;
  306|  9.36k|	unsigned char *regex;
  307|       |
  308|  9.36k|	REQUIRE(type == dns_rdatatype_naptr);
  ------------------
  |  |  198|  9.36k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.36k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.36k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.36k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  309|       |
  310|  9.36k|	UNUSED(type);
  ------------------
  |  |   69|  9.36k|#define UNUSED(x) (void)(x)
  ------------------
  311|  9.36k|	UNUSED(rdclass);
  ------------------
  |  |   69|  9.36k|#define UNUSED(x) (void)(x)
  ------------------
  312|       |
  313|  9.36k|	dctx = dns_decompress_setpermitted(dctx, false);
  314|       |
  315|  9.36k|	dns_name_init(&name);
  316|       |
  317|       |	/*
  318|       |	 * Order, preference.
  319|       |	 */
  320|  9.36k|	isc_buffer_activeregion(source, &sr);
  321|  9.36k|	if (sr.length < 4) {
  ------------------
  |  Branch (321:6): [True: 6, False: 9.35k]
  ------------------
  322|      6|		return ISC_R_UNEXPECTEDEND;
  323|      6|	}
  324|  9.35k|	RETERR(mem_tobuffer(target, sr.base, 4));
  ------------------
  |  |  276|  9.35k|	{                                  \
  |  |  277|  9.35k|		isc_result_t _r = (x);     \
  |  |  278|  9.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 200, False: 9.15k]
  |  |  ------------------
  |  |  279|    200|			return ((_r));     \
  |  |  280|    200|		}                          \
  |  |  281|  9.35k|	}
  ------------------
  325|  9.15k|	isc_buffer_forward(source, 4);
  326|       |
  327|       |	/*
  328|       |	 * Flags.
  329|       |	 */
  330|  9.15k|	RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  9.15k|	{                                  \
  |  |  277|  9.15k|		isc_result_t _r = (x);     \
  |  |  278|  9.15k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 203, False: 8.95k]
  |  |  ------------------
  |  |  279|    203|			return ((_r));     \
  |  |  280|    203|		}                          \
  |  |  281|  9.15k|	}
  ------------------
  331|       |
  332|       |	/*
  333|       |	 * Service.
  334|       |	 */
  335|  8.95k|	RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  8.95k|	{                                  \
  |  |  277|  8.95k|		isc_result_t _r = (x);     \
  |  |  278|  8.95k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 201, False: 8.75k]
  |  |  ------------------
  |  |  279|    201|			return ((_r));     \
  |  |  280|    201|		}                          \
  |  |  281|  8.95k|	}
  ------------------
  336|       |
  337|       |	/*
  338|       |	 * Regexp.
  339|       |	 */
  340|  8.75k|	regex = isc_buffer_used(target);
  ------------------
  |  |  150|  8.75k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  341|  8.75k|	RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  8.75k|	{                                  \
  |  |  277|  8.75k|		isc_result_t _r = (x);     \
  |  |  278|  8.75k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 511, False: 8.24k]
  |  |  ------------------
  |  |  279|    511|			return ((_r));     \
  |  |  280|    511|		}                          \
  |  |  281|  8.75k|	}
  ------------------
  342|  8.24k|	RETERR(txt_valid_regex(regex));
  ------------------
  |  |  276|  8.24k|	{                                  \
  |  |  277|  8.24k|		isc_result_t _r = (x);     \
  |  |  278|  8.24k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 404, False: 7.83k]
  |  |  ------------------
  |  |  279|    404|			return ((_r));     \
  |  |  280|    404|		}                          \
  |  |  281|  8.24k|	}
  ------------------
  343|       |
  344|       |	/*
  345|       |	 * Replacement.
  346|       |	 */
  347|  7.83k|	return dns_name_fromwire(&name, source, dctx, target);
  348|  8.24k|}
rdata.c:txt_valid_regex:
   28|  8.24k|txt_valid_regex(const unsigned char *txt) {
   29|  8.24k|	unsigned int nsub = 0;
   30|  8.24k|	char regex[256];
   31|  8.24k|	char *cp;
   32|  8.24k|	bool flags = false;
   33|  8.24k|	bool replace = false;
   34|  8.24k|	unsigned char c;
   35|  8.24k|	unsigned char delim;
   36|  8.24k|	unsigned int len;
   37|  8.24k|	int n;
   38|       |
   39|  8.24k|	len = *txt++;
   40|  8.24k|	if (len == 0U) {
  ------------------
  |  Branch (40:6): [True: 1.73k, False: 6.51k]
  ------------------
   41|  1.73k|		return ISC_R_SUCCESS;
   42|  1.73k|	}
   43|       |
   44|  6.51k|	delim = *txt++;
   45|  6.51k|	len--;
   46|       |
   47|       |	/*
   48|       |	 * Digits, backslash and flags can't be delimiters.
   49|       |	 */
   50|  6.51k|	switch (delim) {
  ------------------
  |  Branch (50:10): [True: 13, False: 6.49k]
  ------------------
   51|      1|	case '0':
  ------------------
  |  Branch (51:2): [True: 1, False: 6.50k]
  ------------------
   52|      2|	case '1':
  ------------------
  |  Branch (52:2): [True: 1, False: 6.50k]
  ------------------
   53|      3|	case '2':
  ------------------
  |  Branch (53:2): [True: 1, False: 6.50k]
  ------------------
   54|      4|	case '3':
  ------------------
  |  Branch (54:2): [True: 1, False: 6.50k]
  ------------------
   55|      5|	case '4':
  ------------------
  |  Branch (55:2): [True: 1, False: 6.50k]
  ------------------
   56|      6|	case '5':
  ------------------
  |  Branch (56:2): [True: 1, False: 6.50k]
  ------------------
   57|      7|	case '6':
  ------------------
  |  Branch (57:2): [True: 1, False: 6.50k]
  ------------------
   58|      8|	case '7':
  ------------------
  |  Branch (58:2): [True: 1, False: 6.50k]
  ------------------
   59|      9|	case '8':
  ------------------
  |  Branch (59:2): [True: 1, False: 6.50k]
  ------------------
   60|     10|	case '9':
  ------------------
  |  Branch (60:2): [True: 1, False: 6.50k]
  ------------------
   61|     11|	case '\\':
  ------------------
  |  Branch (61:2): [True: 1, False: 6.50k]
  ------------------
   62|     12|	case 'i':
  ------------------
  |  Branch (62:2): [True: 1, False: 6.50k]
  ------------------
   63|     13|	case 0:
  ------------------
  |  Branch (63:2): [True: 1, False: 6.50k]
  ------------------
   64|     13|		return DNS_R_SYNTAX;
   65|  6.51k|	}
   66|       |
   67|  6.49k|	cp = regex;
   68|   419k|	while (len-- > 0) {
  ------------------
  |  Branch (68:9): [True: 413k, False: 6.46k]
  ------------------
   69|   413k|		c = *txt++;
   70|   413k|		if (c == 0) {
  ------------------
  |  Branch (70:7): [True: 11, False: 413k]
  ------------------
   71|     11|			return DNS_R_SYNTAX;
   72|     11|		}
   73|   413k|		if (c == delim && !replace) {
  ------------------
  |  Branch (73:7): [True: 12.8k, False: 400k]
  |  Branch (73:21): [True: 6.48k, False: 6.41k]
  ------------------
   74|  6.48k|			replace = true;
   75|  6.48k|			continue;
   76|   406k|		} else if (c == delim && !flags) {
  ------------------
  |  Branch (76:14): [True: 6.41k, False: 400k]
  |  Branch (76:28): [True: 6.40k, False: 5]
  ------------------
   77|  6.40k|			flags = true;
   78|  6.40k|			continue;
   79|   400k|		} else if (c == delim) {
  ------------------
  |  Branch (79:14): [True: 5, False: 400k]
  ------------------
   80|      5|			return DNS_R_SYNTAX;
   81|      5|		}
   82|       |		/*
   83|       |		 * Flags are not escaped.
   84|       |		 */
   85|   400k|		if (flags) {
  ------------------
  |  Branch (85:7): [True: 247, False: 399k]
  ------------------
   86|    247|			switch (c) {
   87|    245|			case 'i':
  ------------------
  |  Branch (87:4): [True: 245, False: 2]
  ------------------
   88|    245|				continue;
   89|      2|			default:
  ------------------
  |  Branch (89:4): [True: 2, False: 245]
  ------------------
   90|      2|				return DNS_R_SYNTAX;
   91|    247|			}
   92|    247|		}
   93|   399k|		if (!replace) {
  ------------------
  |  Branch (93:7): [True: 355k, False: 44.8k]
  ------------------
   94|   355k|			*cp++ = c;
   95|   355k|		}
   96|   399k|		if (c == '\\') {
  ------------------
  |  Branch (96:7): [True: 22.2k, False: 377k]
  ------------------
   97|  22.2k|			if (len == 0) {
  ------------------
  |  Branch (97:8): [True: 11, False: 22.2k]
  ------------------
   98|     11|				return DNS_R_SYNTAX;
   99|     11|			}
  100|  22.2k|			c = *txt++;
  101|  22.2k|			if (c == 0) {
  ------------------
  |  Branch (101:8): [True: 1, False: 22.2k]
  ------------------
  102|      1|				return DNS_R_SYNTAX;
  103|      1|			}
  104|  22.2k|			len--;
  105|  22.2k|			if (replace) {
  ------------------
  |  Branch (105:8): [True: 12.6k, False: 9.64k]
  ------------------
  106|  12.6k|				switch (c) {
  ------------------
  |  Branch (106:13): [True: 8.93k, False: 3.68k]
  ------------------
  107|      1|				case '0':
  ------------------
  |  Branch (107:5): [True: 1, False: 12.6k]
  ------------------
  108|      1|					return DNS_R_SYNTAX;
  109|  1.60k|				case '1':
  ------------------
  |  Branch (109:5): [True: 1.60k, False: 11.0k]
  ------------------
  110|  1.60k|					if (nsub < 1) {
  ------------------
  |  Branch (110:10): [True: 1.28k, False: 317]
  ------------------
  111|  1.28k|						nsub = 1;
  112|  1.28k|					}
  113|  1.60k|					break;
  114|    836|				case '2':
  ------------------
  |  Branch (114:5): [True: 836, False: 11.7k]
  ------------------
  115|    836|					if (nsub < 2) {
  ------------------
  |  Branch (115:10): [True: 321, False: 515]
  ------------------
  116|    321|						nsub = 2;
  117|    321|					}
  118|    836|					break;
  119|  1.11k|				case '3':
  ------------------
  |  Branch (119:5): [True: 1.11k, False: 11.4k]
  ------------------
  120|  1.11k|					if (nsub < 3) {
  ------------------
  |  Branch (120:10): [True: 556, False: 559]
  ------------------
  121|    556|						nsub = 3;
  122|    556|					}
  123|  1.11k|					break;
  124|  1.28k|				case '4':
  ------------------
  |  Branch (124:5): [True: 1.28k, False: 11.3k]
  ------------------
  125|  1.28k|					if (nsub < 4) {
  ------------------
  |  Branch (125:10): [True: 486, False: 803]
  ------------------
  126|    486|						nsub = 4;
  127|    486|					}
  128|  1.28k|					break;
  129|  2.01k|				case '5':
  ------------------
  |  Branch (129:5): [True: 2.01k, False: 10.5k]
  ------------------
  130|  2.01k|					if (nsub < 5) {
  ------------------
  |  Branch (130:10): [True: 841, False: 1.17k]
  ------------------
  131|    841|						nsub = 5;
  132|    841|					}
  133|  2.01k|					break;
  134|    981|				case '6':
  ------------------
  |  Branch (134:5): [True: 981, False: 11.6k]
  ------------------
  135|    981|					if (nsub < 6) {
  ------------------
  |  Branch (135:10): [True: 752, False: 229]
  ------------------
  136|    752|						nsub = 6;
  137|    752|					}
  138|    981|					break;
  139|    272|				case '7':
  ------------------
  |  Branch (139:5): [True: 272, False: 12.3k]
  ------------------
  140|    272|					if (nsub < 7) {
  ------------------
  |  Branch (140:10): [True: 157, False: 115]
  ------------------
  141|    157|						nsub = 7;
  142|    157|					}
  143|    272|					break;
  144|    442|				case '8':
  ------------------
  |  Branch (144:5): [True: 442, False: 12.1k]
  ------------------
  145|    442|					if (nsub < 8) {
  ------------------
  |  Branch (145:10): [True: 160, False: 282]
  ------------------
  146|    160|						nsub = 8;
  147|    160|					}
  148|    442|					break;
  149|    382|				case '9':
  ------------------
  |  Branch (149:5): [True: 382, False: 12.2k]
  ------------------
  150|    382|					if (nsub < 9) {
  ------------------
  |  Branch (150:10): [True: 219, False: 163]
  ------------------
  151|    219|						nsub = 9;
  152|    219|					}
  153|    382|					break;
  154|  12.6k|				}
  155|  12.6k|			}
  156|  22.2k|			if (!replace) {
  ------------------
  |  Branch (156:8): [True: 9.64k, False: 12.6k]
  ------------------
  157|  9.64k|				*cp++ = c;
  158|  9.64k|			}
  159|  22.2k|		}
  160|   399k|	}
  161|  6.46k|	if (!flags) {
  ------------------
  |  Branch (161:6): [True: 71, False: 6.39k]
  ------------------
  162|     71|		return DNS_R_SYNTAX;
  163|     71|	}
  164|  6.39k|	*cp = '\0';
  165|  6.39k|	n = isc_regex_validate(regex);
  166|  6.39k|	if (n < 0 || nsub > (unsigned int)n) {
  ------------------
  |  Branch (166:6): [True: 284, False: 6.11k]
  |  Branch (166:15): [True: 5, False: 6.10k]
  ------------------
  167|    289|		return DNS_R_SYNTAX;
  168|    289|	}
  169|  6.10k|	return ISC_R_SUCCESS;
  170|  6.39k|}
rdata.c:towire_naptr:
  351|  3.42k|towire_naptr(ARGS_TOWIRE) {
  352|  3.42k|	dns_name_t name;
  353|  3.42k|	isc_region_t sr;
  354|       |
  355|  3.42k|	REQUIRE(rdata->type == dns_rdatatype_naptr);
  ------------------
  |  |  198|  3.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  356|  3.42k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  3.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  357|       |
  358|  3.42k|	dns_compress_setpermitted(cctx, false);
  359|       |	/*
  360|       |	 * Order, preference.
  361|       |	 */
  362|  3.42k|	dns_rdata_toregion(rdata, &sr);
  363|  3.42k|	RETERR(mem_tobuffer(target, sr.base, 4));
  ------------------
  |  |  276|  3.42k|	{                                  \
  |  |  277|  3.42k|		isc_result_t _r = (x);     \
  |  |  278|  3.42k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 3.41k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  3.42k|	}
  ------------------
  364|  3.41k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.41k|	do {                              \
  |  |   52|  3.41k|		isc_region_t *_r = (r);   \
  |  |   53|  3.41k|		unsigned int  _l = (l);   \
  |  |   54|  3.41k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.41k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.41k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.41k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.41k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.41k|		_r->base += _l;           \
  |  |   56|  3.41k|		_r->length -= _l;         \
  |  |   57|  3.41k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.41k]
  |  |  ------------------
  ------------------
  365|       |
  366|       |	/*
  367|       |	 * Flags.
  368|       |	 */
  369|  3.41k|	RETERR(mem_tobuffer(target, sr.base, sr.base[0] + 1));
  ------------------
  |  |  276|  3.41k|	{                                  \
  |  |  277|  3.41k|		isc_result_t _r = (x);     \
  |  |  278|  3.41k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 3.41k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  3.41k|	}
  ------------------
  370|  3.41k|	isc_region_consume(&sr, sr.base[0] + 1);
  ------------------
  |  |   51|  3.41k|	do {                              \
  |  |   52|  3.41k|		isc_region_t *_r = (r);   \
  |  |   53|  3.41k|		unsigned int  _l = (l);   \
  |  |   54|  3.41k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.41k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.41k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.41k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.41k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.41k|		_r->base += _l;           \
  |  |   56|  3.41k|		_r->length -= _l;         \
  |  |   57|  3.41k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.41k]
  |  |  ------------------
  ------------------
  371|       |
  372|       |	/*
  373|       |	 * Service.
  374|       |	 */
  375|  3.41k|	RETERR(mem_tobuffer(target, sr.base, sr.base[0] + 1));
  ------------------
  |  |  276|  3.41k|	{                                  \
  |  |  277|  3.41k|		isc_result_t _r = (x);     \
  |  |  278|  3.41k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 3.41k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  3.41k|	}
  ------------------
  376|  3.41k|	isc_region_consume(&sr, sr.base[0] + 1);
  ------------------
  |  |   51|  3.41k|	do {                              \
  |  |   52|  3.41k|		isc_region_t *_r = (r);   \
  |  |   53|  3.41k|		unsigned int  _l = (l);   \
  |  |   54|  3.41k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.41k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.41k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.41k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.41k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.41k|		_r->base += _l;           \
  |  |   56|  3.41k|		_r->length -= _l;         \
  |  |   57|  3.41k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.41k]
  |  |  ------------------
  ------------------
  377|       |
  378|       |	/*
  379|       |	 * Regexp.
  380|       |	 */
  381|  3.41k|	RETERR(mem_tobuffer(target, sr.base, sr.base[0] + 1));
  ------------------
  |  |  276|  3.41k|	{                                  \
  |  |  277|  3.41k|		isc_result_t _r = (x);     \
  |  |  278|  3.41k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 3.41k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  3.41k|	}
  ------------------
  382|  3.41k|	isc_region_consume(&sr, sr.base[0] + 1);
  ------------------
  |  |   51|  3.41k|	do {                              \
  |  |   52|  3.41k|		isc_region_t *_r = (r);   \
  |  |   53|  3.41k|		unsigned int  _l = (l);   \
  |  |   54|  3.41k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.41k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.41k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.41k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.41k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.41k|		_r->base += _l;           \
  |  |   56|  3.41k|		_r->length -= _l;         \
  |  |   57|  3.41k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.41k]
  |  |  ------------------
  ------------------
  383|       |
  384|       |	/*
  385|       |	 * Replacement.
  386|       |	 */
  387|  3.41k|	dns_name_init(&name);
  388|  3.41k|	dns_name_fromregion(&name, &sr);
  389|  3.41k|	return dns_name_towire(&name, cctx, target);
  390|  3.41k|}
rdata.c:totext_naptr:
  241|  6.82k|totext_naptr(ARGS_TOTEXT) {
  242|  6.82k|	isc_region_t region;
  243|  6.82k|	dns_name_t name;
  244|  6.82k|	dns_name_t prefix;
  245|  6.82k|	unsigned int opts;
  246|  6.82k|	char buf[sizeof("64000")];
  247|  6.82k|	unsigned short num;
  248|       |
  249|  6.82k|	REQUIRE(rdata->type == dns_rdatatype_naptr);
  ------------------
  |  |  198|  6.82k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  6.82k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 6.82k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  6.82k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  250|  6.82k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  6.82k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  6.82k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 6.82k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  6.82k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  251|       |
  252|  6.82k|	dns_name_init(&name);
  253|  6.82k|	dns_name_init(&prefix);
  254|       |
  255|  6.82k|	dns_rdata_toregion(rdata, &region);
  256|       |
  257|       |	/*
  258|       |	 * Order.
  259|       |	 */
  260|  6.82k|	num = uint16_fromregion(&region);
  261|  6.82k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  6.82k|	do {                              \
  |  |   52|  6.82k|		isc_region_t *_r = (r);   \
  |  |   53|  6.82k|		unsigned int  _l = (l);   \
  |  |   54|  6.82k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.82k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.82k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.82k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.82k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.82k|		_r->base += _l;           \
  |  |   56|  6.82k|		_r->length -= _l;         \
  |  |   57|  6.82k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.82k]
  |  |  ------------------
  ------------------
  262|  6.82k|	snprintf(buf, sizeof(buf), "%u", num);
  263|  6.82k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  264|  6.82k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  265|       |
  266|       |	/*
  267|       |	 * Preference.
  268|       |	 */
  269|  6.82k|	num = uint16_fromregion(&region);
  270|  6.82k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  6.82k|	do {                              \
  |  |   52|  6.82k|		isc_region_t *_r = (r);   \
  |  |   53|  6.82k|		unsigned int  _l = (l);   \
  |  |   54|  6.82k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.82k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.82k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.82k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.82k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.82k|		_r->base += _l;           \
  |  |   56|  6.82k|		_r->length -= _l;         \
  |  |   57|  6.82k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.82k]
  |  |  ------------------
  ------------------
  271|  6.82k|	snprintf(buf, sizeof(buf), "%u", num);
  272|  6.82k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  273|  6.82k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  274|       |
  275|       |	/*
  276|       |	 * Flags.
  277|       |	 */
  278|  6.82k|	RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  279|  6.82k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  280|       |
  281|       |	/*
  282|       |	 * Service.
  283|       |	 */
  284|  6.82k|	RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  285|  6.82k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  286|       |
  287|       |	/*
  288|       |	 * Regexp.
  289|       |	 */
  290|  6.82k|	RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  291|  6.82k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.82k|	{                                  \
  |  |  277|  6.82k|		isc_result_t _r = (x);     \
  |  |  278|  6.82k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.82k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.82k|	}
  ------------------
  292|       |
  293|       |	/*
  294|       |	 * Replacement.
  295|       |	 */
  296|  6.82k|	dns_name_fromregion(&name, &region);
  297|  6.82k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (297:9): [True: 0, False: 6.82k]
  ------------------
  298|  6.82k|							 : 0;
  299|  6.82k|	return dns_name_totext(&prefix, opts, target);
  300|  6.82k|}

rdata.c:fromwire_nid:
   80|  1.18k|fromwire_nid(ARGS_FROMWIRE) {
   81|  1.18k|	isc_region_t sregion;
   82|       |
   83|  1.18k|	REQUIRE(type == dns_rdatatype_nid);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|       |
   85|  1.18k|	UNUSED(type);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   86|  1.18k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   87|  1.18k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|  1.18k|	isc_buffer_activeregion(source, &sregion);
   90|  1.18k|	if (sregion.length != 10) {
  ------------------
  |  Branch (90:6): [True: 11, False: 1.17k]
  ------------------
   91|     11|		return DNS_R_FORMERR;
   92|     11|	}
   93|  1.17k|	isc_buffer_forward(source, sregion.length);
   94|  1.17k|	return mem_tobuffer(target, sregion.base, sregion.length);
   95|  1.18k|}
rdata.c:towire_nid:
   98|    354|towire_nid(ARGS_TOWIRE) {
   99|    354|	REQUIRE(rdata->type == dns_rdatatype_nid);
  ------------------
  |  |  198|    354|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    354|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 354, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    354|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|    354|	REQUIRE(rdata->length == 10);
  ------------------
  |  |  198|    354|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    354|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 354, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    354|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  101|       |
  102|    354|	UNUSED(cctx);
  ------------------
  |  |   69|    354|#define UNUSED(x) (void)(x)
  ------------------
  103|       |
  104|    354|	return mem_tobuffer(target, rdata->data, rdata->length);
  105|    354|}
rdata.c:totext_nid:
   53|    701|totext_nid(ARGS_TOTEXT) {
   54|    701|	isc_region_t region;
   55|    701|	char buf[sizeof("xxxx:xxxx:xxxx:xxxx")];
   56|    701|	unsigned short num;
   57|       |
   58|    701|	REQUIRE(rdata->type == dns_rdatatype_nid);
  ------------------
  |  |  198|    701|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    701|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 701, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    701|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   59|    701|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    701|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    701|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 701, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    701|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   60|       |
   61|    701|	UNUSED(tctx);
  ------------------
  |  |   69|    701|#define UNUSED(x) (void)(x)
  ------------------
   62|       |
   63|    701|	dns_rdata_toregion(rdata, &region);
   64|    701|	num = uint16_fromregion(&region);
   65|    701|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    701|	do {                              \
  |  |   52|    701|		isc_region_t *_r = (r);   \
  |  |   53|    701|		unsigned int  _l = (l);   \
  |  |   54|    701|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    701|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    701|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 701, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    701|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    701|		_r->base += _l;           \
  |  |   56|    701|		_r->length -= _l;         \
  |  |   57|    701|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 701]
  |  |  ------------------
  ------------------
   66|    701|	snprintf(buf, sizeof(buf), "%u", num);
   67|    701|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    701|	{                                  \
  |  |  277|    701|		isc_result_t _r = (x);     \
  |  |  278|    701|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 701]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    701|	}
  ------------------
   68|       |
   69|    701|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    701|	{                                  \
  |  |  277|    701|		isc_result_t _r = (x);     \
  |  |  278|    701|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 701]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    701|	}
  ------------------
   70|       |
   71|    701|	snprintf(buf, sizeof(buf), "%x:%x:%x:%x",
   72|    701|		 region.base[0] << 8 | region.base[1],
   73|    701|		 region.base[2] << 8 | region.base[3],
   74|    701|		 region.base[4] << 8 | region.base[5],
   75|    701|		 region.base[6] << 8 | region.base[7]);
   76|    701|	return str_totext(buf, target);
   77|    701|}

rdata.c:fromwire_ninfo:
   35|    975|fromwire_ninfo(ARGS_FROMWIRE) {
   36|    975|	REQUIRE(type == dns_rdatatype_ninfo);
  ------------------
  |  |  198|    975|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    975|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 975, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    975|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|    975|	return generic_fromwire_txt(CALL_FROMWIRE);
  ------------------
  |  |   91|    975|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|    975|}
rdata.c:towire_ninfo:
   42|    430|towire_ninfo(ARGS_TOWIRE) {
   43|    430|	REQUIRE(rdata->type == dns_rdatatype_ninfo);
  ------------------
  |  |  198|    430|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    430|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 430, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    430|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   44|       |
   45|    430|	UNUSED(cctx);
  ------------------
  |  |   69|    430|#define UNUSED(x) (void)(x)
  ------------------
   46|       |
   47|    430|	return mem_tobuffer(target, rdata->data, rdata->length);
   48|    430|}
rdata.c:totext_ninfo:
   27|    843|totext_ninfo(ARGS_TOTEXT) {
   28|    843|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    843|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    843|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 843, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    843|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|    843|	REQUIRE(rdata->type == dns_rdatatype_ninfo);
  ------------------
  |  |  198|    843|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    843|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 843, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    843|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|    843|	return generic_totext_txt(CALL_TOTEXT);
  ------------------
  |  |   85|    843|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|    843|}

rdata.c:fromwire_ns:
   77|  2.75k|fromwire_ns(ARGS_FROMWIRE) {
   78|  2.75k|	dns_name_t name;
   79|       |
   80|  2.75k|	REQUIRE(type == dns_rdatatype_ns);
  ------------------
  |  |  198|  2.75k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.75k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.75k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.75k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   81|       |
   82|  2.75k|	UNUSED(type);
  ------------------
  |  |   69|  2.75k|#define UNUSED(x) (void)(x)
  ------------------
   83|  2.75k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.75k|#define UNUSED(x) (void)(x)
  ------------------
   84|       |
   85|  2.75k|	dctx = dns_decompress_setpermitted(dctx, true);
   86|       |
   87|  2.75k|	dns_name_init(&name);
   88|  2.75k|	return dns_name_fromwire(&name, source, dctx, target);
   89|  2.75k|}
rdata.c:towire_ns:
   92|  1.38k|towire_ns(ARGS_TOWIRE) {
   93|  1.38k|	dns_name_t name;
   94|  1.38k|	isc_region_t region;
   95|       |
   96|  1.38k|	REQUIRE(rdata->type == dns_rdatatype_ns);
  ------------------
  |  |  198|  1.38k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.38k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   97|  1.38k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.38k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.38k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   98|       |
   99|  1.38k|	dns_compress_setpermitted(cctx, true);
  100|       |
  101|  1.38k|	dns_name_init(&name);
  102|  1.38k|	dns_rdata_toregion(rdata, &region);
  103|  1.38k|	dns_name_fromregion(&name, &region);
  104|       |
  105|  1.38k|	return dns_name_towire(&name, cctx, target);
  106|  1.38k|}
rdata.c:totext_ns:
   56|  2.70k|totext_ns(ARGS_TOTEXT) {
   57|  2.70k|	isc_region_t region;
   58|  2.70k|	dns_name_t name;
   59|  2.70k|	dns_name_t prefix;
   60|  2.70k|	unsigned int opts;
   61|       |
   62|  2.70k|	REQUIRE(rdata->type == dns_rdatatype_ns);
  ------------------
  |  |  198|  2.70k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.70k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.70k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.70k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   63|  2.70k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.70k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.70k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.70k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.70k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   64|       |
   65|  2.70k|	dns_name_init(&name);
   66|  2.70k|	dns_name_init(&prefix);
   67|       |
   68|  2.70k|	dns_rdata_toregion(rdata, &region);
   69|  2.70k|	dns_name_fromregion(&name, &region);
   70|       |
   71|  2.70k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (71:9): [True: 0, False: 2.70k]
  ------------------
   72|  2.70k|							 : 0;
   73|  2.70k|	return dns_name_totext(&prefix, opts, target);
   74|  2.70k|}

rdata.c:fromwire_nsec3:
  196|  4.02k|fromwire_nsec3(ARGS_FROMWIRE) {
  197|  4.02k|	isc_region_t sr, rr;
  198|  4.02k|	unsigned int hash, saltlen, hashlen;
  199|       |
  200|  4.02k|	REQUIRE(type == dns_rdatatype_nsec3);
  ------------------
  |  |  198|  4.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  201|       |
  202|  4.02k|	UNUSED(type);
  ------------------
  |  |   69|  4.02k|#define UNUSED(x) (void)(x)
  ------------------
  203|  4.02k|	UNUSED(rdclass);
  ------------------
  |  |   69|  4.02k|#define UNUSED(x) (void)(x)
  ------------------
  204|  4.02k|	UNUSED(dctx);
  ------------------
  |  |   69|  4.02k|#define UNUSED(x) (void)(x)
  ------------------
  205|       |
  206|  4.02k|	isc_buffer_activeregion(source, &sr);
  207|  4.02k|	rr = sr;
  208|       |
  209|       |	/* hash(1), flags(1), iteration(2), saltlen(1) */
  210|  4.02k|	if (sr.length < 5U) {
  ------------------
  |  Branch (210:6): [True: 5, False: 4.01k]
  ------------------
  211|      5|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      5|	{                                  \
  |  |  277|      5|		isc_result_t _r = (x);     \
  |  |  278|      5|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 0]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|      5|	}
  ------------------
  212|      0|	}
  213|  4.01k|	hash = sr.base[0];
  214|  4.01k|	saltlen = sr.base[4];
  215|  4.01k|	isc_region_consume(&sr, 5);
  ------------------
  |  |   51|  4.01k|	do {                              \
  |  |   52|  4.01k|		isc_region_t *_r = (r);   \
  |  |   53|  4.01k|		unsigned int  _l = (l);   \
  |  |   54|  4.01k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.01k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.01k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.01k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.01k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.01k|		_r->base += _l;           \
  |  |   56|  4.01k|		_r->length -= _l;         \
  |  |   57|  4.01k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.01k]
  |  |  ------------------
  ------------------
  216|       |
  217|  4.01k|	if (sr.length < saltlen) {
  ------------------
  |  Branch (217:6): [True: 5, False: 4.01k]
  ------------------
  218|      5|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      5|	{                                  \
  |  |  277|      5|		isc_result_t _r = (x);     \
  |  |  278|      5|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 0]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|      5|	}
  ------------------
  219|      0|	}
  220|  4.01k|	isc_region_consume(&sr, saltlen);
  ------------------
  |  |   51|  4.01k|	do {                              \
  |  |   52|  4.01k|		isc_region_t *_r = (r);   \
  |  |   53|  4.01k|		unsigned int  _l = (l);   \
  |  |   54|  4.01k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.01k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.01k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.01k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.01k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.01k|		_r->base += _l;           \
  |  |   56|  4.01k|		_r->length -= _l;         \
  |  |   57|  4.01k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.01k]
  |  |  ------------------
  ------------------
  221|       |
  222|  4.01k|	if (sr.length < 1U) {
  ------------------
  |  Branch (222:6): [True: 1, False: 4.01k]
  ------------------
  223|      1|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      1|	{                                  \
  |  |  277|      1|		isc_result_t _r = (x);     \
  |  |  278|      1|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 0]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|      1|	}
  ------------------
  224|      0|	}
  225|  4.01k|	hashlen = sr.base[0];
  226|  4.01k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  4.01k|	do {                              \
  |  |   52|  4.01k|		isc_region_t *_r = (r);   \
  |  |   53|  4.01k|		unsigned int  _l = (l);   \
  |  |   54|  4.01k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.01k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.01k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.01k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.01k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.01k|		_r->base += _l;           \
  |  |   56|  4.01k|		_r->length -= _l;         \
  |  |   57|  4.01k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.01k]
  |  |  ------------------
  ------------------
  227|       |
  228|  4.01k|	switch (hash) {
  229|    544|	case dns_hash_sha1:
  ------------------
  |  Branch (229:2): [True: 544, False: 3.46k]
  ------------------
  230|    544|		if (hashlen != ISC_SHA1_DIGESTLENGTH || sr.length < hashlen) {
  ------------------
  |  |   50|  1.08k|#define ISC_SHA1_DIGESTLENGTH	20
  ------------------
  |  Branch (230:7): [True: 8, False: 536]
  |  Branch (230:43): [True: 3, False: 533]
  ------------------
  231|     11|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     11|	{                                  \
  |  |  277|     11|		isc_result_t _r = (x);     \
  |  |  278|     11|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 11, False: 0]
  |  |  ------------------
  |  |  279|     11|			return ((_r));     \
  |  |  280|     11|		}                          \
  |  |  281|     11|	}
  ------------------
  232|      0|		}
  233|    533|		break;
  234|  3.46k|	default:
  ------------------
  |  Branch (234:2): [True: 3.46k, False: 544]
  ------------------
  235|  3.46k|		if (hashlen < 1 || hashlen > NSEC3_MAX_HASH_LENGTH ||
  ------------------
  |  |   34|  6.93k|#define NSEC3_MAX_HASH_LENGTH 39
  ------------------
  |  Branch (235:7): [True: 2, False: 3.46k]
  |  Branch (235:22): [True: 5, False: 3.46k]
  ------------------
  236|  3.46k|		    sr.length < hashlen)
  ------------------
  |  Branch (236:7): [True: 8, False: 3.45k]
  ------------------
  237|     15|		{
  238|     15|			RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     15|	{                                  \
  |  |  277|     15|		isc_result_t _r = (x);     \
  |  |  278|     15|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 15, False: 0]
  |  |  ------------------
  |  |  279|     15|			return ((_r));     \
  |  |  280|     15|		}                          \
  |  |  281|     15|	}
  ------------------
  239|      0|		}
  240|  3.45k|		break;
  241|  4.01k|	}
  242|  3.98k|	isc_region_consume(&sr, hashlen);
  ------------------
  |  |   51|  3.98k|	do {                              \
  |  |   52|  3.98k|		isc_region_t *_r = (r);   \
  |  |   53|  3.98k|		unsigned int  _l = (l);   \
  |  |   54|  3.98k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.98k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.98k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.98k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.98k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.98k|		_r->base += _l;           \
  |  |   56|  3.98k|		_r->length -= _l;         \
  |  |   57|  3.98k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.98k]
  |  |  ------------------
  ------------------
  243|       |
  244|  3.98k|	RETERR(typemap_test(&sr, true));
  ------------------
  |  |  276|  3.98k|	{                                  \
  |  |  277|  3.98k|		isc_result_t _r = (x);     \
  |  |  278|  3.98k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 40, False: 3.94k]
  |  |  ------------------
  |  |  279|     40|			return ((_r));     \
  |  |  280|     40|		}                          \
  |  |  281|  3.98k|	}
  ------------------
  245|       |
  246|  3.94k|	RETERR(mem_tobuffer(target, rr.base, rr.length));
  ------------------
  |  |  276|  3.94k|	{                                  \
  |  |  277|  3.94k|		isc_result_t _r = (x);     \
  |  |  278|  3.94k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 258, False: 3.68k]
  |  |  ------------------
  |  |  279|    258|			return ((_r));     \
  |  |  280|    258|		}                          \
  |  |  281|  3.94k|	}
  ------------------
  247|  3.68k|	isc_buffer_forward(source, rr.length);
  248|  3.68k|	return ISC_R_SUCCESS;
  249|  3.94k|}
rdata.c:towire_nsec3:
  252|  1.80k|towire_nsec3(ARGS_TOWIRE) {
  253|  1.80k|	isc_region_t sr;
  254|       |
  255|  1.80k|	REQUIRE(rdata->type == dns_rdatatype_nsec3);
  ------------------
  |  |  198|  1.80k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.80k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.80k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.80k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  256|  1.80k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.80k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.80k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.80k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.80k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  257|       |
  258|  1.80k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.80k|#define UNUSED(x) (void)(x)
  ------------------
  259|       |
  260|  1.80k|	dns_rdata_toregion(rdata, &sr);
  261|  1.80k|	return mem_tobuffer(target, sr.base, sr.length);
  262|  1.80k|}
rdata.c:totext_nsec3:
  120|  3.43k|totext_nsec3(ARGS_TOTEXT) {
  121|  3.43k|	isc_region_t sr;
  122|  3.43k|	unsigned int i, j;
  123|  3.43k|	unsigned char hash;
  124|  3.43k|	unsigned char flags;
  125|  3.43k|	char buf[sizeof("TYPE65535")];
  126|  3.43k|	uint32_t iterations;
  127|       |
  128|  3.43k|	REQUIRE(rdata->type == dns_rdatatype_nsec3);
  ------------------
  |  |  198|  3.43k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.43k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.43k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  129|  3.43k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  3.43k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.43k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.43k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  130|       |
  131|  3.43k|	dns_rdata_toregion(rdata, &sr);
  132|       |
  133|       |	/* Hash */
  134|  3.43k|	hash = uint8_fromregion(&sr);
  135|  3.43k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.43k|	do {                              \
  |  |   52|  3.43k|		isc_region_t *_r = (r);   \
  |  |   53|  3.43k|		unsigned int  _l = (l);   \
  |  |   54|  3.43k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.43k|		_r->base += _l;           \
  |  |   56|  3.43k|		_r->length -= _l;         \
  |  |   57|  3.43k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.43k]
  |  |  ------------------
  ------------------
  136|  3.43k|	snprintf(buf, sizeof(buf), "%u ", hash);
  137|  3.43k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.43k|	{                                  \
  |  |  277|  3.43k|		isc_result_t _r = (x);     \
  |  |  278|  3.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.43k|	}
  ------------------
  138|       |
  139|       |	/* Flags */
  140|  3.43k|	flags = uint8_fromregion(&sr);
  141|  3.43k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.43k|	do {                              \
  |  |   52|  3.43k|		isc_region_t *_r = (r);   \
  |  |   53|  3.43k|		unsigned int  _l = (l);   \
  |  |   54|  3.43k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.43k|		_r->base += _l;           \
  |  |   56|  3.43k|		_r->length -= _l;         \
  |  |   57|  3.43k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.43k]
  |  |  ------------------
  ------------------
  142|  3.43k|	snprintf(buf, sizeof(buf), "%u ", flags);
  143|  3.43k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.43k|	{                                  \
  |  |  277|  3.43k|		isc_result_t _r = (x);     \
  |  |  278|  3.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.43k|	}
  ------------------
  144|       |
  145|       |	/* Iterations */
  146|  3.43k|	iterations = uint16_fromregion(&sr);
  147|  3.43k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  3.43k|	do {                              \
  |  |   52|  3.43k|		isc_region_t *_r = (r);   \
  |  |   53|  3.43k|		unsigned int  _l = (l);   \
  |  |   54|  3.43k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.43k|		_r->base += _l;           \
  |  |   56|  3.43k|		_r->length -= _l;         \
  |  |   57|  3.43k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.43k]
  |  |  ------------------
  ------------------
  148|  3.43k|	snprintf(buf, sizeof(buf), "%u ", iterations);
  149|  3.43k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.43k|	{                                  \
  |  |  277|  3.43k|		isc_result_t _r = (x);     \
  |  |  278|  3.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.43k|	}
  ------------------
  150|       |
  151|       |	/* Salt */
  152|  3.43k|	j = uint8_fromregion(&sr);
  153|  3.43k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.43k|	do {                              \
  |  |   52|  3.43k|		isc_region_t *_r = (r);   \
  |  |   53|  3.43k|		unsigned int  _l = (l);   \
  |  |   54|  3.43k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.43k|		_r->base += _l;           \
  |  |   56|  3.43k|		_r->length -= _l;         \
  |  |   57|  3.43k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.43k]
  |  |  ------------------
  ------------------
  154|  3.43k|	INSIST(j <= sr.length);
  ------------------
  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  155|       |
  156|  3.43k|	if (j != 0) {
  ------------------
  |  Branch (156:6): [True: 1.46k, False: 1.97k]
  ------------------
  157|  1.46k|		i = sr.length;
  158|  1.46k|		sr.length = j;
  159|  1.46k|		RETERR(isc_hex_totext(&sr, 1, "", target));
  ------------------
  |  |  276|  1.46k|	{                                  \
  |  |  277|  1.46k|		isc_result_t _r = (x);     \
  |  |  278|  1.46k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.46k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.46k|	}
  ------------------
  160|  1.46k|		sr.length = i - j;
  161|  1.97k|	} else {
  162|  1.97k|		RETERR(str_totext("-", target));
  ------------------
  |  |  276|  1.97k|	{                                  \
  |  |  277|  1.97k|		isc_result_t _r = (x);     \
  |  |  278|  1.97k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.97k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.97k|	}
  ------------------
  163|  1.97k|	}
  164|       |
  165|  3.43k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  3.43k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (165:6): [True: 0, False: 3.43k]
  ------------------
  166|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  167|      0|	}
  168|  3.43k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  3.43k|	{                                  \
  |  |  277|  3.43k|		isc_result_t _r = (x);     \
  |  |  278|  3.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.43k|	}
  ------------------
  169|       |
  170|       |	/* Next hash */
  171|  3.43k|	j = uint8_fromregion(&sr);
  172|  3.43k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.43k|	do {                              \
  |  |   52|  3.43k|		isc_region_t *_r = (r);   \
  |  |   53|  3.43k|		unsigned int  _l = (l);   \
  |  |   54|  3.43k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.43k|		_r->base += _l;           \
  |  |   56|  3.43k|		_r->length -= _l;         \
  |  |   57|  3.43k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.43k]
  |  |  ------------------
  ------------------
  173|  3.43k|	INSIST(j <= sr.length);
  ------------------
  |  |  202|  3.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  3.43k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 3.43k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  174|       |
  175|  3.43k|	i = sr.length;
  176|  3.43k|	sr.length = j;
  177|  3.43k|	RETERR(isc_base32hexnp_totext(&sr, 1, "", target));
  ------------------
  |  |  276|  3.43k|	{                                  \
  |  |  277|  3.43k|		isc_result_t _r = (x);     \
  |  |  278|  3.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.43k|	}
  ------------------
  178|  3.43k|	sr.length = i - j;
  179|       |
  180|       |	/*
  181|       |	 * Don't leave a trailing space when there's no typemap present.
  182|       |	 */
  183|  3.43k|	if (((tctx->flags & DNS_STYLEFLAG_MULTILINE) == 0) && (sr.length > 0)) {
  ------------------
  |  |  193|  3.43k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (183:6): [True: 3.43k, False: 0]
  |  Branch (183:56): [True: 1.33k, False: 2.10k]
  ------------------
  184|  1.33k|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.33k|	{                                  \
  |  |  277|  1.33k|		isc_result_t _r = (x);     \
  |  |  278|  1.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.33k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.33k|	}
  ------------------
  185|  1.33k|	}
  186|  3.43k|	RETERR(typemap_totext(&sr, tctx, target));
  ------------------
  |  |  276|  3.43k|	{                                  \
  |  |  277|  3.43k|		isc_result_t _r = (x);     \
  |  |  278|  3.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.43k|	}
  ------------------
  187|       |
  188|  3.43k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  3.43k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (188:6): [True: 0, False: 3.43k]
  ------------------
  189|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  190|      0|	}
  191|       |
  192|  3.43k|	return ISC_R_SUCCESS;
  193|  3.43k|}
rdata.c:checkowner_nsec3:
  395|  4.67k|checkowner_nsec3(ARGS_CHECKOWNER) {
  396|  4.67k|	unsigned char owner[NSEC3_MAX_HASH_LENGTH];
  397|  4.67k|	isc_buffer_t buffer;
  398|  4.67k|	dns_label_t label;
  399|       |
  400|  4.67k|	REQUIRE(type == dns_rdatatype_nsec3);
  ------------------
  |  |  198|  4.67k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.67k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.67k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.67k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  401|       |
  402|  4.67k|	UNUSED(type);
  ------------------
  |  |   69|  4.67k|#define UNUSED(x) (void)(x)
  ------------------
  403|  4.67k|	UNUSED(rdclass);
  ------------------
  |  |   69|  4.67k|#define UNUSED(x) (void)(x)
  ------------------
  404|  4.67k|	UNUSED(wildcard);
  ------------------
  |  |   69|  4.67k|#define UNUSED(x) (void)(x)
  ------------------
  405|       |
  406|       |	/*
  407|       |	 * First label is a base32hex string without padding.
  408|       |	 */
  409|  4.67k|	dns_name_getlabel(name, 0, &label);
  410|  4.67k|	isc_region_consume(&label, 1);
  ------------------
  |  |   51|  4.67k|	do {                              \
  |  |   52|  4.67k|		isc_region_t *_r = (r);   \
  |  |   53|  4.67k|		unsigned int  _l = (l);   \
  |  |   54|  4.67k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.67k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.67k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.67k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.67k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.67k|		_r->base += _l;           \
  |  |   56|  4.67k|		_r->length -= _l;         \
  |  |   57|  4.67k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.67k]
  |  |  ------------------
  ------------------
  411|  4.67k|	isc_buffer_init(&buffer, owner, sizeof(owner));
  412|  4.67k|	if (isc_base32hexnp_decoderegion(&label, &buffer) == ISC_R_SUCCESS) {
  ------------------
  |  Branch (412:6): [True: 4.66k, False: 18]
  ------------------
  413|  4.66k|		return true;
  414|  4.66k|	}
  415|       |
  416|     18|	return false;
  417|  4.67k|}

rdata.c:fromwire_nsec3param:
  144|  1.62k|fromwire_nsec3param(ARGS_FROMWIRE) {
  145|  1.62k|	isc_region_t sr, rr;
  146|  1.62k|	unsigned int saltlen;
  147|       |
  148|  1.62k|	REQUIRE(type == dns_rdatatype_nsec3param);
  ------------------
  |  |  198|  1.62k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.62k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.62k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.62k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  149|       |
  150|  1.62k|	UNUSED(type);
  ------------------
  |  |   69|  1.62k|#define UNUSED(x) (void)(x)
  ------------------
  151|  1.62k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.62k|#define UNUSED(x) (void)(x)
  ------------------
  152|  1.62k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.62k|#define UNUSED(x) (void)(x)
  ------------------
  153|       |
  154|  1.62k|	isc_buffer_activeregion(source, &sr);
  155|  1.62k|	rr = sr;
  156|       |
  157|       |	/* hash(1), flags(1), iterations(2), saltlen(1) */
  158|  1.62k|	if (sr.length < 5U) {
  ------------------
  |  Branch (158:6): [True: 5, False: 1.61k]
  ------------------
  159|      5|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      5|	{                                  \
  |  |  277|      5|		isc_result_t _r = (x);     \
  |  |  278|      5|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 5, False: 0]
  |  |  ------------------
  |  |  279|      5|			return ((_r));     \
  |  |  280|      5|		}                          \
  |  |  281|      5|	}
  ------------------
  160|      0|	}
  161|  1.61k|	saltlen = sr.base[4];
  162|  1.61k|	isc_region_consume(&sr, 5);
  ------------------
  |  |   51|  1.61k|	do {                              \
  |  |   52|  1.61k|		isc_region_t *_r = (r);   \
  |  |   53|  1.61k|		unsigned int  _l = (l);   \
  |  |   54|  1.61k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.61k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.61k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.61k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.61k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.61k|		_r->base += _l;           \
  |  |   56|  1.61k|		_r->length -= _l;         \
  |  |   57|  1.61k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.61k]
  |  |  ------------------
  ------------------
  163|       |
  164|  1.61k|	if (sr.length != saltlen) {
  ------------------
  |  Branch (164:6): [True: 19, False: 1.59k]
  ------------------
  165|     19|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|     19|	{                                  \
  |  |  277|     19|		isc_result_t _r = (x);     \
  |  |  278|     19|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 19, False: 0]
  |  |  ------------------
  |  |  279|     19|			return ((_r));     \
  |  |  280|     19|		}                          \
  |  |  281|     19|	}
  ------------------
  166|      0|	}
  167|  1.59k|	isc_region_consume(&sr, saltlen);
  ------------------
  |  |   51|  1.59k|	do {                              \
  |  |   52|  1.59k|		isc_region_t *_r = (r);   \
  |  |   53|  1.59k|		unsigned int  _l = (l);   \
  |  |   54|  1.59k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.59k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.59k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.59k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.59k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.59k|		_r->base += _l;           \
  |  |   56|  1.59k|		_r->length -= _l;         \
  |  |   57|  1.59k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.59k]
  |  |  ------------------
  ------------------
  168|  1.59k|	RETERR(mem_tobuffer(target, rr.base, rr.length));
  ------------------
  |  |  276|  1.59k|	{                                  \
  |  |  277|  1.59k|		isc_result_t _r = (x);     \
  |  |  278|  1.59k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 82, False: 1.51k]
  |  |  ------------------
  |  |  279|     82|			return ((_r));     \
  |  |  280|     82|		}                          \
  |  |  281|  1.59k|	}
  ------------------
  169|  1.51k|	isc_buffer_forward(source, rr.length);
  170|  1.51k|	return ISC_R_SUCCESS;
  171|  1.59k|}
rdata.c:towire_nsec3param:
  174|    730|towire_nsec3param(ARGS_TOWIRE) {
  175|    730|	isc_region_t sr;
  176|       |
  177|    730|	REQUIRE(rdata->type == dns_rdatatype_nsec3param);
  ------------------
  |  |  198|    730|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    730|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 730, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    730|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  178|    730|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    730|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    730|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 730, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    730|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  179|       |
  180|    730|	UNUSED(cctx);
  ------------------
  |  |   69|    730|#define UNUSED(x) (void)(x)
  ------------------
  181|       |
  182|    730|	dns_rdata_toregion(rdata, &sr);
  183|    730|	return mem_tobuffer(target, sr.base, sr.length);
  184|    730|}
rdata.c:totext_nsec3param:
   94|  1.42k|totext_nsec3param(ARGS_TOTEXT) {
   95|  1.42k|	isc_region_t sr;
   96|  1.42k|	unsigned int i, j;
   97|  1.42k|	unsigned char hash;
   98|  1.42k|	unsigned char flags;
   99|  1.42k|	char buf[sizeof("65535 ")];
  100|  1.42k|	uint32_t iterations;
  101|       |
  102|  1.42k|	REQUIRE(rdata->type == dns_rdatatype_nsec3param);
  ------------------
  |  |  198|  1.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  103|  1.42k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  104|       |
  105|  1.42k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.42k|#define UNUSED(x) (void)(x)
  ------------------
  106|       |
  107|  1.42k|	dns_rdata_toregion(rdata, &sr);
  108|       |
  109|  1.42k|	hash = uint8_fromregion(&sr);
  110|  1.42k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.42k|	do {                              \
  |  |   52|  1.42k|		isc_region_t *_r = (r);   \
  |  |   53|  1.42k|		unsigned int  _l = (l);   \
  |  |   54|  1.42k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.42k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.42k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.42k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.42k|		_r->base += _l;           \
  |  |   56|  1.42k|		_r->length -= _l;         \
  |  |   57|  1.42k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.42k]
  |  |  ------------------
  ------------------
  111|       |
  112|  1.42k|	flags = uint8_fromregion(&sr);
  113|  1.42k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.42k|	do {                              \
  |  |   52|  1.42k|		isc_region_t *_r = (r);   \
  |  |   53|  1.42k|		unsigned int  _l = (l);   \
  |  |   54|  1.42k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.42k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.42k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.42k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.42k|		_r->base += _l;           \
  |  |   56|  1.42k|		_r->length -= _l;         \
  |  |   57|  1.42k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.42k]
  |  |  ------------------
  ------------------
  114|       |
  115|  1.42k|	iterations = uint16_fromregion(&sr);
  116|  1.42k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.42k|	do {                              \
  |  |   52|  1.42k|		isc_region_t *_r = (r);   \
  |  |   53|  1.42k|		unsigned int  _l = (l);   \
  |  |   54|  1.42k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.42k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.42k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.42k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.42k|		_r->base += _l;           \
  |  |   56|  1.42k|		_r->length -= _l;         \
  |  |   57|  1.42k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.42k]
  |  |  ------------------
  ------------------
  117|       |
  118|  1.42k|	snprintf(buf, sizeof(buf), "%u ", hash);
  119|  1.42k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.42k|	{                                  \
  |  |  277|  1.42k|		isc_result_t _r = (x);     \
  |  |  278|  1.42k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.42k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.42k|	}
  ------------------
  120|       |
  121|  1.42k|	snprintf(buf, sizeof(buf), "%u ", flags);
  122|  1.42k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.42k|	{                                  \
  |  |  277|  1.42k|		isc_result_t _r = (x);     \
  |  |  278|  1.42k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.42k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.42k|	}
  ------------------
  123|       |
  124|  1.42k|	snprintf(buf, sizeof(buf), "%u ", iterations);
  125|  1.42k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.42k|	{                                  \
  |  |  277|  1.42k|		isc_result_t _r = (x);     \
  |  |  278|  1.42k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.42k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.42k|	}
  ------------------
  126|       |
  127|  1.42k|	j = uint8_fromregion(&sr);
  128|  1.42k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.42k|	do {                              \
  |  |   52|  1.42k|		isc_region_t *_r = (r);   \
  |  |   53|  1.42k|		unsigned int  _l = (l);   \
  |  |   54|  1.42k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.42k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.42k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.42k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.42k|		_r->base += _l;           \
  |  |   56|  1.42k|		_r->length -= _l;         \
  |  |   57|  1.42k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.42k]
  |  |  ------------------
  ------------------
  129|  1.42k|	INSIST(j <= sr.length);
  ------------------
  |  |  202|  1.42k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.42k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.42k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  130|       |
  131|  1.42k|	if (j != 0) {
  ------------------
  |  Branch (131:6): [True: 964, False: 462]
  ------------------
  132|    964|		i = sr.length;
  133|    964|		sr.length = j;
  134|    964|		RETERR(isc_hex_totext(&sr, 1, "", target));
  ------------------
  |  |  276|    964|	{                                  \
  |  |  277|    964|		isc_result_t _r = (x);     \
  |  |  278|    964|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 964]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    964|	}
  ------------------
  135|    964|		sr.length = i - j;
  136|    964|	} else {
  137|    462|		RETERR(str_totext("-", target));
  ------------------
  |  |  276|    462|	{                                  \
  |  |  277|    462|		isc_result_t _r = (x);     \
  |  |  278|    462|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 462]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    462|	}
  ------------------
  138|    462|	}
  139|       |
  140|  1.42k|	return ISC_R_SUCCESS;
  141|  1.42k|}

rdata.c:fromwire_nsec:
   77|  1.92k|fromwire_nsec(ARGS_FROMWIRE) {
   78|  1.92k|	isc_region_t sr;
   79|  1.92k|	dns_name_t name;
   80|       |
   81|  1.92k|	REQUIRE(type == dns_rdatatype_nsec);
  ------------------
  |  |  198|  1.92k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.92k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.92k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.92k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   82|       |
   83|  1.92k|	UNUSED(type);
  ------------------
  |  |   69|  1.92k|#define UNUSED(x) (void)(x)
  ------------------
   84|  1.92k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.92k|#define UNUSED(x) (void)(x)
  ------------------
   85|       |
   86|  1.92k|	dctx = dns_decompress_setpermitted(dctx, false);
   87|       |
   88|  1.92k|	dns_name_init(&name);
   89|  1.92k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  1.92k|	{                                  \
  |  |  277|  1.92k|		isc_result_t _r = (x);     \
  |  |  278|  1.92k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 85, False: 1.84k]
  |  |  ------------------
  |  |  279|     85|			return ((_r));     \
  |  |  280|     85|		}                          \
  |  |  281|  1.92k|	}
  ------------------
   90|       |
   91|  1.84k|	isc_buffer_activeregion(source, &sr);
   92|  1.84k|	RETERR(typemap_test(&sr, false));
  ------------------
  |  |  276|  1.84k|	{                                  \
  |  |  277|  1.84k|		isc_result_t _r = (x);     \
  |  |  278|  1.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 29, False: 1.81k]
  |  |  ------------------
  |  |  279|     29|			return ((_r));     \
  |  |  280|     29|		}                          \
  |  |  281|  1.84k|	}
  ------------------
   93|  1.81k|	RETERR(mem_tobuffer(target, sr.base, sr.length));
  ------------------
  |  |  276|  1.81k|	{                                  \
  |  |  277|  1.81k|		isc_result_t _r = (x);     \
  |  |  278|  1.81k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 83, False: 1.72k]
  |  |  ------------------
  |  |  279|     83|			return ((_r));     \
  |  |  280|     83|		}                          \
  |  |  281|  1.81k|	}
  ------------------
   94|  1.72k|	isc_buffer_forward(source, sr.length);
   95|  1.72k|	return ISC_R_SUCCESS;
   96|  1.81k|}
rdata.c:towire_nsec:
   99|    761|towire_nsec(ARGS_TOWIRE) {
  100|    761|	isc_region_t sr;
  101|    761|	dns_name_t name;
  102|       |
  103|    761|	REQUIRE(rdata->type == dns_rdatatype_nsec);
  ------------------
  |  |  198|    761|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    761|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 761, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    761|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  104|    761|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    761|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    761|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 761, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    761|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  105|       |
  106|    761|	dns_compress_setpermitted(cctx, false);
  107|    761|	dns_name_init(&name);
  108|    761|	dns_rdata_toregion(rdata, &sr);
  109|    761|	dns_name_fromregion(&name, &sr);
  110|    761|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|    761|	do {                              \
  |  |   52|    761|		isc_region_t *_r = (r);   \
  |  |   53|    761|		unsigned int  _l = (l);   \
  |  |   54|    761|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    761|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    761|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 761, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    761|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    761|		_r->base += _l;           \
  |  |   56|    761|		_r->length -= _l;         \
  |  |   57|    761|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 761]
  |  |  ------------------
  ------------------
  111|    761|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|    761|	{                                  \
  |  |  277|    761|		isc_result_t _r = (x);     \
  |  |  278|    761|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 760]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    761|	}
  ------------------
  112|       |
  113|    760|	return mem_tobuffer(target, sr.base, sr.length);
  114|    761|}
rdata.c:totext_nsec:
   53|  1.47k|totext_nsec(ARGS_TOTEXT) {
   54|  1.47k|	isc_region_t sr;
   55|  1.47k|	dns_name_t name;
   56|       |
   57|  1.47k|	REQUIRE(rdata->type == dns_rdatatype_nsec);
  ------------------
  |  |  198|  1.47k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.47k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.47k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.47k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   58|  1.47k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.47k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.47k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.47k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.47k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   59|       |
   60|  1.47k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.47k|#define UNUSED(x) (void)(x)
  ------------------
   61|       |
   62|  1.47k|	dns_name_init(&name);
   63|  1.47k|	dns_rdata_toregion(rdata, &sr);
   64|  1.47k|	dns_name_fromregion(&name, &sr);
   65|  1.47k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  1.47k|	do {                              \
  |  |   52|  1.47k|		isc_region_t *_r = (r);   \
  |  |   53|  1.47k|		unsigned int  _l = (l);   \
  |  |   54|  1.47k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.47k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.47k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.47k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.47k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.47k|		_r->base += _l;           \
  |  |   56|  1.47k|		_r->length -= _l;         \
  |  |   57|  1.47k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.47k]
  |  |  ------------------
  ------------------
   66|  1.47k|	RETERR(dns_name_totext(&name, 0, target));
  ------------------
  |  |  276|  1.47k|	{                                  \
  |  |  277|  1.47k|		isc_result_t _r = (x);     \
  |  |  278|  1.47k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.47k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.47k|	}
  ------------------
   67|       |	/*
   68|       |	 * Don't leave a trailing space when there's no typemap present.
   69|       |	 */
   70|  1.47k|	if (sr.length > 0) {
  ------------------
  |  Branch (70:6): [True: 1.47k, False: 0]
  ------------------
   71|  1.47k|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.47k|	{                                  \
  |  |  277|  1.47k|		isc_result_t _r = (x);     \
  |  |  278|  1.47k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.47k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.47k|	}
  ------------------
   72|  1.47k|	}
   73|  1.47k|	return typemap_totext(&sr, NULL, target);
   74|  1.47k|}

rdata.c:fromwire_null:
   42|  3.35k|fromwire_null(ARGS_FROMWIRE) {
   43|  3.35k|	isc_region_t sr;
   44|       |
   45|  3.35k|	REQUIRE(type == dns_rdatatype_null);
  ------------------
  |  |  198|  3.35k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.35k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.35k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.35k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   46|       |
   47|  3.35k|	UNUSED(type);
  ------------------
  |  |   69|  3.35k|#define UNUSED(x) (void)(x)
  ------------------
   48|  3.35k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.35k|#define UNUSED(x) (void)(x)
  ------------------
   49|  3.35k|	UNUSED(dctx);
  ------------------
  |  |   69|  3.35k|#define UNUSED(x) (void)(x)
  ------------------
   50|       |
   51|  3.35k|	isc_buffer_activeregion(source, &sr);
   52|  3.35k|	isc_buffer_forward(source, sr.length);
   53|  3.35k|	return mem_tobuffer(target, sr.base, sr.length);
   54|  3.35k|}
rdata.c:towire_null:
   57|  1.58k|towire_null(ARGS_TOWIRE) {
   58|  1.58k|	REQUIRE(rdata->type == dns_rdatatype_null);
  ------------------
  |  |  198|  1.58k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.58k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.58k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.58k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   59|       |
   60|  1.58k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.58k|#define UNUSED(x) (void)(x)
  ------------------
   61|       |
   62|  1.58k|	return mem_tobuffer(target, rdata->data, rdata->length);
   63|  1.58k|}
rdata.c:totext_null:
   35|  3.07k|totext_null(ARGS_TOTEXT) {
   36|  3.07k|	REQUIRE(rdata->type == dns_rdatatype_null);
  ------------------
  |  |  198|  3.07k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.07k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.07k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.07k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|  3.07k|	return unknown_totext(rdata, tctx, target);
   39|  3.07k|}

rdata.c:fromwire_nxt:
  136|  2.45k|fromwire_nxt(ARGS_FROMWIRE) {
  137|  2.45k|	isc_region_t sr;
  138|  2.45k|	dns_name_t name;
  139|       |
  140|  2.45k|	REQUIRE(type == dns_rdatatype_nxt);
  ------------------
  |  |  198|  2.45k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.45k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.45k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.45k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  141|       |
  142|  2.45k|	UNUSED(type);
  ------------------
  |  |   69|  2.45k|#define UNUSED(x) (void)(x)
  ------------------
  143|  2.45k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.45k|#define UNUSED(x) (void)(x)
  ------------------
  144|       |
  145|  2.45k|	dctx = dns_decompress_setpermitted(dctx, false);
  146|       |
  147|  2.45k|	dns_name_init(&name);
  148|  2.45k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  2.45k|	{                                  \
  |  |  277|  2.45k|		isc_result_t _r = (x);     \
  |  |  278|  2.45k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 82, False: 2.37k]
  |  |  ------------------
  |  |  279|     82|			return ((_r));     \
  |  |  280|     82|		}                          \
  |  |  281|  2.45k|	}
  ------------------
  149|       |
  150|  2.37k|	isc_buffer_activeregion(source, &sr);
  151|  2.37k|	if (sr.length > 0 && ((sr.base[0] & 0x80) != 0 || sr.length > 16 ||
  ------------------
  |  Branch (151:6): [True: 1.70k, False: 671]
  |  Branch (151:24): [True: 6, False: 1.70k]
  |  Branch (151:52): [True: 1, False: 1.69k]
  ------------------
  152|  1.69k|			      sr.base[sr.length - 1] == 0))
  ------------------
  |  Branch (152:10): [True: 1, False: 1.69k]
  ------------------
  153|      8|	{
  154|      8|		return DNS_R_BADBITMAP;
  155|      8|	}
  156|  2.36k|	RETERR(mem_tobuffer(target, sr.base, sr.length));
  ------------------
  |  |  276|  2.36k|	{                                  \
  |  |  277|  2.36k|		isc_result_t _r = (x);     \
  |  |  278|  2.36k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 71, False: 2.29k]
  |  |  ------------------
  |  |  279|     71|			return ((_r));     \
  |  |  280|     71|		}                          \
  |  |  281|  2.36k|	}
  ------------------
  157|  2.29k|	isc_buffer_forward(source, sr.length);
  158|  2.29k|	return ISC_R_SUCCESS;
  159|  2.36k|}
rdata.c:towire_nxt:
  162|  1.14k|towire_nxt(ARGS_TOWIRE) {
  163|  1.14k|	isc_region_t sr;
  164|  1.14k|	dns_name_t name;
  165|       |
  166|  1.14k|	REQUIRE(rdata->type == dns_rdatatype_nxt);
  ------------------
  |  |  198|  1.14k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.14k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.14k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.14k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  167|  1.14k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.14k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.14k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.14k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.14k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  168|       |
  169|  1.14k|	dns_compress_setpermitted(cctx, false);
  170|  1.14k|	dns_name_init(&name);
  171|  1.14k|	dns_rdata_toregion(rdata, &sr);
  172|  1.14k|	dns_name_fromregion(&name, &sr);
  173|  1.14k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  1.14k|	do {                              \
  |  |   52|  1.14k|		isc_region_t *_r = (r);   \
  |  |   53|  1.14k|		unsigned int  _l = (l);   \
  |  |   54|  1.14k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.14k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.14k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.14k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.14k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.14k|		_r->base += _l;           \
  |  |   56|  1.14k|		_r->length -= _l;         \
  |  |   57|  1.14k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.14k]
  |  |  ------------------
  ------------------
  174|  1.14k|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|  1.14k|	{                                  \
  |  |  277|  1.14k|		isc_result_t _r = (x);     \
  |  |  278|  1.14k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 1.14k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  1.14k|	}
  ------------------
  175|       |
  176|  1.14k|	return mem_tobuffer(target, sr.base, sr.length);
  177|  1.14k|}
rdata.c:totext_nxt:
   90|  2.25k|totext_nxt(ARGS_TOTEXT) {
   91|  2.25k|	isc_region_t sr;
   92|  2.25k|	unsigned int i, j, opts;
   93|  2.25k|	dns_name_t name;
   94|  2.25k|	dns_name_t prefix;
   95|       |
   96|  2.25k|	REQUIRE(rdata->type == dns_rdatatype_nxt);
  ------------------
  |  |  198|  2.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   97|  2.25k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   98|       |
   99|  2.25k|	dns_name_init(&name);
  100|  2.25k|	dns_name_init(&prefix);
  101|  2.25k|	dns_rdata_toregion(rdata, &sr);
  102|  2.25k|	dns_name_fromregion(&name, &sr);
  103|  2.25k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  2.25k|	do {                              \
  |  |   52|  2.25k|		isc_region_t *_r = (r);   \
  |  |   53|  2.25k|		unsigned int  _l = (l);   \
  |  |   54|  2.25k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.25k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.25k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.25k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.25k|		_r->base += _l;           \
  |  |   56|  2.25k|		_r->length -= _l;         \
  |  |   57|  2.25k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.25k]
  |  |  ------------------
  ------------------
  104|  2.25k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (104:9): [True: 0, False: 2.25k]
  ------------------
  105|  2.25k|							 : 0;
  106|  2.25k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  2.25k|	{                                  \
  |  |  277|  2.25k|		isc_result_t _r = (x);     \
  |  |  278|  2.25k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.25k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.25k|	}
  ------------------
  107|       |
  108|  9.81k|	for (i = 0; i < sr.length; i++) {
  ------------------
  |  Branch (108:14): [True: 7.55k, False: 2.25k]
  ------------------
  109|  7.55k|		if (sr.base[i] != 0) {
  ------------------
  |  Branch (109:7): [True: 5.94k, False: 1.61k]
  ------------------
  110|  53.4k|			for (j = 0; j < 8; j++) {
  ------------------
  |  Branch (110:16): [True: 47.5k, False: 5.94k]
  ------------------
  111|  47.5k|				if ((sr.base[i] & (0x80 >> j)) != 0) {
  ------------------
  |  Branch (111:9): [True: 19.3k, False: 28.1k]
  ------------------
  112|  19.3k|					{
  113|  19.3k|						dns_rdatatype_t t = i * 8 + j;
  114|  19.3k|						RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  19.3k|	{                                  \
  |  |  277|  19.3k|		isc_result_t _r = (x);     \
  |  |  278|  19.3k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 19.3k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  19.3k|	}
  ------------------
  115|  19.3k|						if (dns_rdatatype_isknown(t)) {
  ------------------
  |  Branch (115:11): [True: 15.3k, False: 3.98k]
  ------------------
  116|  15.3k|							RETERR(dns_rdatatype_totext(
  ------------------
  |  |  276|  15.3k|	{                                  \
  |  |  277|  15.3k|		isc_result_t _r = (x);     \
  |  |  278|  15.3k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 15.3k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  15.3k|	}
  ------------------
  117|  15.3k|								t, target));
  118|  15.3k|						} else {
  119|  3.98k|							char buf[sizeof("6553"
  120|  3.98k|									"5")];
  121|  3.98k|							snprintf(buf,
  122|  3.98k|								 sizeof(buf),
  123|  3.98k|								 "%u", t);
  124|  3.98k|							RETERR(str_totext(
  ------------------
  |  |  276|  3.98k|	{                                  \
  |  |  277|  3.98k|		isc_result_t _r = (x);     \
  |  |  278|  3.98k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.98k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.98k|	}
  ------------------
  125|  3.98k|								buf, target));
  126|  3.98k|						}
  127|  19.3k|					}
  128|  19.3k|				}
  129|  47.5k|			}
  130|  5.94k|		}
  131|  7.55k|	}
  132|  2.25k|	return ISC_R_SUCCESS;
  133|  2.25k|}

rdata.c:fromwire_openpgpkey:
   70|  1.36k|fromwire_openpgpkey(ARGS_FROMWIRE) {
   71|  1.36k|	isc_region_t sr;
   72|       |
   73|  1.36k|	REQUIRE(type == dns_rdatatype_openpgpkey);
  ------------------
  |  |  198|  1.36k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.36k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.36k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.36k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   74|       |
   75|  1.36k|	UNUSED(type);
  ------------------
  |  |   69|  1.36k|#define UNUSED(x) (void)(x)
  ------------------
   76|  1.36k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.36k|#define UNUSED(x) (void)(x)
  ------------------
   77|  1.36k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.36k|#define UNUSED(x) (void)(x)
  ------------------
   78|       |
   79|       |	/*
   80|       |	 * Keyring.
   81|       |	 */
   82|  1.36k|	isc_buffer_activeregion(source, &sr);
   83|  1.36k|	if (sr.length < 1) {
  ------------------
  |  Branch (83:6): [True: 2, False: 1.36k]
  ------------------
   84|      2|		return ISC_R_UNEXPECTEDEND;
   85|      2|	}
   86|  1.36k|	isc_buffer_forward(source, sr.length);
   87|  1.36k|	return mem_tobuffer(target, sr.base, sr.length);
   88|  1.36k|}
rdata.c:towire_openpgpkey:
   91|    549|towire_openpgpkey(ARGS_TOWIRE) {
   92|    549|	isc_region_t sr;
   93|       |
   94|    549|	REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
  ------------------
  |  |  198|    549|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    549|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 549, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    549|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   95|    549|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    549|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    549|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 549, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    549|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   96|       |
   97|    549|	UNUSED(cctx);
  ------------------
  |  |   69|    549|#define UNUSED(x) (void)(x)
  ------------------
   98|       |
   99|    549|	dns_rdata_toregion(rdata, &sr);
  100|    549|	return mem_tobuffer(target, sr.base, sr.length);
  101|    549|}
rdata.c:totext_openpgpkey:
   36|    959|totext_openpgpkey(ARGS_TOTEXT) {
   37|    959|	isc_region_t sr;
   38|       |
   39|    959|	REQUIRE(rdata->type == dns_rdatatype_openpgpkey);
  ------------------
  |  |  198|    959|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    959|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 959, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    959|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   40|    959|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    959|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    959|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 959, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    959|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|       |
   42|    959|	dns_rdata_toregion(rdata, &sr);
   43|       |
   44|       |	/*
   45|       |	 * Keyring
   46|       |	 */
   47|    959|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    959|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (47:6): [True: 0, False: 959]
  ------------------
   48|      0|		RETERR(str_totext("( ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   49|      0|	}
   50|       |
   51|    959|	if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) {
  ------------------
  |  |   95|    959|#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL
  ------------------
  |  Branch (51:6): [True: 959, False: 0]
  ------------------
   52|    959|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (52:7): [True: 0, False: 959]
  ------------------
   53|      0|			RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   54|    959|		} else {
   55|    959|			RETERR(isc_base64_totext(&sr, tctx->width - 2,
  ------------------
  |  |  276|    959|	{                                  \
  |  |  277|    959|		isc_result_t _r = (x);     \
  |  |  278|    959|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 959]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    959|	}
  ------------------
   56|    959|						 tctx->linebreak, target));
   57|    959|		}
   58|    959|	} else {
   59|      0|		RETERR(str_totext("[omitted]", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   60|      0|	}
   61|       |
   62|    959|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    959|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (62:6): [True: 0, False: 959]
  ------------------
   63|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   64|      0|	}
   65|       |
   66|    959|	return ISC_R_SUCCESS;
   67|    959|}

rdata.c:compare_opt:
  314|  3.47k|compare_opt(ARGS_COMPARE) {
  315|  3.47k|	isc_region_t r1;
  316|  3.47k|	isc_region_t r2;
  317|       |
  318|  3.47k|	REQUIRE(rdata1->type == rdata2->type);
  ------------------
  |  |  198|  3.47k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.47k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.47k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.47k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  319|  3.47k|	REQUIRE(rdata1->rdclass == rdata2->rdclass);
  ------------------
  |  |  198|  3.47k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.47k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.47k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.47k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  320|  3.47k|	REQUIRE(rdata1->type == dns_rdatatype_opt);
  ------------------
  |  |  198|  3.47k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.47k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.47k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.47k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  321|       |
  322|  3.47k|	dns_rdata_toregion(rdata1, &r1);
  323|  3.47k|	dns_rdata_toregion(rdata2, &r2);
  324|  3.47k|	return isc_region_compare(&r1, &r2);
  325|  3.47k|}
rdata.c:fromwire_opt:
   95|  10.5k|fromwire_opt(ARGS_FROMWIRE) {
   96|  10.5k|	dns_fixedname_t fixed;
   97|  10.5k|	dns_name_t *name;
   98|  10.5k|	isc_buffer_t b;
   99|  10.5k|	isc_region_t sregion;
  100|  10.5k|	isc_region_t tregion;
  101|  10.5k|	isc_result_t result;
  102|  10.5k|	uint16_t length;
  103|  10.5k|	uint16_t opt;
  104|  10.5k|	unsigned int total;
  105|       |
  106|  10.5k|	REQUIRE(type == dns_rdatatype_opt);
  ------------------
  |  |  198|  10.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  10.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 10.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  10.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  107|       |
  108|  10.5k|	UNUSED(type);
  ------------------
  |  |   69|  10.5k|#define UNUSED(x) (void)(x)
  ------------------
  109|  10.5k|	UNUSED(rdclass);
  ------------------
  |  |   69|  10.5k|#define UNUSED(x) (void)(x)
  ------------------
  110|       |
  111|  10.5k|	dctx = dns_decompress_setpermitted(dctx, false);
  112|       |
  113|  10.5k|	isc_buffer_activeregion(source, &sregion);
  114|  10.5k|	if (sregion.length == 0) {
  ------------------
  |  Branch (114:6): [True: 5.20k, False: 5.33k]
  ------------------
  115|  5.20k|		return ISC_R_SUCCESS;
  116|  5.20k|	}
  117|  5.33k|	total = 0;
  118|   666k|	while (sregion.length != 0) {
  ------------------
  |  Branch (118:9): [True: 661k, False: 5.13k]
  ------------------
  119|   661k|		if (sregion.length < 4) {
  ------------------
  |  Branch (119:7): [True: 9, False: 661k]
  ------------------
  120|      9|			return ISC_R_UNEXPECTEDEND;
  121|      9|		}
  122|   661k|		opt = uint16_fromregion(&sregion);
  123|   661k|		isc_region_consume(&sregion, 2);
  ------------------
  |  |   51|   661k|	do {                              \
  |  |   52|   661k|		isc_region_t *_r = (r);   \
  |  |   53|   661k|		unsigned int  _l = (l);   \
  |  |   54|   661k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|   661k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|   661k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 661k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|   661k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|   661k|		_r->base += _l;           \
  |  |   56|   661k|		_r->length -= _l;         \
  |  |   57|   661k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 661k]
  |  |  ------------------
  ------------------
  124|   661k|		length = uint16_fromregion(&sregion);
  125|   661k|		isc_region_consume(&sregion, 2);
  ------------------
  |  |   51|   661k|	do {                              \
  |  |   52|   661k|		isc_region_t *_r = (r);   \
  |  |   53|   661k|		unsigned int  _l = (l);   \
  |  |   54|   661k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|   661k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|   661k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 661k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|   661k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|   661k|		_r->base += _l;           \
  |  |   56|   661k|		_r->length -= _l;         \
  |  |   57|   661k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 661k]
  |  |  ------------------
  ------------------
  126|   661k|		total += 4;
  127|   661k|		if (sregion.length < length) {
  ------------------
  |  Branch (127:7): [True: 39, False: 661k]
  ------------------
  128|     39|			return ISC_R_UNEXPECTEDEND;
  129|     39|		}
  130|   661k|		switch (opt) {
  131|  4.79k|		case DNS_OPT_LLQ:
  ------------------
  |  Branch (131:3): [True: 4.79k, False: 656k]
  ------------------
  132|  4.79k|			if (length != 18U) {
  ------------------
  |  Branch (132:8): [True: 4, False: 4.78k]
  ------------------
  133|      4|				return DNS_R_OPTERR;
  134|      4|			}
  135|  4.78k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  4.78k|	do {                              \
  |  |   52|  4.78k|		isc_region_t *_r = (r);   \
  |  |   53|  4.78k|		unsigned int  _l = (l);   \
  |  |   54|  4.78k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.78k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.78k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.78k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.78k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.78k|		_r->base += _l;           \
  |  |   56|  4.78k|		_r->length -= _l;         \
  |  |   57|  4.78k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.78k]
  |  |  ------------------
  ------------------
  136|  4.78k|			break;
  137|  16.9k|		case DNS_OPT_UL:
  ------------------
  |  Branch (137:3): [True: 16.9k, False: 644k]
  ------------------
  138|  16.9k|			if (length != 4U && length != 8U) {
  ------------------
  |  Branch (138:8): [True: 7.40k, False: 9.56k]
  |  Branch (138:24): [True: 3, False: 7.40k]
  ------------------
  139|      3|				return DNS_R_OPTERR;
  140|      3|			}
  141|  16.9k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  16.9k|	do {                              \
  |  |   52|  16.9k|		isc_region_t *_r = (r);   \
  |  |   53|  16.9k|		unsigned int  _l = (l);   \
  |  |   54|  16.9k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  16.9k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  16.9k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 16.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  16.9k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  16.9k|		_r->base += _l;           \
  |  |   56|  16.9k|		_r->length -= _l;         \
  |  |   57|  16.9k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 16.9k]
  |  |  ------------------
  ------------------
  142|  16.9k|			break;
  143|  25.2k|		case DNS_OPT_CLIENT_SUBNET: {
  ------------------
  |  Branch (143:3): [True: 25.2k, False: 635k]
  ------------------
  144|  25.2k|			uint16_t family;
  145|  25.2k|			uint8_t addrlen;
  146|  25.2k|			uint8_t scope;
  147|  25.2k|			uint8_t addrbytes;
  148|       |
  149|  25.2k|			if (length < 4) {
  ------------------
  |  Branch (149:8): [True: 2, False: 25.2k]
  ------------------
  150|      2|				return DNS_R_OPTERR;
  151|      2|			}
  152|  25.2k|			family = uint16_fromregion(&sregion);
  153|  25.2k|			isc_region_consume(&sregion, 2);
  ------------------
  |  |   51|  25.2k|	do {                              \
  |  |   52|  25.2k|		isc_region_t *_r = (r);   \
  |  |   53|  25.2k|		unsigned int  _l = (l);   \
  |  |   54|  25.2k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  25.2k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  25.2k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 25.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  25.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  25.2k|		_r->base += _l;           \
  |  |   56|  25.2k|		_r->length -= _l;         \
  |  |   57|  25.2k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 25.2k]
  |  |  ------------------
  ------------------
  154|  25.2k|			addrlen = uint8_fromregion(&sregion);
  155|  25.2k|			isc_region_consume(&sregion, 1);
  ------------------
  |  |   51|  25.2k|	do {                              \
  |  |   52|  25.2k|		isc_region_t *_r = (r);   \
  |  |   53|  25.2k|		unsigned int  _l = (l);   \
  |  |   54|  25.2k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  25.2k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  25.2k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 25.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  25.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  25.2k|		_r->base += _l;           \
  |  |   56|  25.2k|		_r->length -= _l;         \
  |  |   57|  25.2k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 25.2k]
  |  |  ------------------
  ------------------
  156|  25.2k|			scope = uint8_fromregion(&sregion);
  157|  25.2k|			isc_region_consume(&sregion, 1);
  ------------------
  |  |   51|  25.2k|	do {                              \
  |  |   52|  25.2k|		isc_region_t *_r = (r);   \
  |  |   53|  25.2k|		unsigned int  _l = (l);   \
  |  |   54|  25.2k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  25.2k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  25.2k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 25.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  25.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  25.2k|		_r->base += _l;           \
  |  |   56|  25.2k|		_r->length -= _l;         \
  |  |   57|  25.2k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 25.2k]
  |  |  ------------------
  ------------------
  158|       |
  159|  25.2k|			switch (family) {
  160|  8.50k|			case 0:
  ------------------
  |  Branch (160:4): [True: 8.50k, False: 16.7k]
  ------------------
  161|       |				/*
  162|       |				 * XXXMUKS: In queries and replies, if
  163|       |				 * FAMILY is set to 0, SOURCE
  164|       |				 * PREFIX-LENGTH and SCOPE PREFIX-LENGTH
  165|       |				 * must be 0 and ADDRESS should not be
  166|       |				 * present as the address and prefix
  167|       |				 * lengths don't make sense because the
  168|       |				 * family is unknown.
  169|       |				 */
  170|  8.50k|				if (addrlen != 0U || scope != 0U) {
  ------------------
  |  Branch (170:9): [True: 10, False: 8.49k]
  |  Branch (170:26): [True: 8, False: 8.48k]
  ------------------
  171|     18|					return DNS_R_OPTERR;
  172|     18|				}
  173|  8.48k|				break;
  174|  8.48k|			case 1:
  ------------------
  |  Branch (174:4): [True: 4.79k, False: 20.5k]
  ------------------
  175|  4.79k|				if (addrlen > 32U || scope > 32U) {
  ------------------
  |  Branch (175:9): [True: 2, False: 4.78k]
  |  Branch (175:26): [True: 2, False: 4.78k]
  ------------------
  176|      4|					return DNS_R_OPTERR;
  177|      4|				}
  178|  4.78k|				break;
  179|  11.9k|			case 2:
  ------------------
  |  Branch (179:4): [True: 11.9k, False: 13.2k]
  ------------------
  180|  11.9k|				if (addrlen > 128U || scope > 128U) {
  ------------------
  |  Branch (180:9): [True: 2, False: 11.9k]
  |  Branch (180:27): [True: 4, False: 11.9k]
  ------------------
  181|      6|					return DNS_R_OPTERR;
  182|      6|				}
  183|  11.9k|				break;
  184|  11.9k|			default:
  ------------------
  |  Branch (184:4): [True: 3, False: 25.2k]
  ------------------
  185|      3|				return DNS_R_OPTERR;
  186|  25.2k|			}
  187|  25.2k|			addrbytes = (addrlen + 7) / 8;
  188|  25.2k|			if (addrbytes + 4 != length) {
  ------------------
  |  Branch (188:8): [True: 9, False: 25.2k]
  ------------------
  189|      9|				return DNS_R_OPTERR;
  190|      9|			}
  191|       |
  192|  25.2k|			if (addrbytes != 0U && (addrlen % 8) != 0) {
  ------------------
  |  Branch (192:8): [True: 4.92k, False: 20.3k]
  |  Branch (192:27): [True: 4.64k, False: 284]
  ------------------
  193|  4.64k|				uint8_t bits = ~0U << (8 - (addrlen % 8));
  194|  4.64k|				bits &= sregion.base[addrbytes - 1];
  195|  4.64k|				if (bits != sregion.base[addrbytes - 1]) {
  ------------------
  |  Branch (195:9): [True: 2, False: 4.64k]
  ------------------
  196|      2|					return DNS_R_OPTERR;
  197|      2|				}
  198|  4.64k|			}
  199|  25.2k|			isc_region_consume(&sregion, addrbytes);
  ------------------
  |  |   51|  25.2k|	do {                              \
  |  |   52|  25.2k|		isc_region_t *_r = (r);   \
  |  |   53|  25.2k|		unsigned int  _l = (l);   \
  |  |   54|  25.2k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  25.2k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  25.2k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 25.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  25.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  25.2k|		_r->base += _l;           \
  |  |   56|  25.2k|		_r->length -= _l;         \
  |  |   57|  25.2k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 25.2k]
  |  |  ------------------
  ------------------
  200|  25.2k|			break;
  201|  25.2k|		}
  202|  34.9k|		case DNS_OPT_EXPIRE:
  ------------------
  |  Branch (202:3): [True: 34.9k, False: 626k]
  ------------------
  203|       |			/*
  204|       |			 * Request has zero length.  Response is 32 bits.
  205|       |			 */
  206|  34.9k|			if (length != 0 && length != 4) {
  ------------------
  |  Branch (206:8): [True: 25.8k, False: 9.02k]
  |  Branch (206:23): [True: 2, False: 25.8k]
  ------------------
  207|      2|				return DNS_R_OPTERR;
  208|      2|			}
  209|  34.9k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  34.9k|	do {                              \
  |  |   52|  34.9k|		isc_region_t *_r = (r);   \
  |  |   53|  34.9k|		unsigned int  _l = (l);   \
  |  |   54|  34.9k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  34.9k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  34.9k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 34.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  34.9k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  34.9k|		_r->base += _l;           \
  |  |   56|  34.9k|		_r->length -= _l;         \
  |  |   57|  34.9k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 34.9k]
  |  |  ------------------
  ------------------
  210|  34.9k|			break;
  211|  2.31k|		case DNS_OPT_COOKIE:
  ------------------
  |  Branch (211:3): [True: 2.31k, False: 658k]
  ------------------
  212|       |			/*
  213|       |			 * Client cookie alone has length 8.
  214|       |			 * Client + server cookie is 8 + [8..32].
  215|       |			 */
  216|  2.31k|			if (length != 8 && (length < 16 || length > 40)) {
  ------------------
  |  Branch (216:8): [True: 352, False: 1.96k]
  |  Branch (216:24): [True: 5, False: 347]
  |  Branch (216:39): [True: 1, False: 346]
  ------------------
  217|      6|				return DNS_R_OPTERR;
  218|      6|			}
  219|  2.30k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  2.30k|	do {                              \
  |  |   52|  2.30k|		isc_region_t *_r = (r);   \
  |  |   53|  2.30k|		unsigned int  _l = (l);   \
  |  |   54|  2.30k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.30k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.30k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.30k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.30k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.30k|		_r->base += _l;           \
  |  |   56|  2.30k|		_r->length -= _l;         \
  |  |   57|  2.30k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.30k]
  |  |  ------------------
  ------------------
  220|  2.30k|			break;
  221|  3.62k|		case DNS_OPT_KEY_TAG:
  ------------------
  |  Branch (221:3): [True: 3.62k, False: 657k]
  ------------------
  222|  3.62k|			if (length == 0 || (length % 2) != 0) {
  ------------------
  |  Branch (222:8): [True: 1, False: 3.62k]
  |  Branch (222:23): [True: 1, False: 3.62k]
  ------------------
  223|      2|				return DNS_R_OPTERR;
  224|      2|			}
  225|  3.62k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  3.62k|	do {                              \
  |  |   52|  3.62k|		isc_region_t *_r = (r);   \
  |  |   53|  3.62k|		unsigned int  _l = (l);   \
  |  |   54|  3.62k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.62k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.62k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.62k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.62k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.62k|		_r->base += _l;           \
  |  |   56|  3.62k|		_r->length -= _l;         \
  |  |   57|  3.62k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.62k]
  |  |  ------------------
  ------------------
  226|  3.62k|			break;
  227|  14.2k|		case DNS_OPT_EDE:
  ------------------
  |  Branch (227:3): [True: 14.2k, False: 646k]
  ------------------
  228|  14.2k|			if (length < 2) {
  ------------------
  |  Branch (228:8): [True: 1, False: 14.2k]
  ------------------
  229|      1|				return DNS_R_OPTERR;
  230|      1|			}
  231|       |			/* UTF-8 Byte Order Mark is not permitted. RFC 5198 */
  232|  14.2k|			if (isc_utf8_bom(sregion.base + 2, length - 2)) {
  ------------------
  |  Branch (232:8): [True: 1, False: 14.2k]
  ------------------
  233|      1|				return DNS_R_OPTERR;
  234|      1|			}
  235|       |			/*
  236|       |			 * The EXTRA-TEXT field is specified as UTF-8, and
  237|       |			 * therefore must be validated for correctness
  238|       |			 * according to RFC 3269 security considerations.
  239|       |			 */
  240|  14.2k|			if (!isc_utf8_valid(sregion.base + 2, length - 2)) {
  ------------------
  |  Branch (240:8): [True: 71, False: 14.1k]
  ------------------
  241|     71|				return DNS_R_OPTERR;
  242|     71|			}
  243|  14.1k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  14.1k|	do {                              \
  |  |   52|  14.1k|		isc_region_t *_r = (r);   \
  |  |   53|  14.1k|		unsigned int  _l = (l);   \
  |  |   54|  14.1k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  14.1k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  14.1k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 14.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  14.1k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  14.1k|		_r->base += _l;           \
  |  |   56|  14.1k|		_r->length -= _l;         \
  |  |   57|  14.1k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 14.1k]
  |  |  ------------------
  ------------------
  244|  14.1k|			break;
  245|    845|		case DNS_OPT_CLIENT_TAG:
  ------------------
  |  Branch (245:3): [True: 845, False: 660k]
  ------------------
  246|    845|			FALLTHROUGH;
  ------------------
  |  |  105|    845|#define FALLTHROUGH [[fallthrough]]
  ------------------
  247|  2.02k|		case DNS_OPT_SERVER_TAG:
  ------------------
  |  Branch (247:3): [True: 1.17k, False: 659k]
  ------------------
  248|  2.02k|			if (length != 2) {
  ------------------
  |  Branch (248:8): [True: 4, False: 2.01k]
  ------------------
  249|      4|				return DNS_R_OPTERR;
  250|      4|			}
  251|  2.01k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  2.01k|	do {                              \
  |  |   52|  2.01k|		isc_region_t *_r = (r);   \
  |  |   53|  2.01k|		unsigned int  _l = (l);   \
  |  |   54|  2.01k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.01k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.01k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.01k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.01k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.01k|		_r->base += _l;           \
  |  |   56|  2.01k|		_r->length -= _l;         \
  |  |   57|  2.01k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.01k]
  |  |  ------------------
  ------------------
  252|  2.01k|			break;
  253|  2.32k|		case DNS_OPT_REPORT_CHANNEL:
  ------------------
  |  Branch (253:3): [True: 2.32k, False: 658k]
  ------------------
  254|       |			/* A domain name in wire format. RFC 9567 */
  255|  2.32k|			if (length == 0 || length > DNS_NAME_MAXWIRE) {
  ------------------
  |  |  190|  2.32k|#define DNS_NAME_MAXWIRE   255
  ------------------
  |  Branch (255:8): [True: 1, False: 2.32k]
  |  Branch (255:23): [True: 1, False: 2.32k]
  ------------------
  256|      2|				return DNS_R_OPTERR;
  257|      2|			}
  258|  2.32k|			isc_buffer_init(&b, sregion.base, length);
  259|  2.32k|			isc_buffer_add(&b, length);
  260|  2.32k|			isc_buffer_setactive(&b, length);
  261|  2.32k|			name = dns_fixedname_initname(&fixed);
  262|  2.32k|			result = dns_name_fromwire(name, &b, dctx, NULL);
  263|  2.32k|			if (result != ISC_R_SUCCESS || name->length != length ||
  ------------------
  |  Branch (263:8): [True: 1, False: 2.31k]
  |  Branch (263:35): [True: 2, False: 2.31k]
  ------------------
  264|  2.31k|			    !dns_name_isabsolute(name))
  ------------------
  |  Branch (264:8): [True: 0, False: 2.31k]
  ------------------
  265|      3|			{
  266|      3|				return DNS_R_OPTERR;
  267|      3|			}
  268|  2.31k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  2.31k|	do {                              \
  |  |   52|  2.31k|		isc_region_t *_r = (r);   \
  |  |   53|  2.31k|		unsigned int  _l = (l);   \
  |  |   54|  2.31k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.31k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.31k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.31k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.31k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.31k|		_r->base += _l;           \
  |  |   56|  2.31k|		_r->length -= _l;         \
  |  |   57|  2.31k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.31k]
  |  |  ------------------
  ------------------
  269|  2.31k|			break;
  270|  59.2k|		case DNS_OPT_ZONEVERSION:
  ------------------
  |  Branch (270:3): [True: 59.2k, False: 601k]
  ------------------
  271|  59.2k|			if (length == 0) {
  ------------------
  |  Branch (271:8): [True: 11.2k, False: 47.9k]
  ------------------
  272|       |				/* Request */
  273|  11.2k|				break;
  274|  11.2k|			}
  275|       |			/* Labels and Type */
  276|  47.9k|			if (length < 2) {
  ------------------
  |  Branch (276:8): [True: 1, False: 47.9k]
  ------------------
  277|      1|				return DNS_R_OPTERR;
  278|      1|			}
  279|       |			/* Type 0 (serial), length is 6. */
  280|  47.9k|			if (sregion.base[1] == 0 && length != 6) {
  ------------------
  |  Branch (280:8): [True: 951, False: 47.0k]
  |  Branch (280:32): [True: 1, False: 950]
  ------------------
  281|      1|				return DNS_R_OPTERR;
  282|      1|			}
  283|  47.9k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|  47.9k|	do {                              \
  |  |   52|  47.9k|		isc_region_t *_r = (r);   \
  |  |   53|  47.9k|		unsigned int  _l = (l);   \
  |  |   54|  47.9k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  47.9k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  47.9k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 47.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  47.9k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  47.9k|		_r->base += _l;           \
  |  |   56|  47.9k|		_r->length -= _l;         \
  |  |   57|  47.9k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 47.9k]
  |  |  ------------------
  ------------------
  284|  47.9k|			break;
  285|   495k|		default:
  ------------------
  |  Branch (285:3): [True: 495k, False: 165k]
  ------------------
  286|   495k|			isc_region_consume(&sregion, length);
  ------------------
  |  |   51|   495k|	do {                              \
  |  |   52|   495k|		isc_region_t *_r = (r);   \
  |  |   53|   495k|		unsigned int  _l = (l);   \
  |  |   54|   495k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|   495k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|   495k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 495k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|   495k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|   495k|		_r->base += _l;           \
  |  |   56|   495k|		_r->length -= _l;         \
  |  |   57|   495k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 495k]
  |  |  ------------------
  ------------------
  287|   495k|			break;
  288|   661k|		}
  289|   661k|		total += length;
  290|   661k|	}
  291|       |
  292|  5.13k|	isc_buffer_activeregion(source, &sregion);
  293|  5.13k|	isc_buffer_availableregion(target, &tregion);
  294|  5.13k|	if (tregion.length < total) {
  ------------------
  |  Branch (294:6): [True: 560, False: 4.57k]
  ------------------
  295|    560|		return ISC_R_NOSPACE;
  296|    560|	}
  297|  4.57k|	memmove(tregion.base, sregion.base, total);
  298|  4.57k|	isc_buffer_forward(source, total);
  299|  4.57k|	isc_buffer_add(target, total);
  300|       |
  301|  4.57k|	return ISC_R_SUCCESS;
  302|  5.13k|}
rdata.c:towire_opt:
  305|  4.64k|towire_opt(ARGS_TOWIRE) {
  306|  4.64k|	REQUIRE(rdata->type == dns_rdatatype_opt);
  ------------------
  |  |  198|  4.64k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.64k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.64k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  307|       |
  308|  4.64k|	UNUSED(cctx);
  ------------------
  |  |   69|  4.64k|#define UNUSED(x) (void)(x)
  ------------------
  309|       |
  310|  4.64k|	return mem_tobuffer(target, rdata->data, rdata->length);
  311|  4.64k|}
rdata.c:totext_opt:
   45|  4.60k|totext_opt(ARGS_TOTEXT) {
   46|  4.60k|	isc_region_t r;
   47|  4.60k|	isc_region_t or;
   48|  4.60k|	uint16_t option;
   49|  4.60k|	uint16_t length;
   50|  4.60k|	char buf[sizeof("64000 64000")];
   51|       |
   52|       |	/*
   53|       |	 * OPT records do not have a text format.
   54|       |	 */
   55|       |
   56|  4.60k|	REQUIRE(rdata->type == dns_rdatatype_opt);
  ------------------
  |  |  198|  4.60k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.60k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.60k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.60k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|       |
   58|  4.60k|	dns_rdata_toregion(rdata, &r);
   59|  18.0k|	while (r.length > 0) {
  ------------------
  |  Branch (59:9): [True: 13.4k, False: 4.60k]
  ------------------
   60|  13.4k|		option = uint16_fromregion(&r);
   61|  13.4k|		isc_region_consume(&r, 2);
  ------------------
  |  |   51|  13.4k|	do {                              \
  |  |   52|  13.4k|		isc_region_t *_r = (r);   \
  |  |   53|  13.4k|		unsigned int  _l = (l);   \
  |  |   54|  13.4k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  13.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  13.4k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 13.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  13.4k|		_r->base += _l;           \
  |  |   56|  13.4k|		_r->length -= _l;         \
  |  |   57|  13.4k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 13.4k]
  |  |  ------------------
  ------------------
   62|  13.4k|		length = uint16_fromregion(&r);
   63|  13.4k|		isc_region_consume(&r, 2);
  ------------------
  |  |   51|  13.4k|	do {                              \
  |  |   52|  13.4k|		isc_region_t *_r = (r);   \
  |  |   53|  13.4k|		unsigned int  _l = (l);   \
  |  |   54|  13.4k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  13.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  13.4k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 13.4k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  13.4k|		_r->base += _l;           \
  |  |   56|  13.4k|		_r->length -= _l;         \
  |  |   57|  13.4k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 13.4k]
  |  |  ------------------
  ------------------
   64|  13.4k|		snprintf(buf, sizeof(buf), "%u %u", option, length);
   65|  13.4k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  13.4k|	{                                  \
  |  |  277|  13.4k|		isc_result_t _r = (x);     \
  |  |  278|  13.4k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 13.4k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  13.4k|	}
  ------------------
   66|  13.4k|		INSIST(r.length >= length);
  ------------------
  |  |  202|  13.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  13.4k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 13.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
   67|  13.4k|		if (length > 0) {
  ------------------
  |  Branch (67:7): [True: 6.52k, False: 6.88k]
  ------------------
   68|  6.52k|			if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  6.52k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (68:8): [True: 0, False: 6.52k]
  ------------------
   69|      0|				RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   70|      0|			}
   71|  6.52k|			RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  6.52k|	{                                  \
  |  |  277|  6.52k|		isc_result_t _r = (x);     \
  |  |  278|  6.52k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.52k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.52k|	}
  ------------------
   72|  6.52k|			or = r;
   73|  6.52k|			or.length = length;
   74|  6.52k|			if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (74:8): [True: 0, False: 6.52k]
  ------------------
   75|      0|				RETERR(isc_base64_totext(&or, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   76|  6.52k|			} else {
   77|  6.52k|				RETERR(isc_base64_totext(&or, tctx->width - 2,
  ------------------
  |  |  276|  6.52k|	{                                  \
  |  |  277|  6.52k|		isc_result_t _r = (x);     \
  |  |  278|  6.52k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.52k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.52k|	}
  ------------------
   78|  6.52k|							 tctx->linebreak,
   79|  6.52k|							 target));
   80|  6.52k|			}
   81|  6.52k|			isc_region_consume(&r, length);
  ------------------
  |  |   51|  6.52k|	do {                              \
  |  |   52|  6.52k|		isc_region_t *_r = (r);   \
  |  |   53|  6.52k|		unsigned int  _l = (l);   \
  |  |   54|  6.52k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.52k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.52k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.52k|		_r->base += _l;           \
  |  |   56|  6.52k|		_r->length -= _l;         \
  |  |   57|  6.52k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.52k]
  |  |  ------------------
  ------------------
   82|  6.52k|			if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  6.52k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (82:8): [True: 0, False: 6.52k]
  ------------------
   83|      0|				RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   84|      0|			}
   85|  6.52k|		}
   86|  13.4k|		if (r.length > 0) {
  ------------------
  |  Branch (86:7): [True: 11.7k, False: 1.65k]
  ------------------
   87|  11.7k|			RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  11.7k|	{                                  \
  |  |  277|  11.7k|		isc_result_t _r = (x);     \
  |  |  278|  11.7k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 11.7k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  11.7k|	}
  ------------------
   88|  11.7k|		}
   89|  13.4k|	}
   90|       |
   91|  4.60k|	return ISC_R_SUCCESS;
   92|  4.60k|}

rdata.c:fromwire_ptr:
   81|    855|fromwire_ptr(ARGS_FROMWIRE) {
   82|    855|	dns_name_t name;
   83|       |
   84|    855|	REQUIRE(type == dns_rdatatype_ptr);
  ------------------
  |  |  198|    855|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    855|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 855, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    855|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|       |
   86|    855|	UNUSED(type);
  ------------------
  |  |   69|    855|#define UNUSED(x) (void)(x)
  ------------------
   87|    855|	UNUSED(rdclass);
  ------------------
  |  |   69|    855|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|    855|	dctx = dns_decompress_setpermitted(dctx, true);
   90|       |
   91|    855|	dns_name_init(&name);
   92|    855|	return dns_name_fromwire(&name, source, dctx, target);
   93|    855|}
rdata.c:towire_ptr:
   96|    416|towire_ptr(ARGS_TOWIRE) {
   97|    416|	dns_name_t name;
   98|    416|	isc_region_t region;
   99|       |
  100|    416|	REQUIRE(rdata->type == dns_rdatatype_ptr);
  ------------------
  |  |  198|    416|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    416|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 416, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    416|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  101|    416|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    416|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    416|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 416, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    416|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  102|       |
  103|    416|	dns_compress_setpermitted(cctx, true);
  104|       |
  105|    416|	dns_name_init(&name);
  106|    416|	dns_rdata_toregion(rdata, &region);
  107|    416|	dns_name_fromregion(&name, &region);
  108|       |
  109|    416|	return dns_name_towire(&name, cctx, target);
  110|    416|}
rdata.c:totext_ptr:
   60|    824|totext_ptr(ARGS_TOTEXT) {
   61|    824|	isc_region_t region;
   62|    824|	dns_name_t name;
   63|    824|	dns_name_t prefix;
   64|    824|	unsigned int opts;
   65|       |
   66|    824|	REQUIRE(rdata->type == dns_rdatatype_ptr);
  ------------------
  |  |  198|    824|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    824|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 824, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    824|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|    824|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    824|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    824|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 824, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    824|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   68|       |
   69|    824|	dns_name_init(&name);
   70|    824|	dns_name_init(&prefix);
   71|       |
   72|    824|	dns_rdata_toregion(rdata, &region);
   73|    824|	dns_name_fromregion(&name, &region);
   74|       |
   75|    824|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (75:9): [True: 0, False: 824]
  ------------------
   76|    824|							 : 0;
   77|    824|	return dns_name_totext(&prefix, opts, target);
   78|    824|}

rdata.c:compare_resinfo:
   51|    801|compare_resinfo(ARGS_COMPARE) {
   52|    801|	isc_region_t r1;
   53|    801|	isc_region_t r2;
   54|       |
   55|    801|	REQUIRE(rdata1->type == rdata2->type);
  ------------------
  |  |  198|    801|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    801|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 801, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    801|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   56|    801|	REQUIRE(rdata1->rdclass == rdata2->rdclass);
  ------------------
  |  |  198|    801|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    801|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 801, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    801|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|    801|	REQUIRE(rdata1->type == dns_rdatatype_resinfo);
  ------------------
  |  |  198|    801|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    801|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 801, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    801|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   58|       |
   59|    801|	dns_rdata_toregion(rdata1, &r1);
   60|    801|	dns_rdata_toregion(rdata2, &r2);
   61|    801|	return isc_region_compare(&r1, &r2);
   62|    801|}
rdata.c:fromwire_resinfo:
   35|  1.69k|fromwire_resinfo(ARGS_FROMWIRE) {
   36|  1.69k|	REQUIRE(type == dns_rdatatype_resinfo);
  ------------------
  |  |  198|  1.69k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.69k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.69k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.69k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|  1.69k|	return generic_fromwire_txt(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.69k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|  1.69k|}
rdata.c:towire_resinfo:
   42|    541|towire_resinfo(ARGS_TOWIRE) {
   43|    541|	REQUIRE(rdata->type == dns_rdatatype_resinfo);
  ------------------
  |  |  198|    541|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    541|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 541, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    541|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   44|       |
   45|    541|	UNUSED(cctx);
  ------------------
  |  |   69|    541|#define UNUSED(x) (void)(x)
  ------------------
   46|       |
   47|    541|	return mem_tobuffer(target, rdata->data, rdata->length);
   48|    541|}
rdata.c:totext_resinfo:
   27|  1.06k|totext_resinfo(ARGS_TOTEXT) {
   28|  1.06k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|  1.06k|	REQUIRE(rdata->type == dns_rdatatype_resinfo);
  ------------------
  |  |  198|  1.06k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.06k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.06k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.06k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|  1.06k|	return generic_totext_txt(CALL_TOTEXT);
  ------------------
  |  |   85|  1.06k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|  1.06k|}

rdata.c:fromwire_rkey:
   35|  1.31k|fromwire_rkey(ARGS_FROMWIRE) {
   36|  1.31k|	REQUIRE(type == dns_rdatatype_rkey);
  ------------------
  |  |  198|  1.31k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.31k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.31k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.31k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|  1.31k|	return generic_fromwire_key(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.31k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|  1.31k|}
rdata.c:towire_rkey:
   42|    673|towire_rkey(ARGS_TOWIRE) {
   43|    673|	isc_region_t sr;
   44|       |
   45|    673|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    673|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    673|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 673, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    673|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   46|    673|	REQUIRE(rdata->type == dns_rdatatype_rkey);
  ------------------
  |  |  198|    673|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    673|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 673, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    673|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   47|    673|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    673|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    673|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 673, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    673|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   48|       |
   49|    673|	UNUSED(cctx);
  ------------------
  |  |   69|    673|#define UNUSED(x) (void)(x)
  ------------------
   50|       |
   51|    673|	dns_rdata_toregion(rdata, &sr);
   52|    673|	return mem_tobuffer(target, sr.base, sr.length);
   53|    673|}
rdata.c:totext_rkey:
   27|  1.26k|totext_rkey(ARGS_TOTEXT) {
   28|  1.26k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.26k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.26k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.26k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.26k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|  1.26k|	REQUIRE(rdata->type == dns_rdatatype_rkey);
  ------------------
  |  |  198|  1.26k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.26k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.26k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.26k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|  1.26k|	return generic_totext_key(CALL_TOTEXT);
  ------------------
  |  |   85|  1.26k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|  1.26k|}

rdata.c:fromwire_rp:
  100|  1.11k|fromwire_rp(ARGS_FROMWIRE) {
  101|  1.11k|	dns_name_t rmail;
  102|  1.11k|	dns_name_t email;
  103|       |
  104|  1.11k|	REQUIRE(type == dns_rdatatype_rp);
  ------------------
  |  |  198|  1.11k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.11k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.11k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.11k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  105|       |
  106|  1.11k|	UNUSED(type);
  ------------------
  |  |   69|  1.11k|#define UNUSED(x) (void)(x)
  ------------------
  107|  1.11k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.11k|#define UNUSED(x) (void)(x)
  ------------------
  108|       |
  109|  1.11k|	dctx = dns_decompress_setpermitted(dctx, false);
  110|       |
  111|  1.11k|	dns_name_init(&rmail);
  112|  1.11k|	dns_name_init(&email);
  113|       |
  114|  1.11k|	RETERR(dns_name_fromwire(&rmail, source, dctx, target));
  ------------------
  |  |  276|  1.11k|	{                                  \
  |  |  277|  1.11k|		isc_result_t _r = (x);     \
  |  |  278|  1.11k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 100, False: 1.01k]
  |  |  ------------------
  |  |  279|    100|			return ((_r));     \
  |  |  280|    100|		}                          \
  |  |  281|  1.11k|	}
  ------------------
  115|  1.01k|	return dns_name_fromwire(&email, source, dctx, target);
  116|  1.11k|}
rdata.c:towire_rp:
  119|    446|towire_rp(ARGS_TOWIRE) {
  120|    446|	isc_region_t region;
  121|    446|	dns_name_t rmail;
  122|    446|	dns_name_t email;
  123|       |
  124|    446|	REQUIRE(rdata->type == dns_rdatatype_rp);
  ------------------
  |  |  198|    446|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    446|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 446, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    446|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  125|    446|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    446|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    446|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 446, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    446|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  126|       |
  127|    446|	dns_compress_setpermitted(cctx, false);
  128|    446|	dns_name_init(&rmail);
  129|    446|	dns_name_init(&email);
  130|       |
  131|    446|	dns_rdata_toregion(rdata, &region);
  132|       |
  133|    446|	dns_name_fromregion(&rmail, &region);
  134|    446|	isc_region_consume(&region, rmail.length);
  ------------------
  |  |   51|    446|	do {                              \
  |  |   52|    446|		isc_region_t *_r = (r);   \
  |  |   53|    446|		unsigned int  _l = (l);   \
  |  |   54|    446|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    446|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    446|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 446, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    446|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    446|		_r->base += _l;           \
  |  |   56|    446|		_r->length -= _l;         \
  |  |   57|    446|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 446]
  |  |  ------------------
  ------------------
  135|       |
  136|    446|	RETERR(dns_name_towire(&rmail, cctx, target));
  ------------------
  |  |  276|    446|	{                                  \
  |  |  277|    446|		isc_result_t _r = (x);     \
  |  |  278|    446|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 445]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    446|	}
  ------------------
  137|       |
  138|    445|	dns_name_fromregion(&rmail, &region);
  139|    445|	isc_region_consume(&region, rmail.length);
  ------------------
  |  |   51|    445|	do {                              \
  |  |   52|    445|		isc_region_t *_r = (r);   \
  |  |   53|    445|		unsigned int  _l = (l);   \
  |  |   54|    445|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    445|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    445|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 445, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    445|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    445|		_r->base += _l;           \
  |  |   56|    445|		_r->length -= _l;         \
  |  |   57|    445|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 445]
  |  |  ------------------
  ------------------
  140|       |
  141|    445|	return dns_name_towire(&rmail, cctx, target);
  142|    446|}
rdata.c:totext_rp:
   64|    885|totext_rp(ARGS_TOTEXT) {
   65|    885|	isc_region_t region;
   66|    885|	dns_name_t rmail;
   67|    885|	dns_name_t email;
   68|    885|	dns_name_t prefix;
   69|    885|	unsigned int opts;
   70|       |
   71|    885|	REQUIRE(rdata->type == dns_rdatatype_rp);
  ------------------
  |  |  198|    885|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    885|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 885, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    885|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   72|    885|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    885|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    885|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 885, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    885|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   73|       |
   74|    885|	dns_name_init(&rmail);
   75|    885|	dns_name_init(&email);
   76|    885|	dns_name_init(&prefix);
   77|       |
   78|    885|	dns_rdata_toregion(rdata, &region);
   79|       |
   80|    885|	dns_name_fromregion(&rmail, &region);
   81|    885|	isc_region_consume(&region, rmail.length);
  ------------------
  |  |   51|    885|	do {                              \
  |  |   52|    885|		isc_region_t *_r = (r);   \
  |  |   53|    885|		unsigned int  _l = (l);   \
  |  |   54|    885|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    885|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    885|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 885, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    885|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    885|		_r->base += _l;           \
  |  |   56|    885|		_r->length -= _l;         \
  |  |   57|    885|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 885]
  |  |  ------------------
  ------------------
   82|       |
   83|    885|	dns_name_fromregion(&email, &region);
   84|    885|	isc_region_consume(&region, email.length);
  ------------------
  |  |   51|    885|	do {                              \
  |  |   52|    885|		isc_region_t *_r = (r);   \
  |  |   53|    885|		unsigned int  _l = (l);   \
  |  |   54|    885|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    885|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    885|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 885, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    885|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    885|		_r->base += _l;           \
  |  |   56|    885|		_r->length -= _l;         \
  |  |   57|    885|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 885]
  |  |  ------------------
  ------------------
   85|       |
   86|    885|	opts = name_prefix(&rmail, tctx->origin, &prefix)
  ------------------
  |  Branch (86:9): [True: 0, False: 885]
  ------------------
   87|    885|		       ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
   88|    885|		       : 0;
   89|    885|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|    885|	{                                  \
  |  |  277|    885|		isc_result_t _r = (x);     \
  |  |  278|    885|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 885]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    885|	}
  ------------------
   90|       |
   91|    885|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    885|	{                                  \
  |  |  277|    885|		isc_result_t _r = (x);     \
  |  |  278|    885|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 885]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    885|	}
  ------------------
   92|       |
   93|    885|	opts = name_prefix(&email, tctx->origin, &prefix)
  ------------------
  |  Branch (93:9): [True: 0, False: 885]
  ------------------
   94|    885|		       ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
   95|    885|		       : 0;
   96|    885|	return dns_name_totext(&prefix, opts, target);
   97|    885|}

rdata.c:fromwire_rrsig:
  305|  5.53k|fromwire_rrsig(ARGS_FROMWIRE) {
  306|  5.53k|	isc_region_t sr;
  307|  5.53k|	dns_name_t name;
  308|  5.53k|	unsigned char algorithm;
  309|  5.53k|	unsigned char labels;
  310|       |
  311|  5.53k|	REQUIRE(type == dns_rdatatype_rrsig);
  ------------------
  |  |  198|  5.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  312|       |
  313|  5.53k|	UNUSED(type);
  ------------------
  |  |   69|  5.53k|#define UNUSED(x) (void)(x)
  ------------------
  314|  5.53k|	UNUSED(rdclass);
  ------------------
  |  |   69|  5.53k|#define UNUSED(x) (void)(x)
  ------------------
  315|       |
  316|  5.53k|	dctx = dns_decompress_setpermitted(dctx, false);
  317|       |
  318|  5.53k|	isc_buffer_activeregion(source, &sr);
  319|       |	/*
  320|       |	 * type covered: 2
  321|       |	 * algorithm: 1
  322|       |	 * labels: 1
  323|       |	 * original ttl: 4
  324|       |	 * signature expiration: 4
  325|       |	 * time signed: 4
  326|       |	 * key footprint: 2
  327|       |	 */
  328|  5.53k|	if (sr.length < 18) {
  ------------------
  |  Branch (328:6): [True: 6, False: 5.53k]
  ------------------
  329|      6|		return ISC_R_UNEXPECTEDEND;
  330|      6|	}
  331|       |
  332|  5.53k|	algorithm = sr.base[2];
  333|  5.53k|	labels = sr.base[3];
  334|       |
  335|  5.53k|	isc_buffer_forward(source, 18);
  336|  5.53k|	RETERR(mem_tobuffer(target, sr.base, 18));
  ------------------
  |  |  276|  5.53k|	{                                  \
  |  |  277|  5.53k|		isc_result_t _r = (x);     \
  |  |  278|  5.53k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 241, False: 5.29k]
  |  |  ------------------
  |  |  279|    241|			return ((_r));     \
  |  |  280|    241|		}                          \
  |  |  281|  5.53k|	}
  ------------------
  337|       |
  338|       |	/*
  339|       |	 * Signer.
  340|       |	 */
  341|  5.29k|	dns_name_init(&name);
  342|  5.29k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  5.29k|	{                                  \
  |  |  277|  5.29k|		isc_result_t _r = (x);     \
  |  |  278|  5.29k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 89, False: 5.20k]
  |  |  ------------------
  |  |  279|     89|			return ((_r));     \
  |  |  280|     89|		}                          \
  |  |  281|  5.29k|	}
  ------------------
  343|       |
  344|       |	/*
  345|       |	 * (RRSIG labels doesn't include the root label, so add one
  346|       |	 * to normalize it before checking against the signer.)
  347|       |	 */
  348|  5.20k|	if ((labels + 1) < dns_name_countlabels(&name)) {
  ------------------
  |  Branch (348:6): [True: 3, False: 5.19k]
  ------------------
  349|      3|		RETERR(DNS_R_FORMERR);
  ------------------
  |  |  276|      3|	{                                  \
  |  |  277|      3|		isc_result_t _r = (x);     \
  |  |  278|      3|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 3, False: 0]
  |  |  ------------------
  |  |  279|      3|			return ((_r));     \
  |  |  280|      3|		}                          \
  |  |  281|      3|	}
  ------------------
  350|      0|	}
  351|       |
  352|       |	/*
  353|       |	 * Sig.
  354|       |	 */
  355|  5.19k|	isc_buffer_activeregion(source, &sr);
  356|  5.19k|	if (sr.length < 1) {
  ------------------
  |  Branch (356:6): [True: 2, False: 5.19k]
  ------------------
  357|      2|		return DNS_R_FORMERR;
  358|      2|	}
  359|       |
  360|  5.19k|	if (algorithm == DNS_KEYALG_PRIVATEDNS ||
  ------------------
  |  Branch (360:6): [True: 254, False: 4.94k]
  ------------------
  361|  4.94k|	    algorithm == DNS_KEYALG_PRIVATEOID)
  ------------------
  |  Branch (361:6): [True: 531, False: 4.41k]
  ------------------
  362|    785|	{
  363|    785|		isc_buffer_t b = *source;
  364|    785|		RETERR(check_private(&b, algorithm));
  ------------------
  |  |  276|    785|	{                                  \
  |  |  277|    785|		isc_result_t _r = (x);     \
  |  |  278|    785|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 7, False: 778]
  |  |  ------------------
  |  |  279|      7|			return ((_r));     \
  |  |  280|      7|		}                          \
  |  |  281|    785|	}
  ------------------
  365|    778|	}
  366|       |
  367|  5.19k|	isc_buffer_forward(source, sr.length);
  368|  5.19k|	return mem_tobuffer(target, sr.base, sr.length);
  369|  5.19k|}
rdata.c:towire_rrsig:
  372|  2.17k|towire_rrsig(ARGS_TOWIRE) {
  373|  2.17k|	isc_region_t sr;
  374|  2.17k|	dns_name_t name;
  375|       |
  376|  2.17k|	REQUIRE(rdata->type == dns_rdatatype_rrsig);
  ------------------
  |  |  198|  2.17k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.17k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.17k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.17k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  377|  2.17k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.17k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.17k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.17k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.17k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  378|       |
  379|  2.17k|	dns_compress_setpermitted(cctx, false);
  380|  2.17k|	dns_rdata_toregion(rdata, &sr);
  381|       |	/*
  382|       |	 * type covered: 2
  383|       |	 * algorithm: 1
  384|       |	 * labels: 1
  385|       |	 * original ttl: 4
  386|       |	 * signature expiration: 4
  387|       |	 * time signed: 4
  388|       |	 * key footprint: 2
  389|       |	 */
  390|  2.17k|	RETERR(mem_tobuffer(target, sr.base, 18));
  ------------------
  |  |  276|  2.17k|	{                                  \
  |  |  277|  2.17k|		isc_result_t _r = (x);     \
  |  |  278|  2.17k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 2, False: 2.17k]
  |  |  ------------------
  |  |  279|      2|			return ((_r));     \
  |  |  280|      2|		}                          \
  |  |  281|  2.17k|	}
  ------------------
  391|  2.17k|	isc_region_consume(&sr, 18);
  ------------------
  |  |   51|  2.17k|	do {                              \
  |  |   52|  2.17k|		isc_region_t *_r = (r);   \
  |  |   53|  2.17k|		unsigned int  _l = (l);   \
  |  |   54|  2.17k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.17k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.17k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.17k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.17k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.17k|		_r->base += _l;           \
  |  |   56|  2.17k|		_r->length -= _l;         \
  |  |   57|  2.17k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.17k]
  |  |  ------------------
  ------------------
  392|       |
  393|       |	/*
  394|       |	 * Signer.
  395|       |	 */
  396|  2.17k|	dns_name_init(&name);
  397|  2.17k|	dns_name_fromregion(&name, &sr);
  398|  2.17k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  2.17k|	do {                              \
  |  |   52|  2.17k|		isc_region_t *_r = (r);   \
  |  |   53|  2.17k|		unsigned int  _l = (l);   \
  |  |   54|  2.17k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.17k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.17k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.17k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.17k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.17k|		_r->base += _l;           \
  |  |   56|  2.17k|		_r->length -= _l;         \
  |  |   57|  2.17k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.17k]
  |  |  ------------------
  ------------------
  399|  2.17k|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|  2.17k|	{                                  \
  |  |  277|  2.17k|		isc_result_t _r = (x);     \
  |  |  278|  2.17k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 3, False: 2.17k]
  |  |  ------------------
  |  |  279|      3|			return ((_r));     \
  |  |  280|      3|		}                          \
  |  |  281|  2.17k|	}
  ------------------
  400|       |
  401|       |	/*
  402|       |	 * Signature.
  403|       |	 */
  404|  2.17k|	return mem_tobuffer(target, sr.base, sr.length);
  405|  2.17k|}
rdata.c:totext_rrsig:
  188|  4.38k|totext_rrsig(ARGS_TOTEXT) {
  189|  4.38k|	isc_region_t sr;
  190|  4.38k|	char buf[sizeof("4294967295")]; /* Also TYPE65000. */
  191|  4.38k|	dns_rdatatype_t covered;
  192|  4.38k|	unsigned long ttl;
  193|  4.38k|	unsigned long when;
  194|  4.38k|	unsigned long exp;
  195|  4.38k|	unsigned long foot;
  196|  4.38k|	dns_name_t name;
  197|       |
  198|  4.38k|	REQUIRE(rdata->type == dns_rdatatype_rrsig);
  ------------------
  |  |  198|  4.38k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  199|  4.38k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  4.38k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  200|       |
  201|  4.38k|	dns_rdata_toregion(rdata, &sr);
  202|       |
  203|       |	/*
  204|       |	 * Type covered.
  205|       |	 */
  206|  4.38k|	covered = uint16_fromregion(&sr);
  207|  4.38k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  208|       |	/*
  209|       |	 * XXXAG We should have something like dns_rdatatype_isknown()
  210|       |	 * that does the right thing with type 0.
  211|       |	 */
  212|  4.38k|	if (dns_rdatatype_isknown(covered) && covered != 0) {
  ------------------
  |  Branch (212:6): [True: 2.32k, False: 2.05k]
  |  Branch (212:40): [True: 2.32k, False: 0]
  ------------------
  213|  2.32k|		RETERR(dns_rdatatype_totext(covered, target));
  ------------------
  |  |  276|  2.32k|	{                                  \
  |  |  277|  2.32k|		isc_result_t _r = (x);     \
  |  |  278|  2.32k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.32k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.32k|	}
  ------------------
  214|  2.32k|	} else {
  215|  2.05k|		snprintf(buf, sizeof(buf), "TYPE%u", covered);
  216|  2.05k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.05k|	{                                  \
  |  |  277|  2.05k|		isc_result_t _r = (x);     \
  |  |  278|  2.05k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.05k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.05k|	}
  ------------------
  217|  2.05k|	}
  218|  4.38k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  219|       |
  220|       |	/*
  221|       |	 * Algorithm.
  222|       |	 */
  223|  4.38k|	snprintf(buf, sizeof(buf), "%u", sr.base[0]);
  224|  4.38k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  225|  4.38k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  226|  4.38k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  227|       |
  228|       |	/*
  229|       |	 * Labels.
  230|       |	 */
  231|  4.38k|	snprintf(buf, sizeof(buf), "%u", sr.base[0]);
  232|  4.38k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  233|  4.38k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  234|  4.38k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  235|       |
  236|       |	/*
  237|       |	 * Ttl.
  238|       |	 */
  239|  4.38k|	ttl = uint32_fromregion(&sr);
  240|  4.38k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  241|  4.38k|	snprintf(buf, sizeof(buf), "%lu", ttl);
  242|  4.38k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  243|       |
  244|  4.38k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  4.38k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (244:6): [True: 0, False: 4.38k]
  ------------------
  245|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  246|      0|	}
  247|  4.38k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  248|       |
  249|       |	/*
  250|       |	 * Sig exp.
  251|       |	 */
  252|  4.38k|	exp = uint32_fromregion(&sr);
  253|  4.38k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  254|  4.38k|	RETERR(dns_time32_totext(exp, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  255|  4.38k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  256|       |
  257|       |	/*
  258|       |	 * Time signed.
  259|       |	 */
  260|  4.38k|	when = uint32_fromregion(&sr);
  261|  4.38k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  262|  4.38k|	RETERR(dns_time32_totext(when, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  263|  4.38k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  264|       |
  265|       |	/*
  266|       |	 * Footprint.
  267|       |	 */
  268|  4.38k|	foot = uint16_fromregion(&sr);
  269|  4.38k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  270|  4.38k|	snprintf(buf, sizeof(buf), "%lu", foot);
  271|  4.38k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  272|  4.38k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  273|       |
  274|       |	/*
  275|       |	 * Signer.
  276|       |	 */
  277|  4.38k|	dns_name_init(&name);
  278|  4.38k|	dns_name_fromregion(&name, &sr);
  279|  4.38k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  4.38k|	do {                              \
  |  |   52|  4.38k|		isc_region_t *_r = (r);   \
  |  |   53|  4.38k|		unsigned int  _l = (l);   \
  |  |   54|  4.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.38k|		_r->base += _l;           \
  |  |   56|  4.38k|		_r->length -= _l;         \
  |  |   57|  4.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.38k]
  |  |  ------------------
  ------------------
  280|  4.38k|	RETERR(dns_name_totext(&name, 0, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  281|       |
  282|       |	/*
  283|       |	 * Sig.
  284|       |	 */
  285|  4.38k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  286|  4.38k|	if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) {
  ------------------
  |  |   95|  4.38k|#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL
  ------------------
  |  Branch (286:6): [True: 4.38k, False: 0]
  ------------------
  287|  4.38k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (287:7): [True: 0, False: 4.38k]
  ------------------
  288|      0|			RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  289|  4.38k|		} else {
  290|  4.38k|			RETERR(isc_base64_totext(&sr, tctx->width - 2,
  ------------------
  |  |  276|  4.38k|	{                                  \
  |  |  277|  4.38k|		isc_result_t _r = (x);     \
  |  |  278|  4.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.38k|	}
  ------------------
  291|  4.38k|						 tctx->linebreak, target));
  292|  4.38k|		}
  293|  4.38k|	} else {
  294|      0|		RETERR(str_totext("[omitted]", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  295|      0|	}
  296|       |
  297|  4.38k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  4.38k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (297:6): [True: 0, False: 4.38k]
  ------------------
  298|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  299|      0|	}
  300|       |
  301|  4.38k|	return ISC_R_SUCCESS;
  302|  4.38k|}
rdata.c:covers_rrsig:
  643|  4.98k|covers_rrsig(dns_rdata_t *rdata) {
  644|  4.98k|	dns_rdatatype_t type;
  645|  4.98k|	isc_region_t r;
  646|       |
  647|  4.98k|	REQUIRE(rdata->type == dns_rdatatype_rrsig);
  ------------------
  |  |  198|  4.98k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.98k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.98k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.98k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  648|       |
  649|  4.98k|	dns_rdata_toregion(rdata, &r);
  650|  4.98k|	type = uint16_fromregion(&r);
  651|       |
  652|  4.98k|	return type;
  653|  4.98k|}

rdata.c:fromwire_rt:
   94|  1.21k|fromwire_rt(ARGS_FROMWIRE) {
   95|  1.21k|	dns_name_t name;
   96|  1.21k|	isc_region_t sregion;
   97|  1.21k|	isc_region_t tregion;
   98|       |
   99|  1.21k|	REQUIRE(type == dns_rdatatype_rt);
  ------------------
  |  |  198|  1.21k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.21k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.21k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.21k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|       |
  101|  1.21k|	UNUSED(type);
  ------------------
  |  |   69|  1.21k|#define UNUSED(x) (void)(x)
  ------------------
  102|  1.21k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.21k|#define UNUSED(x) (void)(x)
  ------------------
  103|       |
  104|  1.21k|	dctx = dns_decompress_setpermitted(dctx, false);
  105|       |
  106|  1.21k|	dns_name_init(&name);
  107|       |
  108|  1.21k|	isc_buffer_activeregion(source, &sregion);
  109|  1.21k|	isc_buffer_availableregion(target, &tregion);
  110|  1.21k|	if (tregion.length < 2) {
  ------------------
  |  Branch (110:6): [True: 200, False: 1.01k]
  ------------------
  111|    200|		return ISC_R_NOSPACE;
  112|    200|	}
  113|  1.01k|	if (sregion.length < 2) {
  ------------------
  |  Branch (113:6): [True: 10, False: 1.00k]
  ------------------
  114|     10|		return ISC_R_UNEXPECTEDEND;
  115|     10|	}
  116|  1.00k|	memmove(tregion.base, sregion.base, 2);
  117|  1.00k|	isc_buffer_forward(source, 2);
  118|  1.00k|	isc_buffer_add(target, 2);
  119|  1.00k|	return dns_name_fromwire(&name, source, dctx, target);
  120|  1.01k|}
rdata.c:towire_rt:
  123|    396|towire_rt(ARGS_TOWIRE) {
  124|    396|	dns_name_t name;
  125|    396|	isc_region_t region;
  126|    396|	isc_region_t tr;
  127|       |
  128|    396|	REQUIRE(rdata->type == dns_rdatatype_rt);
  ------------------
  |  |  198|    396|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    396|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 396, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    396|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  129|    396|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    396|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    396|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 396, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    396|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  130|       |
  131|    396|	dns_compress_setpermitted(cctx, false);
  132|    396|	isc_buffer_availableregion(target, &tr);
  133|    396|	dns_rdata_toregion(rdata, &region);
  134|    396|	if (tr.length < 2) {
  ------------------
  |  Branch (134:6): [True: 1, False: 395]
  ------------------
  135|      1|		return ISC_R_NOSPACE;
  136|      1|	}
  137|    395|	memmove(tr.base, region.base, 2);
  138|    395|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    395|	do {                              \
  |  |   52|    395|		isc_region_t *_r = (r);   \
  |  |   53|    395|		unsigned int  _l = (l);   \
  |  |   54|    395|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    395|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    395|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 395, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    395|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    395|		_r->base += _l;           \
  |  |   56|    395|		_r->length -= _l;         \
  |  |   57|    395|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 395]
  |  |  ------------------
  ------------------
  139|    395|	isc_buffer_add(target, 2);
  140|       |
  141|    395|	dns_name_init(&name);
  142|    395|	dns_name_fromregion(&name, &region);
  143|       |
  144|    395|	return dns_name_towire(&name, cctx, target);
  145|    396|}
rdata.c:totext_rt:
   67|    789|totext_rt(ARGS_TOTEXT) {
   68|    789|	isc_region_t region;
   69|    789|	dns_name_t name;
   70|    789|	dns_name_t prefix;
   71|    789|	unsigned int opts;
   72|    789|	char buf[sizeof("64000")];
   73|    789|	unsigned short num;
   74|       |
   75|    789|	REQUIRE(rdata->type == dns_rdatatype_rt);
  ------------------
  |  |  198|    789|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    789|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 789, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    789|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   76|    789|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    789|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    789|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 789, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    789|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   77|       |
   78|    789|	dns_name_init(&name);
   79|    789|	dns_name_init(&prefix);
   80|       |
   81|    789|	dns_rdata_toregion(rdata, &region);
   82|    789|	num = uint16_fromregion(&region);
   83|    789|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    789|	do {                              \
  |  |   52|    789|		isc_region_t *_r = (r);   \
  |  |   53|    789|		unsigned int  _l = (l);   \
  |  |   54|    789|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    789|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    789|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 789, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    789|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    789|		_r->base += _l;           \
  |  |   56|    789|		_r->length -= _l;         \
  |  |   57|    789|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 789]
  |  |  ------------------
  ------------------
   84|    789|	snprintf(buf, sizeof(buf), "%u", num);
   85|    789|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    789|	{                                  \
  |  |  277|    789|		isc_result_t _r = (x);     \
  |  |  278|    789|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 789]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    789|	}
  ------------------
   86|    789|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    789|	{                                  \
  |  |  277|    789|		isc_result_t _r = (x);     \
  |  |  278|    789|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 789]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    789|	}
  ------------------
   87|    789|	dns_name_fromregion(&name, &region);
   88|    789|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (88:9): [True: 0, False: 789]
  ------------------
   89|    789|							 : 0;
   90|    789|	return dns_name_totext(&prefix, opts, target);
   91|    789|}

rdata.c:fromwire_sig:
  258|  4.86k|fromwire_sig(ARGS_FROMWIRE) {
  259|  4.86k|	isc_region_t sr;
  260|  4.86k|	dns_name_t name;
  261|  4.86k|	unsigned char algorithm;
  262|       |
  263|  4.86k|	REQUIRE(type == dns_rdatatype_sig);
  ------------------
  |  |  198|  4.86k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.86k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.86k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.86k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  264|       |
  265|  4.86k|	UNUSED(type);
  ------------------
  |  |   69|  4.86k|#define UNUSED(x) (void)(x)
  ------------------
  266|  4.86k|	UNUSED(rdclass);
  ------------------
  |  |   69|  4.86k|#define UNUSED(x) (void)(x)
  ------------------
  267|       |
  268|  4.86k|	dctx = dns_decompress_setpermitted(dctx, false);
  269|       |
  270|  4.86k|	isc_buffer_activeregion(source, &sr);
  271|       |	/*
  272|       |	 * type covered: 2
  273|       |	 * algorithm: 1
  274|       |	 * labels: 1
  275|       |	 * original ttl: 4
  276|       |	 * signature expiration: 4
  277|       |	 * time signed: 4
  278|       |	 * key footprint: 2
  279|       |	 */
  280|  4.86k|	if (sr.length < 18) {
  ------------------
  |  Branch (280:6): [True: 5, False: 4.85k]
  ------------------
  281|      5|		return ISC_R_UNEXPECTEDEND;
  282|      5|	}
  283|       |
  284|  4.85k|	algorithm = sr.base[2];
  285|       |
  286|  4.85k|	isc_buffer_forward(source, 18);
  287|  4.85k|	RETERR(mem_tobuffer(target, sr.base, 18));
  ------------------
  |  |  276|  4.85k|	{                                  \
  |  |  277|  4.85k|		isc_result_t _r = (x);     \
  |  |  278|  4.85k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 227, False: 4.63k]
  |  |  ------------------
  |  |  279|    227|			return ((_r));     \
  |  |  280|    227|		}                          \
  |  |  281|  4.85k|	}
  ------------------
  288|       |
  289|       |	/*
  290|       |	 * Signer.
  291|       |	 */
  292|  4.63k|	dns_name_init(&name);
  293|  4.63k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  4.63k|	{                                  \
  |  |  277|  4.63k|		isc_result_t _r = (x);     \
  |  |  278|  4.63k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 201, False: 4.43k]
  |  |  ------------------
  |  |  279|    201|			return ((_r));     \
  |  |  280|    201|		}                          \
  |  |  281|  4.63k|	}
  ------------------
  294|       |
  295|       |	/*
  296|       |	 * Sig.
  297|       |	 */
  298|  4.43k|	isc_buffer_activeregion(source, &sr);
  299|  4.43k|	if (sr.length == 0) {
  ------------------
  |  Branch (299:6): [True: 1, False: 4.42k]
  ------------------
  300|      1|		return ISC_R_UNEXPECTEDEND;
  301|      1|	}
  302|       |
  303|  4.42k|	if (algorithm == DNS_KEYALG_PRIVATEDNS ||
  ------------------
  |  Branch (303:6): [True: 140, False: 4.28k]
  ------------------
  304|  4.28k|	    algorithm == DNS_KEYALG_PRIVATEOID)
  ------------------
  |  Branch (304:6): [True: 76, False: 4.21k]
  ------------------
  305|    216|	{
  306|    216|		isc_buffer_t b = *source;
  307|    216|		RETERR(check_private(&b, algorithm));
  ------------------
  |  |  276|    216|	{                                  \
  |  |  277|    216|		isc_result_t _r = (x);     \
  |  |  278|    216|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 6, False: 210]
  |  |  ------------------
  |  |  279|      6|			return ((_r));     \
  |  |  280|      6|		}                          \
  |  |  281|    216|	}
  ------------------
  308|    210|	}
  309|       |
  310|  4.42k|	isc_buffer_forward(source, sr.length);
  311|  4.42k|	return mem_tobuffer(target, sr.base, sr.length);
  312|  4.42k|}
rdata.c:towire_sig:
  315|  1.84k|towire_sig(ARGS_TOWIRE) {
  316|  1.84k|	isc_region_t sr;
  317|  1.84k|	dns_name_t name;
  318|       |
  319|  1.84k|	REQUIRE(rdata->type == dns_rdatatype_sig);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  320|  1.84k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  321|       |
  322|  1.84k|	dns_compress_setpermitted(cctx, false);
  323|  1.84k|	dns_rdata_toregion(rdata, &sr);
  324|       |	/*
  325|       |	 * type covered: 2
  326|       |	 * algorithm: 1
  327|       |	 * labels: 1
  328|       |	 * original ttl: 4
  329|       |	 * signature expiration: 4
  330|       |	 * time signed: 4
  331|       |	 * key footprint: 2
  332|       |	 */
  333|  1.84k|	RETERR(mem_tobuffer(target, sr.base, 18));
  ------------------
  |  |  276|  1.84k|	{                                  \
  |  |  277|  1.84k|		isc_result_t _r = (x);     \
  |  |  278|  1.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 2, False: 1.84k]
  |  |  ------------------
  |  |  279|      2|			return ((_r));     \
  |  |  280|      2|		}                          \
  |  |  281|  1.84k|	}
  ------------------
  334|  1.84k|	isc_region_consume(&sr, 18);
  ------------------
  |  |   51|  1.84k|	do {                              \
  |  |   52|  1.84k|		isc_region_t *_r = (r);   \
  |  |   53|  1.84k|		unsigned int  _l = (l);   \
  |  |   54|  1.84k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.84k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.84k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.84k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.84k|		_r->base += _l;           \
  |  |   56|  1.84k|		_r->length -= _l;         \
  |  |   57|  1.84k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.84k]
  |  |  ------------------
  ------------------
  335|       |
  336|       |	/*
  337|       |	 * Signer.
  338|       |	 */
  339|  1.84k|	dns_name_init(&name);
  340|  1.84k|	dns_name_fromregion(&name, &sr);
  341|  1.84k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  1.84k|	do {                              \
  |  |   52|  1.84k|		isc_region_t *_r = (r);   \
  |  |   53|  1.84k|		unsigned int  _l = (l);   \
  |  |   54|  1.84k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.84k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.84k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.84k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.84k|		_r->base += _l;           \
  |  |   56|  1.84k|		_r->length -= _l;         \
  |  |   57|  1.84k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.84k]
  |  |  ------------------
  ------------------
  342|  1.84k|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|  1.84k|	{                                  \
  |  |  277|  1.84k|		isc_result_t _r = (x);     \
  |  |  278|  1.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 1.84k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  1.84k|	}
  ------------------
  343|       |
  344|       |	/*
  345|       |	 * Signature.
  346|       |	 */
  347|  1.84k|	return mem_tobuffer(target, sr.base, sr.length);
  348|  1.84k|}
rdata.c:totext_sig:
  141|  3.70k|totext_sig(ARGS_TOTEXT) {
  142|  3.70k|	isc_region_t sr;
  143|  3.70k|	char buf[sizeof("4294967295")];
  144|  3.70k|	dns_rdatatype_t covered;
  145|  3.70k|	unsigned long ttl;
  146|  3.70k|	unsigned long when;
  147|  3.70k|	unsigned long exp;
  148|  3.70k|	unsigned long foot;
  149|  3.70k|	dns_name_t name;
  150|  3.70k|	dns_name_t prefix;
  151|  3.70k|	unsigned int opts;
  152|       |
  153|  3.70k|	REQUIRE(rdata->type == dns_rdatatype_sig);
  ------------------
  |  |  198|  3.70k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.70k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.70k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  154|  3.70k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  3.70k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.70k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.70k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  155|       |
  156|  3.70k|	dns_rdata_toregion(rdata, &sr);
  157|       |
  158|       |	/*
  159|       |	 * Type covered.
  160|       |	 */
  161|  3.70k|	covered = uint16_fromregion(&sr);
  162|  3.70k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  163|       |	/*
  164|       |	 * XXXAG We should have something like dns_rdatatype_isknown()
  165|       |	 * that does the right thing with type 0.
  166|       |	 */
  167|  3.70k|	if (dns_rdatatype_isknown(covered) && covered != 0) {
  ------------------
  |  Branch (167:6): [True: 1.08k, False: 2.62k]
  |  Branch (167:40): [True: 1.08k, False: 0]
  ------------------
  168|  1.08k|		RETERR(dns_rdatatype_totext(covered, target));
  ------------------
  |  |  276|  1.08k|	{                                  \
  |  |  277|  1.08k|		isc_result_t _r = (x);     \
  |  |  278|  1.08k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.08k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.08k|	}
  ------------------
  169|  2.62k|	} else {
  170|  2.62k|		snprintf(buf, sizeof(buf), "%u", covered);
  171|  2.62k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.62k|	{                                  \
  |  |  277|  2.62k|		isc_result_t _r = (x);     \
  |  |  278|  2.62k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.62k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.62k|	}
  ------------------
  172|  2.62k|	}
  173|  3.70k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  174|       |
  175|       |	/*
  176|       |	 * Algorithm.
  177|       |	 */
  178|  3.70k|	snprintf(buf, sizeof(buf), "%u", sr.base[0]);
  179|  3.70k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  180|  3.70k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  181|  3.70k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  182|       |
  183|       |	/*
  184|       |	 * Labels.
  185|       |	 */
  186|  3.70k|	snprintf(buf, sizeof(buf), "%u", sr.base[0]);
  187|  3.70k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  188|  3.70k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  189|  3.70k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  190|       |
  191|       |	/*
  192|       |	 * Ttl.
  193|       |	 */
  194|  3.70k|	ttl = uint32_fromregion(&sr);
  195|  3.70k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  196|  3.70k|	snprintf(buf, sizeof(buf), "%lu", ttl);
  197|  3.70k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  198|  3.70k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  199|       |
  200|       |	/*
  201|       |	 * Sig exp.
  202|       |	 */
  203|  3.70k|	exp = uint32_fromregion(&sr);
  204|  3.70k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  205|  3.70k|	RETERR(dns_time32_totext(exp, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  206|       |
  207|  3.70k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  3.70k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (207:6): [True: 0, False: 3.70k]
  ------------------
  208|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  209|      0|	}
  210|  3.70k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  211|       |
  212|       |	/*
  213|       |	 * Time signed.
  214|       |	 */
  215|  3.70k|	when = uint32_fromregion(&sr);
  216|  3.70k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  217|  3.70k|	RETERR(dns_time32_totext(when, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  218|  3.70k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  219|       |
  220|       |	/*
  221|       |	 * Footprint.
  222|       |	 */
  223|  3.70k|	foot = uint16_fromregion(&sr);
  224|  3.70k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  225|  3.70k|	snprintf(buf, sizeof(buf), "%lu", foot);
  226|  3.70k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  227|  3.70k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  228|       |
  229|       |	/*
  230|       |	 * Signer.
  231|       |	 */
  232|  3.70k|	dns_name_init(&name);
  233|  3.70k|	dns_name_init(&prefix);
  234|  3.70k|	dns_name_fromregion(&name, &sr);
  235|  3.70k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  3.70k|	do {                              \
  |  |   52|  3.70k|		isc_region_t *_r = (r);   \
  |  |   53|  3.70k|		unsigned int  _l = (l);   \
  |  |   54|  3.70k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.70k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.70k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.70k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.70k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.70k|		_r->base += _l;           \
  |  |   56|  3.70k|		_r->length -= _l;         \
  |  |   57|  3.70k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.70k]
  |  |  ------------------
  ------------------
  236|  3.70k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (236:9): [True: 0, False: 3.70k]
  ------------------
  237|  3.70k|							 : 0;
  238|  3.70k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  239|       |
  240|       |	/*
  241|       |	 * Sig.
  242|       |	 */
  243|  3.70k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  244|  3.70k|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (244:6): [True: 0, False: 3.70k]
  ------------------
  245|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  246|  3.70k|	} else {
  247|  3.70k|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|  3.70k|	{                                  \
  |  |  277|  3.70k|		isc_result_t _r = (x);     \
  |  |  278|  3.70k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.70k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.70k|	}
  ------------------
  248|  3.70k|					 target));
  249|  3.70k|	}
  250|  3.70k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  3.70k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (250:6): [True: 0, False: 3.70k]
  ------------------
  251|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  252|      0|	}
  253|       |
  254|  3.70k|	return ISC_R_SUCCESS;
  255|  3.70k|}
rdata.c:covers_sig:
  586|  4.16k|covers_sig(dns_rdata_t *rdata) {
  587|  4.16k|	dns_rdatatype_t type;
  588|  4.16k|	isc_region_t r;
  589|       |
  590|  4.16k|	REQUIRE(rdata->type == dns_rdatatype_sig);
  ------------------
  |  |  198|  4.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  591|       |
  592|  4.16k|	dns_rdata_toregion(rdata, &r);
  593|  4.16k|	type = uint16_fromregion(&r);
  594|       |
  595|  4.16k|	return type;
  596|  4.16k|}

rdata.c:fromwire_sink:
  107|  2.03k|fromwire_sink(ARGS_FROMWIRE) {
  108|  2.03k|	isc_region_t sr;
  109|       |
  110|  2.03k|	REQUIRE(type == dns_rdatatype_sink);
  ------------------
  |  |  198|  2.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.03k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  111|       |
  112|  2.03k|	UNUSED(type);
  ------------------
  |  |   69|  2.03k|#define UNUSED(x) (void)(x)
  ------------------
  113|  2.03k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.03k|#define UNUSED(x) (void)(x)
  ------------------
  114|  2.03k|	UNUSED(dctx);
  ------------------
  |  |   69|  2.03k|#define UNUSED(x) (void)(x)
  ------------------
  115|       |
  116|  2.03k|	isc_buffer_activeregion(source, &sr);
  117|  2.03k|	if (sr.length < 3) {
  ------------------
  |  Branch (117:6): [True: 7, False: 2.03k]
  ------------------
  118|      7|		return ISC_R_UNEXPECTEDEND;
  119|      7|	}
  120|       |
  121|  2.03k|	RETERR(mem_tobuffer(target, sr.base, sr.length));
  ------------------
  |  |  276|  2.03k|	{                                  \
  |  |  277|  2.03k|		isc_result_t _r = (x);     \
  |  |  278|  2.03k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 229, False: 1.80k]
  |  |  ------------------
  |  |  279|    229|			return ((_r));     \
  |  |  280|    229|		}                          \
  |  |  281|  2.03k|	}
  ------------------
  122|  1.80k|	isc_buffer_forward(source, sr.length);
  123|  1.80k|	return ISC_R_SUCCESS;
  124|  2.03k|}
rdata.c:towire_sink:
  127|    793|towire_sink(ARGS_TOWIRE) {
  128|    793|	REQUIRE(rdata->type == dns_rdatatype_sink);
  ------------------
  |  |  198|    793|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    793|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 793, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    793|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  129|    793|	REQUIRE(rdata->length >= 3);
  ------------------
  |  |  198|    793|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    793|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 793, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    793|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  130|       |
  131|    793|	UNUSED(cctx);
  ------------------
  |  |   69|    793|#define UNUSED(x) (void)(x)
  ------------------
  132|       |
  133|    793|	return mem_tobuffer(target, rdata->data, rdata->length);
  134|    793|}
rdata.c:totext_sink:
   61|  1.56k|totext_sink(ARGS_TOTEXT) {
   62|  1.56k|	isc_region_t sr;
   63|  1.56k|	char buf[sizeof("255 255 255")];
   64|  1.56k|	uint8_t meaning, coding, subcoding;
   65|       |
   66|  1.56k|	REQUIRE(rdata->type == dns_rdatatype_sink);
  ------------------
  |  |  198|  1.56k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.56k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.56k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|  1.56k|	REQUIRE(rdata->length >= 3);
  ------------------
  |  |  198|  1.56k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.56k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.56k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   68|       |
   69|  1.56k|	dns_rdata_toregion(rdata, &sr);
   70|       |
   71|       |	/* Meaning, Coding and Subcoding */
   72|  1.56k|	meaning = uint8_fromregion(&sr);
   73|  1.56k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.56k|	do {                              \
  |  |   52|  1.56k|		isc_region_t *_r = (r);   \
  |  |   53|  1.56k|		unsigned int  _l = (l);   \
  |  |   54|  1.56k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.56k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.56k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.56k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.56k|		_r->base += _l;           \
  |  |   56|  1.56k|		_r->length -= _l;         \
  |  |   57|  1.56k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.56k]
  |  |  ------------------
  ------------------
   74|  1.56k|	coding = uint8_fromregion(&sr);
   75|  1.56k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.56k|	do {                              \
  |  |   52|  1.56k|		isc_region_t *_r = (r);   \
  |  |   53|  1.56k|		unsigned int  _l = (l);   \
  |  |   54|  1.56k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.56k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.56k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.56k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.56k|		_r->base += _l;           \
  |  |   56|  1.56k|		_r->length -= _l;         \
  |  |   57|  1.56k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.56k]
  |  |  ------------------
  ------------------
   76|  1.56k|	subcoding = uint8_fromregion(&sr);
   77|  1.56k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.56k|	do {                              \
  |  |   52|  1.56k|		isc_region_t *_r = (r);   \
  |  |   53|  1.56k|		unsigned int  _l = (l);   \
  |  |   54|  1.56k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.56k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.56k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.56k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.56k|		_r->base += _l;           \
  |  |   56|  1.56k|		_r->length -= _l;         \
  |  |   57|  1.56k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.56k]
  |  |  ------------------
  ------------------
   78|  1.56k|	snprintf(buf, sizeof(buf), "%u %u %u", meaning, coding, subcoding);
   79|  1.56k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.56k|	{                                  \
  |  |  277|  1.56k|		isc_result_t _r = (x);     \
  |  |  278|  1.56k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.56k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.56k|	}
  ------------------
   80|       |
   81|  1.56k|	if (sr.length == 0U) {
  ------------------
  |  Branch (81:6): [True: 913, False: 656]
  ------------------
   82|    913|		return ISC_R_SUCCESS;
   83|    913|	}
   84|       |
   85|       |	/* data */
   86|    656|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    656|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (86:6): [True: 0, False: 656]
  ------------------
   87|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   88|      0|	}
   89|       |
   90|    656|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|    656|	{                                  \
  |  |  277|    656|		isc_result_t _r = (x);     \
  |  |  278|    656|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 656]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    656|	}
  ------------------
   91|       |
   92|    656|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (92:6): [True: 0, False: 656]
  ------------------
   93|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   94|    656|	} else {
   95|    656|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|    656|	{                                  \
  |  |  277|    656|		isc_result_t _r = (x);     \
  |  |  278|    656|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 656]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    656|	}
  ------------------
   96|    656|					 target));
   97|    656|	}
   98|       |
   99|    656|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    656|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (99:6): [True: 0, False: 656]
  ------------------
  100|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  101|      0|	}
  102|       |
  103|    656|	return ISC_R_SUCCESS;
  104|    656|}

rdata.c:fromwire_smimea:
   35|  1.08k|fromwire_smimea(ARGS_FROMWIRE) {
   36|  1.08k|	REQUIRE(type == dns_rdatatype_smimea);
  ------------------
  |  |  198|  1.08k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.08k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.08k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.08k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|  1.08k|	return generic_fromwire_tlsa(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.08k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|  1.08k|}
rdata.c:towire_smimea:
   42|    475|towire_smimea(ARGS_TOWIRE) {
   43|    475|	isc_region_t sr;
   44|       |
   45|    475|	REQUIRE(rdata->type == dns_rdatatype_smimea);
  ------------------
  |  |  198|    475|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    475|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 475, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    475|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   46|    475|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    475|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    475|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 475, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    475|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   47|       |
   48|    475|	UNUSED(cctx);
  ------------------
  |  |   69|    475|#define UNUSED(x) (void)(x)
  ------------------
   49|       |
   50|    475|	dns_rdata_toregion(rdata, &sr);
   51|    475|	return mem_tobuffer(target, sr.base, sr.length);
   52|    475|}
rdata.c:totext_smimea:
   27|    939|totext_smimea(ARGS_TOTEXT) {
   28|    939|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    939|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    939|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 939, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    939|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|    939|	REQUIRE(rdata->type == dns_rdatatype_smimea);
  ------------------
  |  |  198|    939|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    939|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 939, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    939|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|    939|	return generic_totext_tlsa(CALL_TOTEXT);
  ------------------
  |  |   85|    939|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|    939|}

rdata.c:compare_soa:
  234|  2.71k|compare_soa(ARGS_COMPARE) {
  235|  2.71k|	isc_region_t region1;
  236|  2.71k|	isc_region_t region2;
  237|  2.71k|	dns_name_t name1;
  238|  2.71k|	dns_name_t name2;
  239|  2.71k|	int order;
  240|       |
  241|  2.71k|	REQUIRE(rdata1->type == rdata2->type);
  ------------------
  |  |  198|  2.71k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.71k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.71k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  242|  2.71k|	REQUIRE(rdata1->rdclass == rdata2->rdclass);
  ------------------
  |  |  198|  2.71k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.71k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.71k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  243|  2.71k|	REQUIRE(rdata1->type == dns_rdatatype_soa);
  ------------------
  |  |  198|  2.71k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.71k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.71k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  244|  2.71k|	REQUIRE(rdata1->length != 0);
  ------------------
  |  |  198|  2.71k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.71k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.71k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  245|  2.71k|	REQUIRE(rdata2->length != 0);
  ------------------
  |  |  198|  2.71k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.71k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.71k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.71k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  246|       |
  247|  2.71k|	dns_name_init(&name1);
  248|  2.71k|	dns_name_init(&name2);
  249|       |
  250|  2.71k|	dns_rdata_toregion(rdata1, &region1);
  251|  2.71k|	dns_rdata_toregion(rdata2, &region2);
  252|       |
  253|  2.71k|	dns_name_fromregion(&name1, &region1);
  254|  2.71k|	dns_name_fromregion(&name2, &region2);
  255|       |
  256|  2.71k|	order = dns_name_rdatacompare(&name1, &name2);
  257|  2.71k|	if (order != 0) {
  ------------------
  |  Branch (257:6): [True: 519, False: 2.19k]
  ------------------
  258|    519|		return order;
  259|    519|	}
  260|       |
  261|  2.19k|	isc_region_consume(&region1, name_length(&name1));
  ------------------
  |  |   51|  2.19k|	do {                              \
  |  |   52|  2.19k|		isc_region_t *_r = (r);   \
  |  |   53|  2.19k|		unsigned int  _l = (l);   \
  |  |   54|  2.19k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.19k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.19k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.19k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.19k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.19k|		_r->base += _l;           \
  |  |   56|  2.19k|		_r->length -= _l;         \
  |  |   57|  2.19k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.19k]
  |  |  ------------------
  ------------------
  262|  2.19k|	isc_region_consume(&region2, name_length(&name2));
  ------------------
  |  |   51|  2.19k|	do {                              \
  |  |   52|  2.19k|		isc_region_t *_r = (r);   \
  |  |   53|  2.19k|		unsigned int  _l = (l);   \
  |  |   54|  2.19k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.19k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.19k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.19k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.19k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.19k|		_r->base += _l;           \
  |  |   56|  2.19k|		_r->length -= _l;         \
  |  |   57|  2.19k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.19k]
  |  |  ------------------
  ------------------
  263|       |
  264|  2.19k|	dns_name_init(&name1);
  265|  2.19k|	dns_name_init(&name2);
  266|       |
  267|  2.19k|	dns_name_fromregion(&name1, &region1);
  268|  2.19k|	dns_name_fromregion(&name2, &region2);
  269|       |
  270|  2.19k|	order = dns_name_rdatacompare(&name1, &name2);
  271|  2.19k|	if (order != 0) {
  ------------------
  |  Branch (271:6): [True: 823, False: 1.37k]
  ------------------
  272|    823|		return order;
  273|    823|	}
  274|       |
  275|  1.37k|	isc_region_consume(&region1, name_length(&name1));
  ------------------
  |  |   51|  1.37k|	do {                              \
  |  |   52|  1.37k|		isc_region_t *_r = (r);   \
  |  |   53|  1.37k|		unsigned int  _l = (l);   \
  |  |   54|  1.37k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.37k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.37k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.37k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.37k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.37k|		_r->base += _l;           \
  |  |   56|  1.37k|		_r->length -= _l;         \
  |  |   57|  1.37k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.37k]
  |  |  ------------------
  ------------------
  276|  1.37k|	isc_region_consume(&region2, name_length(&name2));
  ------------------
  |  |   51|  1.37k|	do {                              \
  |  |   52|  1.37k|		isc_region_t *_r = (r);   \
  |  |   53|  1.37k|		unsigned int  _l = (l);   \
  |  |   54|  1.37k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.37k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.37k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.37k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.37k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.37k|		_r->base += _l;           \
  |  |   56|  1.37k|		_r->length -= _l;         \
  |  |   57|  1.37k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.37k]
  |  |  ------------------
  ------------------
  277|       |
  278|  1.37k|	return isc_region_compare(&region1, &region2);
  279|  2.19k|}
rdata.c:fromwire_soa:
  162|  4.85k|fromwire_soa(ARGS_FROMWIRE) {
  163|  4.85k|	dns_name_t mname;
  164|  4.85k|	dns_name_t rname;
  165|  4.85k|	isc_region_t sregion;
  166|  4.85k|	isc_region_t tregion;
  167|       |
  168|  4.85k|	REQUIRE(type == dns_rdatatype_soa);
  ------------------
  |  |  198|  4.85k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.85k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4.85k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  4.85k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  169|       |
  170|  4.85k|	UNUSED(type);
  ------------------
  |  |   69|  4.85k|#define UNUSED(x) (void)(x)
  ------------------
  171|  4.85k|	UNUSED(rdclass);
  ------------------
  |  |   69|  4.85k|#define UNUSED(x) (void)(x)
  ------------------
  172|       |
  173|  4.85k|	dctx = dns_decompress_setpermitted(dctx, true);
  174|       |
  175|  4.85k|	dns_name_init(&mname);
  176|  4.85k|	dns_name_init(&rname);
  177|       |
  178|  4.85k|	RETERR(dns_name_fromwire(&mname, source, dctx, target));
  ------------------
  |  |  276|  4.85k|	{                                  \
  |  |  277|  4.85k|		isc_result_t _r = (x);     \
  |  |  278|  4.85k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 406, False: 4.44k]
  |  |  ------------------
  |  |  279|    406|			return ((_r));     \
  |  |  280|    406|		}                          \
  |  |  281|  4.85k|	}
  ------------------
  179|  4.44k|	RETERR(dns_name_fromwire(&rname, source, dctx, target));
  ------------------
  |  |  276|  4.44k|	{                                  \
  |  |  277|  4.44k|		isc_result_t _r = (x);     \
  |  |  278|  4.44k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 394, False: 4.05k]
  |  |  ------------------
  |  |  279|    394|			return ((_r));     \
  |  |  280|    394|		}                          \
  |  |  281|  4.44k|	}
  ------------------
  180|       |
  181|  4.05k|	isc_buffer_activeregion(source, &sregion);
  182|  4.05k|	isc_buffer_availableregion(target, &tregion);
  183|       |
  184|  4.05k|	if (sregion.length < 20) {
  ------------------
  |  Branch (184:6): [True: 4, False: 4.04k]
  ------------------
  185|      4|		return ISC_R_UNEXPECTEDEND;
  186|      4|	}
  187|  4.04k|	if (tregion.length < 20) {
  ------------------
  |  Branch (187:6): [True: 224, False: 3.82k]
  ------------------
  188|    224|		return ISC_R_NOSPACE;
  189|    224|	}
  190|       |
  191|  3.82k|	memmove(tregion.base, sregion.base, 20);
  192|  3.82k|	isc_buffer_forward(source, 20);
  193|  3.82k|	isc_buffer_add(target, 20);
  194|       |
  195|  3.82k|	return ISC_R_SUCCESS;
  196|  4.04k|}
rdata.c:towire_soa:
  199|  2.03k|towire_soa(ARGS_TOWIRE) {
  200|  2.03k|	isc_region_t sregion;
  201|  2.03k|	isc_region_t tregion;
  202|  2.03k|	dns_name_t mname;
  203|  2.03k|	dns_name_t rname;
  204|       |
  205|  2.03k|	REQUIRE(rdata->type == dns_rdatatype_soa);
  ------------------
  |  |  198|  2.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.03k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  206|  2.03k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.03k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  207|       |
  208|  2.03k|	dns_compress_setpermitted(cctx, true);
  209|       |
  210|  2.03k|	dns_name_init(&mname);
  211|  2.03k|	dns_name_init(&rname);
  212|       |
  213|  2.03k|	dns_rdata_toregion(rdata, &sregion);
  214|       |
  215|  2.03k|	dns_name_fromregion(&mname, &sregion);
  216|  2.03k|	isc_region_consume(&sregion, name_length(&mname));
  ------------------
  |  |   51|  2.03k|	do {                              \
  |  |   52|  2.03k|		isc_region_t *_r = (r);   \
  |  |   53|  2.03k|		unsigned int  _l = (l);   \
  |  |   54|  2.03k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.03k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.03k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.03k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.03k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.03k|		_r->base += _l;           \
  |  |   56|  2.03k|		_r->length -= _l;         \
  |  |   57|  2.03k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.03k]
  |  |  ------------------
  ------------------
  217|  2.03k|	RETERR(dns_name_towire(&mname, cctx, target));
  ------------------
  |  |  276|  2.03k|	{                                  \
  |  |  277|  2.03k|		isc_result_t _r = (x);     \
  |  |  278|  2.03k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 2.03k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  2.03k|	}
  ------------------
  218|       |
  219|  2.03k|	dns_name_fromregion(&rname, &sregion);
  220|  2.03k|	isc_region_consume(&sregion, name_length(&rname));
  ------------------
  |  |   51|  2.03k|	do {                              \
  |  |   52|  2.03k|		isc_region_t *_r = (r);   \
  |  |   53|  2.03k|		unsigned int  _l = (l);   \
  |  |   54|  2.03k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.03k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.03k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.03k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.03k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.03k|		_r->base += _l;           \
  |  |   56|  2.03k|		_r->length -= _l;         \
  |  |   57|  2.03k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.03k]
  |  |  ------------------
  ------------------
  221|  2.03k|	RETERR(dns_name_towire(&rname, cctx, target));
  ------------------
  |  |  276|  2.03k|	{                                  \
  |  |  277|  2.03k|		isc_result_t _r = (x);     \
  |  |  278|  2.03k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 2.03k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  2.03k|	}
  ------------------
  222|       |
  223|  2.03k|	isc_buffer_availableregion(target, &tregion);
  224|  2.03k|	if (tregion.length < 20) {
  ------------------
  |  Branch (224:6): [True: 1, False: 2.02k]
  ------------------
  225|      1|		return ISC_R_NOSPACE;
  226|      1|	}
  227|       |
  228|  2.02k|	memmove(tregion.base, sregion.base, 20);
  229|  2.02k|	isc_buffer_add(target, 20);
  230|  2.02k|	return ISC_R_SUCCESS;
  231|  2.03k|}
rdata.c:totext_soa:
   84|  3.74k|totext_soa(ARGS_TOTEXT) {
   85|  3.74k|	isc_region_t dregion;
   86|  3.74k|	dns_name_t mname;
   87|  3.74k|	dns_name_t rname;
   88|  3.74k|	dns_name_t prefix;
   89|  3.74k|	unsigned int opts;
   90|  3.74k|	int i;
   91|  3.74k|	bool multiline;
   92|  3.74k|	bool comm;
   93|       |
   94|  3.74k|	REQUIRE(rdata->type == dns_rdatatype_soa);
  ------------------
  |  |  198|  3.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   95|  3.74k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  3.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   96|       |
   97|  3.74k|	multiline = ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0);
  ------------------
  |  |  193|  3.74k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
   98|  3.74k|	if (multiline) {
  ------------------
  |  Branch (98:6): [True: 0, False: 3.74k]
  ------------------
   99|      0|		comm = ((tctx->flags & DNS_STYLEFLAG_RRCOMMENT) != 0);
  ------------------
  |  |  197|      0|#define DNS_STYLEFLAG_RRCOMMENT 0x00000004ULL
  ------------------
  100|  3.74k|	} else {
  101|  3.74k|		comm = false;
  102|  3.74k|	}
  103|       |
  104|  3.74k|	dns_name_init(&mname);
  105|  3.74k|	dns_name_init(&rname);
  106|  3.74k|	dns_name_init(&prefix);
  107|       |
  108|  3.74k|	dns_rdata_toregion(rdata, &dregion);
  109|       |
  110|  3.74k|	dns_name_fromregion(&mname, &dregion);
  111|  3.74k|	isc_region_consume(&dregion, name_length(&mname));
  ------------------
  |  |   51|  3.74k|	do {                              \
  |  |   52|  3.74k|		isc_region_t *_r = (r);   \
  |  |   53|  3.74k|		unsigned int  _l = (l);   \
  |  |   54|  3.74k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.74k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.74k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.74k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.74k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.74k|		_r->base += _l;           \
  |  |   56|  3.74k|		_r->length -= _l;         \
  |  |   57|  3.74k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.74k]
  |  |  ------------------
  ------------------
  112|       |
  113|  3.74k|	dns_name_fromregion(&rname, &dregion);
  114|  3.74k|	isc_region_consume(&dregion, name_length(&rname));
  ------------------
  |  |   51|  3.74k|	do {                              \
  |  |   52|  3.74k|		isc_region_t *_r = (r);   \
  |  |   53|  3.74k|		unsigned int  _l = (l);   \
  |  |   54|  3.74k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.74k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.74k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.74k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.74k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.74k|		_r->base += _l;           \
  |  |   56|  3.74k|		_r->length -= _l;         \
  |  |   57|  3.74k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.74k]
  |  |  ------------------
  ------------------
  115|       |
  116|  3.74k|	opts = name_prefix(&mname, tctx->origin, &prefix)
  ------------------
  |  Branch (116:9): [True: 0, False: 3.74k]
  ------------------
  117|  3.74k|		       ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  118|  3.74k|		       : 0;
  119|  3.74k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  3.74k|	{                                  \
  |  |  277|  3.74k|		isc_result_t _r = (x);     \
  |  |  278|  3.74k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.74k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.74k|	}
  ------------------
  120|       |
  121|  3.74k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  3.74k|	{                                  \
  |  |  277|  3.74k|		isc_result_t _r = (x);     \
  |  |  278|  3.74k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.74k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.74k|	}
  ------------------
  122|       |
  123|  3.74k|	opts = name_prefix(&rname, tctx->origin, &prefix)
  ------------------
  |  Branch (123:9): [True: 0, False: 3.74k]
  ------------------
  124|  3.74k|		       ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  125|  3.74k|		       : 0;
  126|  3.74k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  3.74k|	{                                  \
  |  |  277|  3.74k|		isc_result_t _r = (x);     \
  |  |  278|  3.74k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.74k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.74k|	}
  ------------------
  127|       |
  128|  3.74k|	if (multiline) {
  ------------------
  |  Branch (128:6): [True: 0, False: 3.74k]
  ------------------
  129|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  130|      0|	}
  131|  3.74k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  3.74k|	{                                  \
  |  |  277|  3.74k|		isc_result_t _r = (x);     \
  |  |  278|  3.74k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.74k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.74k|	}
  ------------------
  132|       |
  133|  22.4k|	for (i = 0; i < 5; i++) {
  ------------------
  |  Branch (133:14): [True: 18.7k, False: 3.74k]
  ------------------
  134|  18.7k|		char buf[sizeof("0123456789 ; ")];
  135|  18.7k|		unsigned long num;
  136|  18.7k|		num = uint32_fromregion(&dregion);
  137|  18.7k|		isc_region_consume(&dregion, 4);
  ------------------
  |  |   51|  18.7k|	do {                              \
  |  |   52|  18.7k|		isc_region_t *_r = (r);   \
  |  |   53|  18.7k|		unsigned int  _l = (l);   \
  |  |   54|  18.7k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  18.7k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  18.7k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 18.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  18.7k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  18.7k|		_r->base += _l;           \
  |  |   56|  18.7k|		_r->length -= _l;         \
  |  |   57|  18.7k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 18.7k]
  |  |  ------------------
  ------------------
  138|  18.7k|		snprintf(buf, sizeof(buf), comm ? "%-10lu ; " : "%lu", num);
  ------------------
  |  Branch (138:30): [True: 0, False: 18.7k]
  ------------------
  139|  18.7k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  18.7k|	{                                  \
  |  |  277|  18.7k|		isc_result_t _r = (x);     \
  |  |  278|  18.7k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 18.7k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  18.7k|	}
  ------------------
  140|  18.7k|		if (comm) {
  ------------------
  |  Branch (140:7): [True: 0, False: 18.7k]
  ------------------
  141|      0|			RETERR(str_totext(soa_fieldnames[i], target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  142|       |			/* Print times in week/day/hour/minute/second form */
  143|      0|			if (i >= 1) {
  ------------------
  |  Branch (143:8): [True: 0, False: 0]
  ------------------
  144|      0|				RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  145|      0|				RETERR(dns_ttl_totext(num, true, true, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  146|      0|				RETERR(str_totext(")", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  147|      0|			}
  148|      0|			RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  149|  18.7k|		} else if (i < 4) {
  ------------------
  |  Branch (149:14): [True: 14.9k, False: 3.74k]
  ------------------
  150|  14.9k|			RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  14.9k|	{                                  \
  |  |  277|  14.9k|		isc_result_t _r = (x);     \
  |  |  278|  14.9k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 14.9k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  14.9k|	}
  ------------------
  151|  14.9k|		}
  152|  18.7k|	}
  153|       |
  154|  3.74k|	if (multiline) {
  ------------------
  |  Branch (154:6): [True: 0, False: 3.74k]
  ------------------
  155|      0|		RETERR(str_totext(")", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  156|      0|	}
  157|       |
  158|  3.74k|	return ISC_R_SUCCESS;
  159|  3.74k|}

rdata.c:fromwire_spf:
   35|    993|fromwire_spf(ARGS_FROMWIRE) {
   36|    993|	REQUIRE(type == dns_rdatatype_spf);
  ------------------
  |  |  198|    993|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    993|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 993, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    993|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|    993|	return generic_fromwire_txt(CALL_FROMWIRE);
  ------------------
  |  |   91|    993|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|    993|}
rdata.c:towire_spf:
   42|    436|towire_spf(ARGS_TOWIRE) {
   43|    436|	REQUIRE(rdata->type == dns_rdatatype_spf);
  ------------------
  |  |  198|    436|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    436|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 436, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    436|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   44|       |
   45|    436|	UNUSED(cctx);
  ------------------
  |  |   69|    436|#define UNUSED(x) (void)(x)
  ------------------
   46|       |
   47|    436|	return mem_tobuffer(target, rdata->data, rdata->length);
   48|    436|}
rdata.c:totext_spf:
   27|    853|totext_spf(ARGS_TOTEXT) {
   28|    853|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    853|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    853|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 853, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    853|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|    853|	REQUIRE(rdata->type == dns_rdatatype_spf);
  ------------------
  |  |  198|    853|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    853|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 853, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    853|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|    853|	return generic_totext_txt(CALL_TOTEXT);
  ------------------
  |  |   85|    853|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|    853|}

rdata.c:fromwire_sshfp:
  127|  2.02k|fromwire_sshfp(ARGS_FROMWIRE) {
  128|  2.02k|	isc_region_t sr;
  129|       |
  130|  2.02k|	REQUIRE(type == dns_rdatatype_sshfp);
  ------------------
  |  |  198|  2.02k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.02k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.02k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.02k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  131|       |
  132|  2.02k|	UNUSED(type);
  ------------------
  |  |   69|  2.02k|#define UNUSED(x) (void)(x)
  ------------------
  133|  2.02k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.02k|#define UNUSED(x) (void)(x)
  ------------------
  134|  2.02k|	UNUSED(dctx);
  ------------------
  |  |   69|  2.02k|#define UNUSED(x) (void)(x)
  ------------------
  135|       |
  136|  2.02k|	isc_buffer_activeregion(source, &sr);
  137|  2.02k|	if (sr.length < 2) {
  ------------------
  |  Branch (137:6): [True: 5, False: 2.02k]
  ------------------
  138|      5|		return ISC_R_UNEXPECTEDEND;
  139|      5|	}
  140|       |
  141|  2.02k|	if ((sr.base[1] == 1 && sr.length != ISC_SHA1_DIGESTLENGTH + 2) ||
  ------------------
  |  |   50|    200|#define ISC_SHA1_DIGESTLENGTH	20
  ------------------
  |  Branch (141:7): [True: 200, False: 1.82k]
  |  Branch (141:26): [True: 3, False: 197]
  ------------------
  142|  2.01k|	    (sr.base[1] == 2 && sr.length != ISC_SHA256_DIGESTLENGTH + 2))
  ------------------
  |  |   54|    201|#define ISC_SHA256_DIGESTLENGTH 32
  ------------------
  |  Branch (142:7): [True: 201, False: 1.81k]
  |  Branch (142:26): [True: 2, False: 199]
  ------------------
  143|      5|	{
  144|      5|		return DNS_R_FORMERR;
  145|      5|	}
  146|       |
  147|  2.01k|	isc_buffer_forward(source, sr.length);
  148|  2.01k|	return mem_tobuffer(target, sr.base, sr.length);
  149|  2.02k|}
rdata.c:towire_sshfp:
  152|    792|towire_sshfp(ARGS_TOWIRE) {
  153|    792|	isc_region_t sr;
  154|       |
  155|    792|	REQUIRE(rdata->type == dns_rdatatype_sshfp);
  ------------------
  |  |  198|    792|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    792|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 792, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    792|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  156|    792|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    792|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    792|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 792, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    792|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  157|       |
  158|    792|	UNUSED(cctx);
  ------------------
  |  |   69|    792|#define UNUSED(x) (void)(x)
  ------------------
  159|       |
  160|    792|	dns_rdata_toregion(rdata, &sr);
  161|    792|	return mem_tobuffer(target, sr.base, sr.length);
  162|    792|}
rdata.c:totext_sshfp:
   75|  1.56k|totext_sshfp(ARGS_TOTEXT) {
   76|  1.56k|	isc_region_t sr;
   77|  1.56k|	char buf[sizeof("64000 ")];
   78|  1.56k|	unsigned int n;
   79|       |
   80|  1.56k|	REQUIRE(rdata->type == dns_rdatatype_sshfp);
  ------------------
  |  |  198|  1.56k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.56k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.56k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   81|  1.56k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.56k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.56k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.56k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   82|       |
   83|  1.56k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.56k|#define UNUSED(x) (void)(x)
  ------------------
   84|       |
   85|  1.56k|	dns_rdata_toregion(rdata, &sr);
   86|       |
   87|       |	/*
   88|       |	 * Algorithm.
   89|       |	 */
   90|  1.56k|	n = uint8_fromregion(&sr);
   91|  1.56k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.56k|	do {                              \
  |  |   52|  1.56k|		isc_region_t *_r = (r);   \
  |  |   53|  1.56k|		unsigned int  _l = (l);   \
  |  |   54|  1.56k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.56k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.56k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.56k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.56k|		_r->base += _l;           \
  |  |   56|  1.56k|		_r->length -= _l;         \
  |  |   57|  1.56k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.56k]
  |  |  ------------------
  ------------------
   92|  1.56k|	snprintf(buf, sizeof(buf), "%u ", n);
   93|  1.56k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.56k|	{                                  \
  |  |  277|  1.56k|		isc_result_t _r = (x);     \
  |  |  278|  1.56k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.56k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.56k|	}
  ------------------
   94|       |
   95|       |	/*
   96|       |	 * Digest type.
   97|       |	 */
   98|  1.56k|	n = uint8_fromregion(&sr);
   99|  1.56k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.56k|	do {                              \
  |  |   52|  1.56k|		isc_region_t *_r = (r);   \
  |  |   53|  1.56k|		unsigned int  _l = (l);   \
  |  |   54|  1.56k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.56k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.56k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.56k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.56k|		_r->base += _l;           \
  |  |   56|  1.56k|		_r->length -= _l;         \
  |  |   57|  1.56k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.56k]
  |  |  ------------------
  ------------------
  100|  1.56k|	snprintf(buf, sizeof(buf), "%u", n);
  101|  1.56k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.56k|	{                                  \
  |  |  277|  1.56k|		isc_result_t _r = (x);     \
  |  |  278|  1.56k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.56k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.56k|	}
  ------------------
  102|       |
  103|  1.56k|	if (sr.length == 0U) {
  ------------------
  |  Branch (103:6): [True: 853, False: 711]
  ------------------
  104|    853|		return ISC_R_SUCCESS;
  105|    853|	}
  106|       |
  107|       |	/*
  108|       |	 * Digest.
  109|       |	 */
  110|    711|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    711|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (110:6): [True: 0, False: 711]
  ------------------
  111|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  112|      0|	}
  113|    711|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|    711|	{                                  \
  |  |  277|    711|		isc_result_t _r = (x);     \
  |  |  278|    711|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 711]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    711|	}
  ------------------
  114|    711|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (114:6): [True: 0, False: 711]
  ------------------
  115|      0|		RETERR(isc_hex_totext(&sr, 0, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  116|    711|	} else {
  117|    711|		RETERR(isc_hex_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|    711|	{                                  \
  |  |  277|    711|		isc_result_t _r = (x);     \
  |  |  278|    711|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 711]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    711|	}
  ------------------
  118|    711|				      target));
  119|    711|	}
  120|    711|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    711|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (120:6): [True: 0, False: 711]
  ------------------
  121|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  122|      0|	}
  123|    711|	return ISC_R_SUCCESS;
  124|    711|}

rdata.c:fromwire_ta:
   36|    969|fromwire_ta(ARGS_FROMWIRE) {
   37|    969|	REQUIRE(type == dns_rdatatype_ta);
  ------------------
  |  |  198|    969|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    969|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 969, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    969|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   38|       |
   39|    969|	return generic_fromwire_ds(CALL_FROMWIRE);
  ------------------
  |  |   91|    969|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   40|    969|}
rdata.c:towire_ta:
   43|    479|towire_ta(ARGS_TOWIRE) {
   44|    479|	isc_region_t sr;
   45|       |
   46|    479|	REQUIRE(rdata->type == dns_rdatatype_ta);
  ------------------
  |  |  198|    479|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    479|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 479, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    479|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   47|    479|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    479|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    479|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 479, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    479|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   48|       |
   49|    479|	UNUSED(cctx);
  ------------------
  |  |   69|    479|#define UNUSED(x) (void)(x)
  ------------------
   50|       |
   51|    479|	dns_rdata_toregion(rdata, &sr);
   52|    479|	return mem_tobuffer(target, sr.base, sr.length);
   53|    479|}
rdata.c:totext_ta:
   29|    949|totext_ta(ARGS_TOTEXT) {
   30|    949|	REQUIRE(rdata->type == dns_rdatatype_ta);
  ------------------
  |  |  198|    949|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    949|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 949, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    949|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   31|       |
   32|    949|	return generic_totext_ds(CALL_TOTEXT);
  ------------------
  |  |   85|    949|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   33|    949|}

rdata.c:fromwire_talink:
   81|  3.16k|fromwire_talink(ARGS_FROMWIRE) {
   82|  3.16k|	dns_name_t prev;
   83|  3.16k|	dns_name_t next;
   84|       |
   85|  3.16k|	REQUIRE(type == dns_rdatatype_talink);
  ------------------
  |  |  198|  3.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|  3.16k|	UNUSED(type);
  ------------------
  |  |   69|  3.16k|#define UNUSED(x) (void)(x)
  ------------------
   88|  3.16k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.16k|#define UNUSED(x) (void)(x)
  ------------------
   89|       |
   90|  3.16k|	dctx = dns_decompress_setpermitted(dctx, false);
   91|       |
   92|  3.16k|	dns_name_init(&prev);
   93|  3.16k|	dns_name_init(&next);
   94|       |
   95|  3.16k|	RETERR(dns_name_fromwire(&prev, source, dctx, target));
  ------------------
  |  |  276|  3.16k|	{                                  \
  |  |  277|  3.16k|		isc_result_t _r = (x);     \
  |  |  278|  3.16k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 316, False: 2.85k]
  |  |  ------------------
  |  |  279|    316|			return ((_r));     \
  |  |  280|    316|		}                          \
  |  |  281|  3.16k|	}
  ------------------
   96|  2.85k|	return dns_name_fromwire(&next, source, dctx, target);
   97|  3.16k|}
rdata.c:towire_talink:
  100|  1.29k|towire_talink(ARGS_TOWIRE) {
  101|  1.29k|	isc_region_t sregion;
  102|  1.29k|	dns_name_t prev;
  103|  1.29k|	dns_name_t next;
  104|       |
  105|  1.29k|	REQUIRE(rdata->type == dns_rdatatype_talink);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|  1.29k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  107|       |
  108|  1.29k|	dns_compress_setpermitted(cctx, false);
  109|       |
  110|  1.29k|	dns_name_init(&prev);
  111|  1.29k|	dns_name_init(&next);
  112|       |
  113|  1.29k|	dns_rdata_toregion(rdata, &sregion);
  114|       |
  115|  1.29k|	dns_name_fromregion(&prev, &sregion);
  116|  1.29k|	isc_region_consume(&sregion, name_length(&prev));
  ------------------
  |  |   51|  1.29k|	do {                              \
  |  |   52|  1.29k|		isc_region_t *_r = (r);   \
  |  |   53|  1.29k|		unsigned int  _l = (l);   \
  |  |   54|  1.29k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.29k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.29k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.29k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.29k|		_r->base += _l;           \
  |  |   56|  1.29k|		_r->length -= _l;         \
  |  |   57|  1.29k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.29k]
  |  |  ------------------
  ------------------
  117|  1.29k|	RETERR(dns_name_towire(&prev, cctx, target));
  ------------------
  |  |  276|  1.29k|	{                                  \
  |  |  277|  1.29k|		isc_result_t _r = (x);     \
  |  |  278|  1.29k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 1.29k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  1.29k|	}
  ------------------
  118|       |
  119|  1.29k|	dns_name_fromregion(&next, &sregion);
  120|  1.29k|	isc_region_consume(&sregion, name_length(&next));
  ------------------
  |  |   51|  1.29k|	do {                              \
  |  |   52|  1.29k|		isc_region_t *_r = (r);   \
  |  |   53|  1.29k|		unsigned int  _l = (l);   \
  |  |   54|  1.29k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.29k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.29k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.29k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.29k|		_r->base += _l;           \
  |  |   56|  1.29k|		_r->length -= _l;         \
  |  |   57|  1.29k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.29k]
  |  |  ------------------
  ------------------
  121|  1.29k|	return dns_name_towire(&next, cctx, target);
  122|  1.29k|}
rdata.c:totext_talink:
   47|  2.44k|totext_talink(ARGS_TOTEXT) {
   48|  2.44k|	isc_region_t dregion;
   49|  2.44k|	dns_name_t prev;
   50|  2.44k|	dns_name_t next;
   51|  2.44k|	dns_name_t prefix;
   52|  2.44k|	unsigned int opts;
   53|       |
   54|  2.44k|	REQUIRE(rdata->type == dns_rdatatype_talink);
  ------------------
  |  |  198|  2.44k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.44k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.44k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.44k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   55|  2.44k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.44k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.44k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.44k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.44k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   56|       |
   57|  2.44k|	dns_name_init(&prev);
   58|  2.44k|	dns_name_init(&next);
   59|  2.44k|	dns_name_init(&prefix);
   60|       |
   61|  2.44k|	dns_rdata_toregion(rdata, &dregion);
   62|       |
   63|  2.44k|	dns_name_fromregion(&prev, &dregion);
   64|  2.44k|	isc_region_consume(&dregion, name_length(&prev));
  ------------------
  |  |   51|  2.44k|	do {                              \
  |  |   52|  2.44k|		isc_region_t *_r = (r);   \
  |  |   53|  2.44k|		unsigned int  _l = (l);   \
  |  |   54|  2.44k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.44k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.44k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.44k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.44k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.44k|		_r->base += _l;           \
  |  |   56|  2.44k|		_r->length -= _l;         \
  |  |   57|  2.44k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.44k]
  |  |  ------------------
  ------------------
   65|       |
   66|  2.44k|	dns_name_fromregion(&next, &dregion);
   67|  2.44k|	isc_region_consume(&dregion, name_length(&next));
  ------------------
  |  |   51|  2.44k|	do {                              \
  |  |   52|  2.44k|		isc_region_t *_r = (r);   \
  |  |   53|  2.44k|		unsigned int  _l = (l);   \
  |  |   54|  2.44k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.44k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.44k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.44k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.44k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.44k|		_r->base += _l;           \
  |  |   56|  2.44k|		_r->length -= _l;         \
  |  |   57|  2.44k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.44k]
  |  |  ------------------
  ------------------
   68|       |
   69|  2.44k|	opts = name_prefix(&prev, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (69:9): [True: 0, False: 2.44k]
  ------------------
   70|  2.44k|							 : 0;
   71|  2.44k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  2.44k|	{                                  \
  |  |  277|  2.44k|		isc_result_t _r = (x);     \
  |  |  278|  2.44k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.44k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.44k|	}
  ------------------
   72|       |
   73|  2.44k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  2.44k|	{                                  \
  |  |  277|  2.44k|		isc_result_t _r = (x);     \
  |  |  278|  2.44k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.44k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.44k|	}
  ------------------
   74|       |
   75|  2.44k|	opts = name_prefix(&next, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (75:9): [True: 0, False: 2.44k]
  ------------------
   76|  2.44k|							 : 0;
   77|  2.44k|	return dns_name_totext(&prefix, opts, target);
   78|  2.44k|}

rdata.c:fromwire_tkey:
  246|  3.28k|fromwire_tkey(ARGS_FROMWIRE) {
  247|  3.28k|	isc_region_t sr;
  248|  3.28k|	unsigned long n;
  249|  3.28k|	dns_name_t name;
  250|       |
  251|  3.28k|	REQUIRE(type == dns_rdatatype_tkey);
  ------------------
  |  |  198|  3.28k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.28k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.28k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.28k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  252|       |
  253|  3.28k|	UNUSED(type);
  ------------------
  |  |   69|  3.28k|#define UNUSED(x) (void)(x)
  ------------------
  254|  3.28k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.28k|#define UNUSED(x) (void)(x)
  ------------------
  255|       |
  256|  3.28k|	dctx = dns_decompress_setpermitted(dctx, false);
  257|       |
  258|       |	/*
  259|       |	 * Algorithm.
  260|       |	 */
  261|  3.28k|	dns_name_init(&name);
  262|  3.28k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  3.28k|	{                                  \
  |  |  277|  3.28k|		isc_result_t _r = (x);     \
  |  |  278|  3.28k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 199, False: 3.09k]
  |  |  ------------------
  |  |  279|    199|			return ((_r));     \
  |  |  280|    199|		}                          \
  |  |  281|  3.28k|	}
  ------------------
  263|       |
  264|       |	/*
  265|       |	 * Inception: 4
  266|       |	 * Expiration: 4
  267|       |	 * Mode: 2
  268|       |	 * Error: 2
  269|       |	 */
  270|  3.09k|	isc_buffer_activeregion(source, &sr);
  271|  3.09k|	if (sr.length < 12) {
  ------------------
  |  Branch (271:6): [True: 5, False: 3.08k]
  ------------------
  272|      5|		return ISC_R_UNEXPECTEDEND;
  273|      5|	}
  274|  3.08k|	RETERR(mem_tobuffer(target, sr.base, 12));
  ------------------
  |  |  276|  3.08k|	{                                  \
  |  |  277|  3.08k|		isc_result_t _r = (x);     \
  |  |  278|  3.08k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 214, False: 2.87k]
  |  |  ------------------
  |  |  279|    214|			return ((_r));     \
  |  |  280|    214|		}                          \
  |  |  281|  3.08k|	}
  ------------------
  275|  2.87k|	isc_region_consume(&sr, 12);
  ------------------
  |  |   51|  2.87k|	do {                              \
  |  |   52|  2.87k|		isc_region_t *_r = (r);   \
  |  |   53|  2.87k|		unsigned int  _l = (l);   \
  |  |   54|  2.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.87k|		_r->base += _l;           \
  |  |   56|  2.87k|		_r->length -= _l;         \
  |  |   57|  2.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.87k]
  |  |  ------------------
  ------------------
  276|  2.87k|	isc_buffer_forward(source, 12);
  277|       |
  278|       |	/*
  279|       |	 * Key Length + Key Data.
  280|       |	 */
  281|  2.87k|	if (sr.length < 2) {
  ------------------
  |  Branch (281:6): [True: 4, False: 2.86k]
  ------------------
  282|      4|		return ISC_R_UNEXPECTEDEND;
  283|      4|	}
  284|  2.86k|	n = uint16_fromregion(&sr);
  285|  2.86k|	if (sr.length < n + 2) {
  ------------------
  |  Branch (285:6): [True: 21, False: 2.84k]
  ------------------
  286|     21|		return ISC_R_UNEXPECTEDEND;
  287|     21|	}
  288|  2.84k|	RETERR(mem_tobuffer(target, sr.base, n + 2));
  ------------------
  |  |  276|  2.84k|	{                                  \
  |  |  277|  2.84k|		isc_result_t _r = (x);     \
  |  |  278|  2.84k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 227, False: 2.61k]
  |  |  ------------------
  |  |  279|    227|			return ((_r));     \
  |  |  280|    227|		}                          \
  |  |  281|  2.84k|	}
  ------------------
  289|  2.61k|	isc_region_consume(&sr, n + 2);
  ------------------
  |  |   51|  2.61k|	do {                              \
  |  |   52|  2.61k|		isc_region_t *_r = (r);   \
  |  |   53|  2.61k|		unsigned int  _l = (l);   \
  |  |   54|  2.61k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.61k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.61k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.61k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.61k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.61k|		_r->base += _l;           \
  |  |   56|  2.61k|		_r->length -= _l;         \
  |  |   57|  2.61k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.61k]
  |  |  ------------------
  ------------------
  290|  2.61k|	isc_buffer_forward(source, n + 2);
  291|       |
  292|       |	/*
  293|       |	 * Other Length + Other Data.
  294|       |	 */
  295|  2.61k|	if (sr.length < 2) {
  ------------------
  |  Branch (295:6): [True: 5, False: 2.61k]
  ------------------
  296|      5|		return ISC_R_UNEXPECTEDEND;
  297|      5|	}
  298|  2.61k|	n = uint16_fromregion(&sr);
  299|  2.61k|	if (sr.length < n + 2) {
  ------------------
  |  Branch (299:6): [True: 8, False: 2.60k]
  ------------------
  300|      8|		return ISC_R_UNEXPECTEDEND;
  301|      8|	}
  302|  2.60k|	isc_buffer_forward(source, n + 2);
  303|  2.60k|	return mem_tobuffer(target, sr.base, n + 2);
  304|  2.61k|}
rdata.c:towire_tkey:
  307|    947|towire_tkey(ARGS_TOWIRE) {
  308|    947|	isc_region_t sr;
  309|    947|	dns_name_t name;
  310|       |
  311|    947|	REQUIRE(rdata->type == dns_rdatatype_tkey);
  ------------------
  |  |  198|    947|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    947|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 947, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    947|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  312|    947|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    947|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    947|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 947, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    947|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  313|       |
  314|    947|	dns_compress_setpermitted(cctx, false);
  315|       |	/*
  316|       |	 * Algorithm.
  317|       |	 */
  318|    947|	dns_rdata_toregion(rdata, &sr);
  319|    947|	dns_name_init(&name);
  320|    947|	dns_name_fromregion(&name, &sr);
  321|    947|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|    947|	{                                  \
  |  |  277|    947|		isc_result_t _r = (x);     \
  |  |  278|    947|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 946]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    947|	}
  ------------------
  322|    946|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|    946|	do {                              \
  |  |   52|    946|		isc_region_t *_r = (r);   \
  |  |   53|    946|		unsigned int  _l = (l);   \
  |  |   54|    946|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    946|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    946|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 946, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    946|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    946|		_r->base += _l;           \
  |  |   56|    946|		_r->length -= _l;         \
  |  |   57|    946|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 946]
  |  |  ------------------
  ------------------
  323|       |
  324|    946|	return mem_tobuffer(target, sr.base, sr.length);
  325|    947|}
rdata.c:totext_tkey:
  121|  1.87k|totext_tkey(ARGS_TOTEXT) {
  122|  1.87k|	isc_region_t sr, dr;
  123|  1.87k|	char buf[sizeof("4294967295 ")];
  124|  1.87k|	unsigned long n;
  125|  1.87k|	dns_name_t name;
  126|  1.87k|	dns_name_t prefix;
  127|  1.87k|	unsigned int opts;
  128|       |
  129|  1.87k|	REQUIRE(rdata->type == dns_rdatatype_tkey);
  ------------------
  |  |  198|  1.87k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.87k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.87k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  130|  1.87k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.87k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.87k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.87k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  131|       |
  132|  1.87k|	dns_rdata_toregion(rdata, &sr);
  133|       |
  134|       |	/*
  135|       |	 * Algorithm.
  136|       |	 */
  137|  1.87k|	dns_name_init(&name);
  138|  1.87k|	dns_name_init(&prefix);
  139|  1.87k|	dns_name_fromregion(&name, &sr);
  140|  1.87k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (140:9): [True: 0, False: 1.87k]
  ------------------
  141|  1.87k|							 : 0;
  142|  1.87k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  143|  1.87k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  144|  1.87k|	isc_region_consume(&sr, name_length(&name));
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  145|       |
  146|       |	/*
  147|       |	 * Inception.
  148|       |	 */
  149|  1.87k|	n = uint32_fromregion(&sr);
  150|  1.87k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  151|  1.87k|	snprintf(buf, sizeof(buf), "%lu ", n);
  152|  1.87k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  153|       |
  154|       |	/*
  155|       |	 * Expiration.
  156|       |	 */
  157|  1.87k|	n = uint32_fromregion(&sr);
  158|  1.87k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  159|  1.87k|	snprintf(buf, sizeof(buf), "%lu ", n);
  160|  1.87k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  161|       |
  162|       |	/*
  163|       |	 * Mode.
  164|       |	 */
  165|  1.87k|	n = uint16_fromregion(&sr);
  166|  1.87k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  167|  1.87k|	snprintf(buf, sizeof(buf), "%lu ", n);
  168|  1.87k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  169|       |
  170|       |	/*
  171|       |	 * Error.
  172|       |	 */
  173|  1.87k|	n = uint16_fromregion(&sr);
  174|  1.87k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  175|  1.87k|	if (dns_tsigrcode_totext((dns_rcode_t)n, target) == ISC_R_SUCCESS) {
  ------------------
  |  Branch (175:6): [True: 1.87k, False: 0]
  ------------------
  176|  1.87k|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  177|  1.87k|	} else {
  178|      0|		snprintf(buf, sizeof(buf), "%lu ", n);
  179|      0|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  180|      0|	}
  181|       |
  182|       |	/*
  183|       |	 * Key Size.
  184|       |	 */
  185|  1.87k|	n = uint16_fromregion(&sr);
  186|  1.87k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  187|  1.87k|	snprintf(buf, sizeof(buf), "%lu", n);
  188|  1.87k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  189|       |
  190|       |	/*
  191|       |	 * Key Data.
  192|       |	 */
  193|  1.87k|	REQUIRE(n <= sr.length);
  ------------------
  |  |  198|  1.87k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.87k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.87k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  194|  1.87k|	dr = sr;
  195|  1.87k|	dr.length = n;
  196|  1.87k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  1.87k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (196:6): [True: 0, False: 1.87k]
  ------------------
  197|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  198|      0|	}
  199|  1.87k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  200|  1.87k|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (200:6): [True: 0, False: 1.87k]
  ------------------
  201|      0|		RETERR(isc_base64_totext(&dr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  202|  1.87k|	} else {
  203|  1.87k|		RETERR(isc_base64_totext(&dr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  204|  1.87k|					 target));
  205|  1.87k|	}
  206|  1.87k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  1.87k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (206:6): [True: 0, False: 1.87k]
  ------------------
  207|      0|		RETERR(str_totext(" ) ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  208|  1.87k|	} else {
  209|  1.87k|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  210|  1.87k|	}
  211|  1.87k|	isc_region_consume(&sr, n);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  212|       |
  213|       |	/*
  214|       |	 * Other Size.
  215|       |	 */
  216|  1.87k|	n = uint16_fromregion(&sr);
  217|  1.87k|	isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  1.87k|	do {                              \
  |  |   52|  1.87k|		isc_region_t *_r = (r);   \
  |  |   53|  1.87k|		unsigned int  _l = (l);   \
  |  |   54|  1.87k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.87k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.87k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.87k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.87k|		_r->base += _l;           \
  |  |   56|  1.87k|		_r->length -= _l;         \
  |  |   57|  1.87k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.87k]
  |  |  ------------------
  ------------------
  218|  1.87k|	snprintf(buf, sizeof(buf), "%lu", n);
  219|  1.87k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.87k|	{                                  \
  |  |  277|  1.87k|		isc_result_t _r = (x);     \
  |  |  278|  1.87k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.87k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.87k|	}
  ------------------
  220|       |
  221|       |	/*
  222|       |	 * Other Data.
  223|       |	 */
  224|  1.87k|	REQUIRE(n <= sr.length);
  ------------------
  |  |  198|  1.87k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.87k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.87k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.87k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  225|  1.87k|	if (n != 0U) {
  ------------------
  |  Branch (225:6): [True: 1.26k, False: 602]
  ------------------
  226|  1.26k|		dr = sr;
  227|  1.26k|		dr.length = n;
  228|  1.26k|		if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  1.26k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (228:7): [True: 0, False: 1.26k]
  ------------------
  229|      0|			RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  230|      0|		}
  231|  1.26k|		RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  1.26k|	{                                  \
  |  |  277|  1.26k|		isc_result_t _r = (x);     \
  |  |  278|  1.26k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.26k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.26k|	}
  ------------------
  232|  1.26k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (232:7): [True: 0, False: 1.26k]
  ------------------
  233|      0|			RETERR(isc_base64_totext(&dr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  234|  1.26k|		} else {
  235|  1.26k|			RETERR(isc_base64_totext(&dr, tctx->width - 2,
  ------------------
  |  |  276|  1.26k|	{                                  \
  |  |  277|  1.26k|		isc_result_t _r = (x);     \
  |  |  278|  1.26k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.26k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.26k|	}
  ------------------
  236|  1.26k|						 tctx->linebreak, target));
  237|  1.26k|		}
  238|  1.26k|		if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  1.26k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (238:7): [True: 0, False: 1.26k]
  ------------------
  239|      0|			RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  240|      0|		}
  241|  1.26k|	}
  242|  1.87k|	return ISC_R_SUCCESS;
  243|  1.87k|}

rdata.c:fromwire_tlsa:
  156|  2.22k|fromwire_tlsa(ARGS_FROMWIRE) {
  157|  2.22k|	REQUIRE(type == dns_rdatatype_tlsa);
  ------------------
  |  |  198|  2.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  158|       |
  159|  2.22k|	return generic_fromwire_tlsa(CALL_FROMWIRE);
  ------------------
  |  |   91|  2.22k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
  160|  2.22k|}
rdata.c:generic_fromwire_tlsa:
  123|  3.30k|generic_fromwire_tlsa(ARGS_FROMWIRE) {
  124|  3.30k|	isc_region_t sr;
  125|       |
  126|  3.30k|	UNUSED(type);
  ------------------
  |  |   69|  3.30k|#define UNUSED(x) (void)(x)
  ------------------
  127|  3.30k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.30k|#define UNUSED(x) (void)(x)
  ------------------
  128|  3.30k|	UNUSED(dctx);
  ------------------
  |  |   69|  3.30k|#define UNUSED(x) (void)(x)
  ------------------
  129|       |
  130|  3.30k|	isc_buffer_activeregion(source, &sr);
  131|       |
  132|       |	/* Usage(1), Selector(1), Type(1), Data(1+) */
  133|  3.30k|	if (sr.length < 4) {
  ------------------
  |  Branch (133:6): [True: 9, False: 3.29k]
  ------------------
  134|      9|		return ISC_R_UNEXPECTEDEND;
  135|      9|	}
  136|       |
  137|  3.29k|	isc_buffer_forward(source, sr.length);
  138|  3.29k|	return mem_tobuffer(target, sr.base, sr.length);
  139|  3.30k|}
rdata.c:towire_tlsa:
  163|    903|towire_tlsa(ARGS_TOWIRE) {
  164|    903|	isc_region_t sr;
  165|       |
  166|    903|	REQUIRE(rdata->type == dns_rdatatype_tlsa);
  ------------------
  |  |  198|    903|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    903|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 903, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    903|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  167|    903|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    903|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    903|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 903, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    903|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  168|       |
  169|    903|	UNUSED(cctx);
  ------------------
  |  |   69|    903|#define UNUSED(x) (void)(x)
  ------------------
  170|       |
  171|    903|	dns_rdata_toregion(rdata, &sr);
  172|    903|	return mem_tobuffer(target, sr.base, sr.length);
  173|    903|}
rdata.c:totext_tlsa:
  149|  1.74k|totext_tlsa(ARGS_TOTEXT) {
  150|  1.74k|	REQUIRE(rdata->type == dns_rdatatype_tlsa);
  ------------------
  |  |  198|  1.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  151|       |
  152|  1.74k|	return generic_totext_tlsa(CALL_TOTEXT);
  ------------------
  |  |   85|  1.74k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
  153|  1.74k|}
rdata.c:generic_totext_tlsa:
   68|  2.68k|generic_totext_tlsa(ARGS_TOTEXT) {
   69|  2.68k|	isc_region_t sr;
   70|  2.68k|	char buf[sizeof("64000 ")];
   71|  2.68k|	unsigned int n;
   72|       |
   73|  2.68k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.68k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.68k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.68k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.68k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   74|       |
   75|  2.68k|	UNUSED(tctx);
  ------------------
  |  |   69|  2.68k|#define UNUSED(x) (void)(x)
  ------------------
   76|       |
   77|  2.68k|	dns_rdata_toregion(rdata, &sr);
   78|       |
   79|       |	/*
   80|       |	 * Certificate Usage.
   81|       |	 */
   82|  2.68k|	n = uint8_fromregion(&sr);
   83|  2.68k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.68k|	do {                              \
  |  |   52|  2.68k|		isc_region_t *_r = (r);   \
  |  |   53|  2.68k|		unsigned int  _l = (l);   \
  |  |   54|  2.68k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.68k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.68k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.68k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.68k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.68k|		_r->base += _l;           \
  |  |   56|  2.68k|		_r->length -= _l;         \
  |  |   57|  2.68k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.68k]
  |  |  ------------------
  ------------------
   84|  2.68k|	snprintf(buf, sizeof(buf), "%u ", n);
   85|  2.68k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.68k|	{                                  \
  |  |  277|  2.68k|		isc_result_t _r = (x);     \
  |  |  278|  2.68k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.68k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.68k|	}
  ------------------
   86|       |
   87|       |	/*
   88|       |	 * Selector.
   89|       |	 */
   90|  2.68k|	n = uint8_fromregion(&sr);
   91|  2.68k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.68k|	do {                              \
  |  |   52|  2.68k|		isc_region_t *_r = (r);   \
  |  |   53|  2.68k|		unsigned int  _l = (l);   \
  |  |   54|  2.68k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.68k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.68k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.68k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.68k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.68k|		_r->base += _l;           \
  |  |   56|  2.68k|		_r->length -= _l;         \
  |  |   57|  2.68k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.68k]
  |  |  ------------------
  ------------------
   92|  2.68k|	snprintf(buf, sizeof(buf), "%u ", n);
   93|  2.68k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.68k|	{                                  \
  |  |  277|  2.68k|		isc_result_t _r = (x);     \
  |  |  278|  2.68k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.68k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.68k|	}
  ------------------
   94|       |
   95|       |	/*
   96|       |	 * Matching type.
   97|       |	 */
   98|  2.68k|	n = uint8_fromregion(&sr);
   99|  2.68k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.68k|	do {                              \
  |  |   52|  2.68k|		isc_region_t *_r = (r);   \
  |  |   53|  2.68k|		unsigned int  _l = (l);   \
  |  |   54|  2.68k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.68k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.68k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.68k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.68k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.68k|		_r->base += _l;           \
  |  |   56|  2.68k|		_r->length -= _l;         \
  |  |   57|  2.68k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.68k]
  |  |  ------------------
  ------------------
  100|  2.68k|	snprintf(buf, sizeof(buf), "%u", n);
  101|  2.68k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.68k|	{                                  \
  |  |  277|  2.68k|		isc_result_t _r = (x);     \
  |  |  278|  2.68k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.68k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.68k|	}
  ------------------
  102|       |
  103|       |	/*
  104|       |	 * Certificate Association Data.
  105|       |	 */
  106|  2.68k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.68k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (106:6): [True: 0, False: 2.68k]
  ------------------
  107|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  108|      0|	}
  109|  2.68k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  2.68k|	{                                  \
  |  |  277|  2.68k|		isc_result_t _r = (x);     \
  |  |  278|  2.68k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.68k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.68k|	}
  ------------------
  110|  2.68k|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (110:6): [True: 0, False: 2.68k]
  ------------------
  111|      0|		RETERR(isc_hex_totext(&sr, 0, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  112|  2.68k|	} else {
  113|  2.68k|		RETERR(isc_hex_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|  2.68k|	{                                  \
  |  |  277|  2.68k|		isc_result_t _r = (x);     \
  |  |  278|  2.68k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.68k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.68k|	}
  ------------------
  114|  2.68k|				      target));
  115|  2.68k|	}
  116|  2.68k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.68k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (116:6): [True: 0, False: 2.68k]
  ------------------
  117|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  118|      0|	}
  119|  2.68k|	return ISC_R_SUCCESS;
  120|  2.68k|}

rdata.c:fromwire_txt:
  100|  1.38k|fromwire_txt(ARGS_FROMWIRE) {
  101|  1.38k|	REQUIRE(type == dns_rdatatype_txt);
  ------------------
  |  |  198|  1.38k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.38k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  102|       |
  103|  1.38k|	return generic_fromwire_txt(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.38k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
  104|  1.38k|}
rdata.c:generic_fromwire_txt:
   73|  7.57k|generic_fromwire_txt(ARGS_FROMWIRE) {
   74|  7.57k|	UNUSED(type);
  ------------------
  |  |   69|  7.57k|#define UNUSED(x) (void)(x)
  ------------------
   75|  7.57k|	UNUSED(dctx);
  ------------------
  |  |   69|  7.57k|#define UNUSED(x) (void)(x)
  ------------------
   76|  7.57k|	UNUSED(rdclass);
  ------------------
  |  |   69|  7.57k|#define UNUSED(x) (void)(x)
  ------------------
   77|       |
   78|  53.3k|	do {
   79|  53.3k|		RETERR(txt_fromwire(source, target));
  ------------------
  |  |  276|  53.3k|	{                                  \
  |  |  277|  53.3k|		isc_result_t _r = (x);     \
  |  |  278|  53.3k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 861, False: 52.4k]
  |  |  ------------------
  |  |  279|    861|			return ((_r));     \
  |  |  280|    861|		}                          \
  |  |  281|  53.3k|	}
  ------------------
   80|  52.4k|	} while (!buffer_empty(source));
  ------------------
  |  Branch (80:11): [True: 45.7k, False: 6.71k]
  ------------------
   81|  6.71k|	return ISC_R_SUCCESS;
   82|  7.57k|}
rdata.c:towire_txt:
  107|    636|towire_txt(ARGS_TOWIRE) {
  108|    636|	REQUIRE(rdata->type == dns_rdatatype_txt);
  ------------------
  |  |  198|    636|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    636|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 636, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    636|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  109|       |
  110|    636|	UNUSED(cctx);
  ------------------
  |  |   69|    636|#define UNUSED(x) (void)(x)
  ------------------
  111|       |
  112|    636|	return mem_tobuffer(target, rdata->data, rdata->length);
  113|    636|}
rdata.c:totext_txt:
   92|  1.23k|totext_txt(ARGS_TOTEXT) {
   93|  1.23k|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|  1.23k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.23k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.23k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.23k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   94|  1.23k|	REQUIRE(rdata->type == dns_rdatatype_txt);
  ------------------
  |  |  198|  1.23k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.23k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.23k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.23k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   95|       |
   96|  1.23k|	return generic_totext_txt(CALL_TOTEXT);
  ------------------
  |  |   85|  1.23k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   97|  1.23k|}
rdata.c:generic_totext_txt:
   55|  5.71k|generic_totext_txt(ARGS_TOTEXT) {
   56|  5.71k|	isc_region_t region;
   57|       |
   58|  5.71k|	UNUSED(tctx);
  ------------------
  |  |   69|  5.71k|#define UNUSED(x) (void)(x)
  ------------------
   59|       |
   60|  5.71k|	dns_rdata_toregion(rdata, &region);
   61|       |
   62|  47.1k|	while (region.length > 0) {
  ------------------
  |  Branch (62:9): [True: 41.4k, False: 5.71k]
  ------------------
   63|  41.4k|		RETERR(txt_totext(&region, true, target));
  ------------------
  |  |  276|  41.4k|	{                                  \
  |  |  277|  41.4k|		isc_result_t _r = (x);     \
  |  |  278|  41.4k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 41.4k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  41.4k|	}
  ------------------
   64|  41.4k|		if (region.length > 0) {
  ------------------
  |  Branch (64:7): [True: 35.7k, False: 5.71k]
  ------------------
   65|  35.7k|			RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  35.7k|	{                                  \
  |  |  277|  35.7k|		isc_result_t _r = (x);     \
  |  |  278|  35.7k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 35.7k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  35.7k|	}
  ------------------
   66|  35.7k|		}
   67|  41.4k|	}
   68|       |
   69|  5.71k|	return ISC_R_SUCCESS;
   70|  5.71k|}

rdata.c:fromwire_uri:
  102|  1.56k|fromwire_uri(ARGS_FROMWIRE) {
  103|  1.56k|	isc_region_t region;
  104|       |
  105|  1.56k|	REQUIRE(type == dns_rdatatype_uri);
  ------------------
  |  |  198|  1.56k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.56k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.56k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.56k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  106|       |
  107|  1.56k|	UNUSED(type);
  ------------------
  |  |   69|  1.56k|#define UNUSED(x) (void)(x)
  ------------------
  108|  1.56k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.56k|#define UNUSED(x) (void)(x)
  ------------------
  109|  1.56k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.56k|#define UNUSED(x) (void)(x)
  ------------------
  110|       |
  111|       |	/*
  112|       |	 * Priority, weight and target URI (non empty).
  113|       |	 */
  114|  1.56k|	isc_buffer_activeregion(source, &region);
  115|  1.56k|	if (region.length < 5) {
  ------------------
  |  Branch (115:6): [True: 5, False: 1.55k]
  ------------------
  116|      5|		return ISC_R_UNEXPECTEDEND;
  117|      5|	}
  118|  1.55k|	isc_buffer_forward(source, region.length);
  119|  1.55k|	return mem_tobuffer(target, region.base, region.length);
  120|  1.56k|}
rdata.c:towire_uri:
  123|    720|towire_uri(ARGS_TOWIRE) {
  124|    720|	isc_region_t region;
  125|       |
  126|    720|	REQUIRE(rdata->type == dns_rdatatype_uri);
  ------------------
  |  |  198|    720|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    720|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 720, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    720|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  127|    720|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    720|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    720|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 720, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    720|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  128|       |
  129|    720|	UNUSED(cctx);
  ------------------
  |  |   69|    720|#define UNUSED(x) (void)(x)
  ------------------
  130|       |
  131|    720|	dns_rdata_toregion(rdata, &region);
  132|    720|	return mem_tobuffer(target, region.base, region.length);
  133|    720|}
rdata.c:totext_uri:
   66|  1.39k|totext_uri(ARGS_TOTEXT) {
   67|  1.39k|	isc_region_t region;
   68|  1.39k|	unsigned short priority, weight;
   69|  1.39k|	char buf[sizeof("65000 ")];
   70|       |
   71|  1.39k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.39k|#define UNUSED(x) (void)(x)
  ------------------
   72|       |
   73|  1.39k|	REQUIRE(rdata->type == dns_rdatatype_uri);
  ------------------
  |  |  198|  1.39k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.39k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.39k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   74|  1.39k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.39k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.39k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.39k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   75|       |
   76|  1.39k|	dns_rdata_toregion(rdata, &region);
   77|       |
   78|       |	/*
   79|       |	 * Priority
   80|       |	 */
   81|  1.39k|	priority = uint16_fromregion(&region);
   82|  1.39k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.39k|	do {                              \
  |  |   52|  1.39k|		isc_region_t *_r = (r);   \
  |  |   53|  1.39k|		unsigned int  _l = (l);   \
  |  |   54|  1.39k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.39k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.39k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.39k|		_r->base += _l;           \
  |  |   56|  1.39k|		_r->length -= _l;         \
  |  |   57|  1.39k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.39k]
  |  |  ------------------
  ------------------
   83|  1.39k|	snprintf(buf, sizeof(buf), "%u ", priority);
   84|  1.39k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.39k|	{                                  \
  |  |  277|  1.39k|		isc_result_t _r = (x);     \
  |  |  278|  1.39k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.39k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.39k|	}
  ------------------
   85|       |
   86|       |	/*
   87|       |	 * Weight
   88|       |	 */
   89|  1.39k|	weight = uint16_fromregion(&region);
   90|  1.39k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.39k|	do {                              \
  |  |   52|  1.39k|		isc_region_t *_r = (r);   \
  |  |   53|  1.39k|		unsigned int  _l = (l);   \
  |  |   54|  1.39k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.39k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.39k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.39k|		_r->base += _l;           \
  |  |   56|  1.39k|		_r->length -= _l;         \
  |  |   57|  1.39k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.39k]
  |  |  ------------------
  ------------------
   91|  1.39k|	snprintf(buf, sizeof(buf), "%u ", weight);
   92|  1.39k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.39k|	{                                  \
  |  |  277|  1.39k|		isc_result_t _r = (x);     \
  |  |  278|  1.39k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.39k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.39k|	}
  ------------------
   93|       |
   94|       |	/*
   95|       |	 * Target URI
   96|       |	 */
   97|  1.39k|	RETERR(multitxt_totext(&region, target));
  ------------------
  |  |  276|  1.39k|	{                                  \
  |  |  277|  1.39k|		isc_result_t _r = (x);     \
  |  |  278|  1.39k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.39k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.39k|	}
  ------------------
   98|  1.39k|	return ISC_R_SUCCESS;
   99|  1.39k|}

rdata.c:fromwire_wallet:
   35|  1.33k|fromwire_wallet(ARGS_FROMWIRE) {
   36|  1.33k|	REQUIRE(type == dns_rdatatype_wallet);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|       |
   38|  1.33k|	return generic_fromwire_txt(CALL_FROMWIRE);
  ------------------
  |  |   91|  1.33k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   39|  1.33k|}
rdata.c:towire_wallet:
   42|    474|towire_wallet(ARGS_TOWIRE) {
   43|    474|	REQUIRE(rdata->type == dns_rdatatype_wallet);
  ------------------
  |  |  198|    474|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    474|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 474, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    474|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   44|       |
   45|    474|	UNUSED(cctx);
  ------------------
  |  |   69|    474|#define UNUSED(x) (void)(x)
  ------------------
   46|       |
   47|    474|	return mem_tobuffer(target, rdata->data, rdata->length);
   48|    474|}
rdata.c:totext_wallet:
   27|    932|totext_wallet(ARGS_TOTEXT) {
   28|    932|	REQUIRE(rdata != NULL);
  ------------------
  |  |  198|    932|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    932|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 932, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    932|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|    932|	REQUIRE(rdata->type == dns_rdatatype_wallet);
  ------------------
  |  |  198|    932|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    932|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 932, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    932|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|       |
   31|    932|	return generic_totext_txt(CALL_TOTEXT);
  ------------------
  |  |   85|    932|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   32|    932|}

rdata.c:fromwire_x25:
   63|    813|fromwire_x25(ARGS_FROMWIRE) {
   64|    813|	isc_region_t sr;
   65|    813|	unsigned int i;
   66|       |
   67|    813|	REQUIRE(type == dns_rdatatype_x25);
  ------------------
  |  |  198|    813|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    813|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 813, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    813|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   68|       |
   69|    813|	UNUSED(type);
  ------------------
  |  |   69|    813|#define UNUSED(x) (void)(x)
  ------------------
   70|    813|	UNUSED(dctx);
  ------------------
  |  |   69|    813|#define UNUSED(x) (void)(x)
  ------------------
   71|    813|	UNUSED(rdclass);
  ------------------
  |  |   69|    813|#define UNUSED(x) (void)(x)
  ------------------
   72|       |
   73|    813|	isc_buffer_activeregion(source, &sr);
   74|    813|	if (sr.length < 5 || sr.base[0] != (sr.length - 1)) {
  ------------------
  |  Branch (74:6): [True: 6, False: 807]
  |  Branch (74:23): [True: 19, False: 788]
  ------------------
   75|     25|		return DNS_R_FORMERR;
   76|     25|	}
   77|  4.10k|	for (i = 1; i < sr.length; i++) {
  ------------------
  |  Branch (77:14): [True: 3.32k, False: 777]
  ------------------
   78|  3.32k|		if (sr.base[i] < 0x30 || sr.base[i] > 0x39) {
  ------------------
  |  Branch (78:7): [True: 5, False: 3.31k]
  |  Branch (78:28): [True: 6, False: 3.31k]
  ------------------
   79|     11|			return DNS_R_FORMERR;
   80|     11|		}
   81|  3.32k|	}
   82|    777|	return txt_fromwire(source, target);
   83|    788|}
rdata.c:towire_x25:
   86|    361|towire_x25(ARGS_TOWIRE) {
   87|    361|	UNUSED(cctx);
  ------------------
  |  |   69|    361|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|    361|	REQUIRE(rdata->type == dns_rdatatype_x25);
  ------------------
  |  |  198|    361|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    361|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 361, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    361|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   90|    361|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    361|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    361|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 361, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    361|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   91|       |
   92|    361|	return mem_tobuffer(target, rdata->data, rdata->length);
   93|    361|}
rdata.c:totext_x25:
   50|    715|totext_x25(ARGS_TOTEXT) {
   51|    715|	isc_region_t region;
   52|       |
   53|    715|	UNUSED(tctx);
  ------------------
  |  |   69|    715|#define UNUSED(x) (void)(x)
  ------------------
   54|       |
   55|    715|	REQUIRE(rdata->type == dns_rdatatype_x25);
  ------------------
  |  |  198|    715|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    715|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 715, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    715|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   56|    715|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    715|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    715|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 715, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    715|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|       |
   58|    715|	dns_rdata_toregion(rdata, &region);
   59|       |	return txt_totext(&region, true, target);
   60|    715|}

rdata.c:fromwire_zonemd:
  144|  1.67k|fromwire_zonemd(ARGS_FROMWIRE) {
  145|  1.67k|	isc_region_t sr;
  146|  1.67k|	size_t digestlen = 0;
  147|       |
  148|  1.67k|	UNUSED(type);
  ------------------
  |  |   69|  1.67k|#define UNUSED(x) (void)(x)
  ------------------
  149|  1.67k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.67k|#define UNUSED(x) (void)(x)
  ------------------
  150|  1.67k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.67k|#define UNUSED(x) (void)(x)
  ------------------
  151|       |
  152|  1.67k|	isc_buffer_activeregion(source, &sr);
  153|       |
  154|       |	/*
  155|       |	 * If we do not recognize the digest type, ensure that the digest
  156|       |	 * meets minimum length (12).
  157|       |	 *
  158|       |	 * If we do recognize the digest type, ensure that the digest is of the
  159|       |	 * correct length.
  160|       |	 */
  161|  1.67k|	if (sr.length < 18) {
  ------------------
  |  Branch (161:6): [True: 7, False: 1.66k]
  ------------------
  162|      7|		return ISC_R_UNEXPECTEDEND;
  163|      7|	}
  164|       |
  165|  1.66k|	switch (sr.base[5]) {
  166|    235|	case DNS_ZONEMD_DIGEST_SHA384:
  ------------------
  |  | 1722|    235|#define DNS_ZONEMD_DIGEST_SHA384 (1)
  ------------------
  |  Branch (166:2): [True: 235, False: 1.42k]
  ------------------
  167|    235|		digestlen = ISC_SHA384_DIGESTLENGTH;
  ------------------
  |  |   56|    235|#define ISC_SHA384_DIGESTLENGTH 48
  ------------------
  168|    235|		break;
  169|    202|	case DNS_ZONEMD_DIGEST_SHA512:
  ------------------
  |  | 1723|    202|#define DNS_ZONEMD_DIGEST_SHA512 (2)
  ------------------
  |  Branch (169:2): [True: 202, False: 1.46k]
  ------------------
  170|    202|		digestlen = ISC_SHA512_DIGESTLENGTH;
  ------------------
  |  |   58|    202|#define ISC_SHA512_DIGESTLENGTH 64
  ------------------
  171|    202|		break;
  172|  1.22k|	default:
  ------------------
  |  Branch (172:2): [True: 1.22k, False: 437]
  ------------------
  173|  1.22k|		break;
  174|  1.66k|	}
  175|       |
  176|  1.66k|	if (digestlen != 0 && sr.length < 6 + digestlen) {
  ------------------
  |  Branch (176:6): [True: 437, False: 1.22k]
  |  Branch (176:24): [True: 4, False: 433]
  ------------------
  177|      4|		return ISC_R_UNEXPECTEDEND;
  178|      4|	}
  179|       |
  180|       |	/*
  181|       |	 * Only specify the number of octets to consume if we recognize the
  182|       |	 * digest type.
  183|       |	 *
  184|       |	 * If there is extra data, dns_rdata_fromwire() will detect that.
  185|       |	 */
  186|  1.65k|	if (digestlen != 0) {
  ------------------
  |  Branch (186:6): [True: 433, False: 1.22k]
  ------------------
  187|    433|		sr.length = 6 + digestlen;
  188|    433|	}
  189|       |
  190|  1.65k|	isc_buffer_forward(source, sr.length);
  191|  1.65k|	return mem_tobuffer(target, sr.base, sr.length);
  192|  1.66k|}
rdata.c:towire_zonemd:
  195|    599|towire_zonemd(ARGS_TOWIRE) {
  196|    599|	isc_region_t sr;
  197|       |
  198|    599|	REQUIRE(rdata->type == dns_rdatatype_zonemd);
  ------------------
  |  |  198|    599|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    599|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 599, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    599|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  199|    599|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    599|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    599|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 599, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    599|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  200|       |
  201|    599|	UNUSED(cctx);
  ------------------
  |  |   69|    599|#define UNUSED(x) (void)(x)
  ------------------
  202|       |
  203|    599|	dns_rdata_toregion(rdata, &sr);
  204|    599|	return mem_tobuffer(target, sr.base, sr.length);
  205|    599|}
rdata.c:totext_zonemd:
   81|  1.19k|totext_zonemd(ARGS_TOTEXT) {
   82|  1.19k|	isc_region_t sr;
   83|  1.19k|	char buf[sizeof("0123456789")];
   84|  1.19k|	unsigned long num;
   85|       |
   86|  1.19k|	REQUIRE(rdata->length > 6);
  ------------------
  |  |  198|  1.19k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.19k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.19k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.19k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   87|       |
   88|  1.19k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.19k|#define UNUSED(x) (void)(x)
  ------------------
   89|       |
   90|  1.19k|	dns_rdata_toregion(rdata, &sr);
   91|       |
   92|       |	/*
   93|       |	 * Zone Serial.
   94|       |	 */
   95|  1.19k|	num = uint32_fromregion(&sr);
   96|  1.19k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  1.19k|	do {                              \
  |  |   52|  1.19k|		isc_region_t *_r = (r);   \
  |  |   53|  1.19k|		unsigned int  _l = (l);   \
  |  |   54|  1.19k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.19k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.19k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.19k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.19k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.19k|		_r->base += _l;           \
  |  |   56|  1.19k|		_r->length -= _l;         \
  |  |   57|  1.19k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.19k]
  |  |  ------------------
  ------------------
   97|  1.19k|	snprintf(buf, sizeof(buf), "%lu", num);
   98|  1.19k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
   99|       |
  100|  1.19k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
  101|       |
  102|       |	/*
  103|       |	 * Digest scheme.
  104|       |	 */
  105|  1.19k|	num = uint8_fromregion(&sr);
  106|  1.19k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.19k|	do {                              \
  |  |   52|  1.19k|		isc_region_t *_r = (r);   \
  |  |   53|  1.19k|		unsigned int  _l = (l);   \
  |  |   54|  1.19k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.19k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.19k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.19k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.19k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.19k|		_r->base += _l;           \
  |  |   56|  1.19k|		_r->length -= _l;         \
  |  |   57|  1.19k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.19k]
  |  |  ------------------
  ------------------
  107|  1.19k|	snprintf(buf, sizeof(buf), "%lu", num);
  108|  1.19k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
  109|       |
  110|  1.19k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
  111|       |
  112|       |	/*
  113|       |	 * Digest type.
  114|       |	 */
  115|  1.19k|	num = uint8_fromregion(&sr);
  116|  1.19k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.19k|	do {                              \
  |  |   52|  1.19k|		isc_region_t *_r = (r);   \
  |  |   53|  1.19k|		unsigned int  _l = (l);   \
  |  |   54|  1.19k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.19k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.19k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.19k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.19k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.19k|		_r->base += _l;           \
  |  |   56|  1.19k|		_r->length -= _l;         \
  |  |   57|  1.19k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.19k]
  |  |  ------------------
  ------------------
  117|  1.19k|	snprintf(buf, sizeof(buf), "%lu", num);
  118|  1.19k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
  119|       |
  120|       |	/*
  121|       |	 * Digest.
  122|       |	 */
  123|  1.19k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  1.19k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (123:6): [True: 0, False: 1.19k]
  ------------------
  124|      0|		RETERR(str_totext(" (", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  125|      0|	}
  126|  1.19k|	RETERR(str_totext(tctx->linebreak, target));
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
  127|  1.19k|	if ((tctx->flags & DNS_STYLEFLAG_NOCRYPTO) == 0) {
  ------------------
  |  |   95|  1.19k|#define DNS_STYLEFLAG_NOCRYPTO 0x008000000ULL
  ------------------
  |  Branch (127:6): [True: 1.19k, False: 0]
  ------------------
  128|  1.19k|		if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (128:7): [True: 0, False: 1.19k]
  ------------------
  129|      0|			RETERR(isc_hex_totext(&sr, 0, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  130|  1.19k|		} else {
  131|  1.19k|			RETERR(isc_hex_totext(&sr, tctx->width - 2,
  ------------------
  |  |  276|  1.19k|	{                                  \
  |  |  277|  1.19k|		isc_result_t _r = (x);     \
  |  |  278|  1.19k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.19k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.19k|	}
  ------------------
  132|  1.19k|					      tctx->linebreak, target));
  133|  1.19k|		}
  134|  1.19k|	} else {
  135|      0|		RETERR(str_totext("[omitted]", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  136|      0|	}
  137|  1.19k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  1.19k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (137:6): [True: 0, False: 1.19k]
  ------------------
  138|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
  139|      0|	}
  140|  1.19k|	return ISC_R_SUCCESS;
  141|  1.19k|}

rdata.c:fromwire_hs_a:
   65|  1.01k|fromwire_hs_a(ARGS_FROMWIRE) {
   66|  1.01k|	isc_region_t sregion;
   67|  1.01k|	isc_region_t tregion;
   68|       |
   69|  1.01k|	REQUIRE(type == dns_rdatatype_a);
  ------------------
  |  |  198|  1.01k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.01k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.01k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.01k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   70|  1.01k|	REQUIRE(rdclass == dns_rdataclass_hs);
  ------------------
  |  |  198|  1.01k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.01k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.01k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.01k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   71|       |
   72|  1.01k|	UNUSED(type);
  ------------------
  |  |   69|  1.01k|#define UNUSED(x) (void)(x)
  ------------------
   73|  1.01k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.01k|#define UNUSED(x) (void)(x)
  ------------------
   74|  1.01k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.01k|#define UNUSED(x) (void)(x)
  ------------------
   75|       |
   76|  1.01k|	isc_buffer_activeregion(source, &sregion);
   77|  1.01k|	isc_buffer_availableregion(target, &tregion);
   78|  1.01k|	if (sregion.length < 4) {
  ------------------
  |  Branch (78:6): [True: 4, False: 1.01k]
  ------------------
   79|      4|		return ISC_R_UNEXPECTEDEND;
   80|      4|	}
   81|  1.01k|	if (tregion.length < 4) {
  ------------------
  |  Branch (81:6): [True: 195, False: 817]
  ------------------
   82|    195|		return ISC_R_NOSPACE;
   83|    195|	}
   84|       |
   85|    817|	memmove(tregion.base, sregion.base, 4);
   86|    817|	isc_buffer_forward(source, 4);
   87|    817|	isc_buffer_add(target, 4);
   88|    817|	return ISC_R_SUCCESS;
   89|  1.01k|}
rdata.c:towire_hs_a:
   92|    310|towire_hs_a(ARGS_TOWIRE) {
   93|    310|	isc_region_t region;
   94|       |
   95|    310|	REQUIRE(rdata->type == dns_rdatatype_a);
  ------------------
  |  |  198|    310|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    310|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 310, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    310|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   96|    310|	REQUIRE(rdata->rdclass == dns_rdataclass_hs);
  ------------------
  |  |  198|    310|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    310|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 310, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    310|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   97|    310|	REQUIRE(rdata->length == 4);
  ------------------
  |  |  198|    310|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    310|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 310, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    310|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   98|       |
   99|    310|	UNUSED(cctx);
  ------------------
  |  |   69|    310|#define UNUSED(x) (void)(x)
  ------------------
  100|       |
  101|    310|	isc_buffer_availableregion(target, &region);
  102|    310|	if (region.length < rdata->length) {
  ------------------
  |  Branch (102:6): [True: 1, False: 309]
  ------------------
  103|      1|		return ISC_R_NOSPACE;
  104|      1|	}
  105|    309|	memmove(region.base, rdata->data, rdata->length);
  106|    309|	isc_buffer_add(target, 4);
  107|    309|	return ISC_R_SUCCESS;
  108|    310|}
rdata.c:totext_hs_a:
   51|    615|totext_hs_a(ARGS_TOTEXT) {
   52|    615|	isc_region_t region;
   53|       |
   54|    615|	REQUIRE(rdata->type == dns_rdatatype_a);
  ------------------
  |  |  198|    615|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    615|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 615, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    615|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   55|    615|	REQUIRE(rdata->rdclass == dns_rdataclass_hs);
  ------------------
  |  |  198|    615|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    615|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 615, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    615|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   56|    615|	REQUIRE(rdata->length == 4);
  ------------------
  |  |  198|    615|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    615|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 615, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    615|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   57|       |
   58|    615|	UNUSED(tctx);
  ------------------
  |  |   69|    615|#define UNUSED(x) (void)(x)
  ------------------
   59|       |
   60|    615|	dns_rdata_toregion(rdata, &region);
   61|       |	return inet_totext(AF_INET, tctx->flags, &region, target);
   62|    615|}

rdata.c:fromwire_in_a6:
  152|  2.18k|fromwire_in_a6(ARGS_FROMWIRE) {
  153|  2.18k|	isc_region_t sr;
  154|  2.18k|	unsigned char prefixlen;
  155|  2.18k|	unsigned char octets;
  156|  2.18k|	unsigned char mask;
  157|  2.18k|	dns_name_t name;
  158|       |
  159|  2.18k|	REQUIRE(type == dns_rdatatype_a6);
  ------------------
  |  |  198|  2.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  160|  2.18k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  161|       |
  162|  2.18k|	UNUSED(type);
  ------------------
  |  |   69|  2.18k|#define UNUSED(x) (void)(x)
  ------------------
  163|  2.18k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.18k|#define UNUSED(x) (void)(x)
  ------------------
  164|       |
  165|  2.18k|	dctx = dns_decompress_setpermitted(dctx, false);
  166|       |
  167|  2.18k|	isc_buffer_activeregion(source, &sr);
  168|       |	/*
  169|       |	 * Prefix length.
  170|       |	 */
  171|  2.18k|	if (sr.length < 1) {
  ------------------
  |  Branch (171:6): [True: 2, False: 2.18k]
  ------------------
  172|      2|		return ISC_R_UNEXPECTEDEND;
  173|      2|	}
  174|  2.18k|	prefixlen = sr.base[0];
  175|  2.18k|	if (prefixlen > 128) {
  ------------------
  |  Branch (175:6): [True: 3, False: 2.17k]
  ------------------
  176|      3|		return ISC_R_RANGE;
  177|      3|	}
  178|  2.17k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.17k|	do {                              \
  |  |   52|  2.17k|		isc_region_t *_r = (r);   \
  |  |   53|  2.17k|		unsigned int  _l = (l);   \
  |  |   54|  2.17k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.17k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.17k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.17k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.17k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.17k|		_r->base += _l;           \
  |  |   56|  2.17k|		_r->length -= _l;         \
  |  |   57|  2.17k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.17k]
  |  |  ------------------
  ------------------
  179|  2.17k|	RETERR(mem_tobuffer(target, &prefixlen, 1));
  ------------------
  |  |  276|  2.17k|	{                                  \
  |  |  277|  2.17k|		isc_result_t _r = (x);     \
  |  |  278|  2.17k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 194, False: 1.98k]
  |  |  ------------------
  |  |  279|    194|			return ((_r));     \
  |  |  280|    194|		}                          \
  |  |  281|  2.17k|	}
  ------------------
  180|  1.98k|	isc_buffer_forward(source, 1);
  181|       |
  182|       |	/*
  183|       |	 * Suffix.
  184|       |	 */
  185|  1.98k|	if (prefixlen != 128) {
  ------------------
  |  Branch (185:6): [True: 1.38k, False: 595]
  ------------------
  186|  1.38k|		octets = 16 - prefixlen / 8;
  187|  1.38k|		if (sr.length < octets) {
  ------------------
  |  Branch (187:7): [True: 25, False: 1.36k]
  ------------------
  188|     25|			return ISC_R_UNEXPECTEDEND;
  189|     25|		}
  190|  1.36k|		mask = 0xff >> (prefixlen % 8);
  191|  1.36k|		if ((sr.base[0] & ~mask) != 0) {
  ------------------
  |  Branch (191:7): [True: 9, False: 1.35k]
  ------------------
  192|      9|			return DNS_R_FORMERR;
  193|      9|		}
  194|  1.35k|		RETERR(mem_tobuffer(target, sr.base, octets));
  ------------------
  |  |  276|  1.35k|	{                                  \
  |  |  277|  1.35k|		isc_result_t _r = (x);     \
  |  |  278|  1.35k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 201, False: 1.15k]
  |  |  ------------------
  |  |  279|    201|			return ((_r));     \
  |  |  280|    201|		}                          \
  |  |  281|  1.35k|	}
  ------------------
  195|  1.15k|		isc_buffer_forward(source, octets);
  196|  1.15k|	}
  197|       |
  198|  1.74k|	if (prefixlen == 0) {
  ------------------
  |  Branch (198:6): [True: 933, False: 815]
  ------------------
  199|    933|		return ISC_R_SUCCESS;
  200|    933|	}
  201|       |
  202|    815|	dns_name_init(&name);
  203|    815|	return dns_name_fromwire(&name, source, dctx, target);
  204|  1.74k|}
rdata.c:towire_in_a6:
  207|    675|towire_in_a6(ARGS_TOWIRE) {
  208|    675|	isc_region_t sr;
  209|    675|	dns_name_t name;
  210|    675|	unsigned char prefixlen;
  211|    675|	unsigned char octets;
  212|       |
  213|    675|	REQUIRE(rdata->type == dns_rdatatype_a6);
  ------------------
  |  |  198|    675|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    675|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 675, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    675|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  214|    675|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    675|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    675|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 675, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    675|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  215|    675|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    675|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    675|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 675, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    675|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  216|       |
  217|    675|	dns_compress_setpermitted(cctx, false);
  218|    675|	dns_rdata_toregion(rdata, &sr);
  219|    675|	prefixlen = sr.base[0];
  220|    675|	INSIST(prefixlen <= 128);
  ------------------
  |  |  202|    675|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    675|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 675, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    675|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  221|       |
  222|    675|	octets = 1 + 16 - prefixlen / 8;
  223|    675|	RETERR(mem_tobuffer(target, sr.base, octets));
  ------------------
  |  |  276|    675|	{                                  \
  |  |  277|    675|		isc_result_t _r = (x);     \
  |  |  278|    675|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 674]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    675|	}
  ------------------
  224|    674|	isc_region_consume(&sr, octets);
  ------------------
  |  |   51|    674|	do {                              \
  |  |   52|    674|		isc_region_t *_r = (r);   \
  |  |   53|    674|		unsigned int  _l = (l);   \
  |  |   54|    674|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    674|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    674|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 674, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    674|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    674|		_r->base += _l;           \
  |  |   56|    674|		_r->length -= _l;         \
  |  |   57|    674|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 674]
  |  |  ------------------
  ------------------
  225|       |
  226|    674|	if (prefixlen == 0) {
  ------------------
  |  Branch (226:6): [True: 275, False: 399]
  ------------------
  227|    275|		return ISC_R_SUCCESS;
  228|    275|	}
  229|       |
  230|    399|	dns_name_init(&name);
  231|    399|	dns_name_fromregion(&name, &sr);
  232|    399|	return dns_name_towire(&name, cctx, target);
  233|    674|}
rdata.c:totext_in_a6:
  103|  1.33k|totext_in_a6(ARGS_TOTEXT) {
  104|  1.33k|	isc_region_t sr, ar;
  105|  1.33k|	unsigned char addr[16];
  106|  1.33k|	unsigned char prefixlen;
  107|  1.33k|	unsigned char octets;
  108|  1.33k|	unsigned char mask;
  109|  1.33k|	char buf[sizeof("128")];
  110|  1.33k|	dns_name_t name;
  111|  1.33k|	dns_name_t prefix;
  112|  1.33k|	unsigned int opts;
  113|       |
  114|  1.33k|	REQUIRE(rdata->type == dns_rdatatype_a6);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  115|  1.33k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  116|  1.33k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  117|       |
  118|  1.33k|	dns_rdata_toregion(rdata, &sr);
  119|  1.33k|	prefixlen = sr.base[0];
  120|  1.33k|	INSIST(prefixlen <= 128);
  ------------------
  |  |  202|  1.33k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.33k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  121|  1.33k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.33k|	do {                              \
  |  |   52|  1.33k|		isc_region_t *_r = (r);   \
  |  |   53|  1.33k|		unsigned int  _l = (l);   \
  |  |   54|  1.33k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.33k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.33k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.33k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.33k|		_r->base += _l;           \
  |  |   56|  1.33k|		_r->length -= _l;         \
  |  |   57|  1.33k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.33k]
  |  |  ------------------
  ------------------
  122|  1.33k|	snprintf(buf, sizeof(buf), "%u", prefixlen);
  123|  1.33k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.33k|	{                                  \
  |  |  277|  1.33k|		isc_result_t _r = (x);     \
  |  |  278|  1.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.33k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.33k|	}
  ------------------
  124|  1.33k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.33k|	{                                  \
  |  |  277|  1.33k|		isc_result_t _r = (x);     \
  |  |  278|  1.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.33k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.33k|	}
  ------------------
  125|       |
  126|  1.33k|	if (prefixlen != 128) {
  ------------------
  |  Branch (126:6): [True: 749, False: 588]
  ------------------
  127|    749|		octets = prefixlen / 8;
  128|    749|		memset(addr, 0, sizeof(addr));
  129|    749|		memmove(&addr[octets], sr.base, 16 - octets);
  130|    749|		mask = 0xff >> (prefixlen % 8);
  131|    749|		addr[octets] &= mask;
  132|    749|		ar.base = addr;
  133|    749|		ar.length = sizeof(addr);
  134|    749|		RETERR(inet_totext(AF_INET6, tctx->flags, &ar, target));
  ------------------
  |  |  276|    749|	{                                  \
  |  |  277|    749|		isc_result_t _r = (x);     \
  |  |  278|    749|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 749]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    749|	}
  ------------------
  135|    749|		isc_region_consume(&sr, 16 - octets);
  ------------------
  |  |   51|    749|	do {                              \
  |  |   52|    749|		isc_region_t *_r = (r);   \
  |  |   53|    749|		unsigned int  _l = (l);   \
  |  |   54|    749|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    749|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    749|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 749, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    749|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    749|		_r->base += _l;           \
  |  |   56|    749|		_r->length -= _l;         \
  |  |   57|    749|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 749]
  |  |  ------------------
  ------------------
  136|    749|	}
  137|       |
  138|  1.33k|	if (prefixlen == 0) {
  ------------------
  |  Branch (138:6): [True: 547, False: 790]
  ------------------
  139|    547|		return ISC_R_SUCCESS;
  140|    547|	}
  141|       |
  142|    790|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    790|	{                                  \
  |  |  277|    790|		isc_result_t _r = (x);     \
  |  |  278|    790|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 790]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    790|	}
  ------------------
  143|    790|	dns_name_init(&name);
  144|    790|	dns_name_init(&prefix);
  145|    790|	dns_name_fromregion(&name, &sr);
  146|    790|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (146:9): [True: 0, False: 790]
  ------------------
  147|    790|							 : 0;
  148|    790|	return dns_name_totext(&prefix, opts, target);
  149|    790|}

rdata.c:fromwire_in_a:
   68|  1.41k|fromwire_in_a(ARGS_FROMWIRE) {
   69|  1.41k|	isc_region_t sregion;
   70|  1.41k|	isc_region_t tregion;
   71|       |
   72|  1.41k|	REQUIRE(type == dns_rdatatype_a);
  ------------------
  |  |  198|  1.41k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.41k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.41k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.41k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   73|  1.41k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.41k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.41k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.41k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.41k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   74|       |
   75|  1.41k|	UNUSED(type);
  ------------------
  |  |   69|  1.41k|#define UNUSED(x) (void)(x)
  ------------------
   76|  1.41k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.41k|#define UNUSED(x) (void)(x)
  ------------------
   77|  1.41k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.41k|#define UNUSED(x) (void)(x)
  ------------------
   78|       |
   79|  1.41k|	isc_buffer_activeregion(source, &sregion);
   80|  1.41k|	isc_buffer_availableregion(target, &tregion);
   81|  1.41k|	if (sregion.length < 4) {
  ------------------
  |  Branch (81:6): [True: 12, False: 1.39k]
  ------------------
   82|     12|		return ISC_R_UNEXPECTEDEND;
   83|     12|	}
   84|  1.39k|	if (tregion.length < 4) {
  ------------------
  |  Branch (84:6): [True: 66, False: 1.33k]
  ------------------
   85|     66|		return ISC_R_NOSPACE;
   86|     66|	}
   87|       |
   88|  1.33k|	memmove(tregion.base, sregion.base, 4);
   89|  1.33k|	isc_buffer_forward(source, 4);
   90|  1.33k|	isc_buffer_add(target, 4);
   91|  1.33k|	return ISC_R_SUCCESS;
   92|  1.39k|}
rdata.c:towire_in_a:
   95|    691|towire_in_a(ARGS_TOWIRE) {
   96|    691|	isc_region_t region;
   97|       |
   98|    691|	REQUIRE(rdata->type == dns_rdatatype_a);
  ------------------
  |  |  198|    691|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    691|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 691, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    691|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   99|    691|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    691|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    691|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 691, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    691|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|    691|	REQUIRE(rdata->length == 4);
  ------------------
  |  |  198|    691|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    691|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 691, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    691|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  101|       |
  102|    691|	UNUSED(cctx);
  ------------------
  |  |   69|    691|#define UNUSED(x) (void)(x)
  ------------------
  103|       |
  104|    691|	isc_buffer_availableregion(target, &region);
  105|    691|	if (region.length < rdata->length) {
  ------------------
  |  Branch (105:6): [True: 1, False: 690]
  ------------------
  106|      1|		return ISC_R_NOSPACE;
  107|      1|	}
  108|    690|	memmove(region.base, rdata->data, rdata->length);
  109|    690|	isc_buffer_add(target, 4);
  110|    690|	return ISC_R_SUCCESS;
  111|    691|}
rdata.c:totext_in_a:
   54|  1.23k|totext_in_a(ARGS_TOTEXT) {
   55|  1.23k|	isc_region_t region;
   56|       |
   57|  1.23k|	REQUIRE(rdata->type == dns_rdatatype_a);
  ------------------
  |  |  198|  1.23k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.23k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.23k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.23k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   58|  1.23k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.23k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.23k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.23k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.23k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   59|  1.23k|	REQUIRE(rdata->length == 4);
  ------------------
  |  |  198|  1.23k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.23k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.23k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.23k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   60|       |
   61|  1.23k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.23k|#define UNUSED(x) (void)(x)
  ------------------
   62|       |
   63|  1.23k|	dns_rdata_toregion(rdata, &region);
   64|       |	return inet_totext(AF_INET, tctx->flags, &region, target);
   65|  1.23k|}

rdata.c:fromwire_in_aaaa:
   84|  1.29k|fromwire_in_aaaa(ARGS_FROMWIRE) {
   85|  1.29k|	isc_region_t sregion;
   86|  1.29k|	isc_region_t tregion;
   87|       |
   88|  1.29k|	REQUIRE(type == dns_rdatatype_aaaa);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   89|  1.29k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   90|       |
   91|  1.29k|	UNUSED(type);
  ------------------
  |  |   69|  1.29k|#define UNUSED(x) (void)(x)
  ------------------
   92|  1.29k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.29k|#define UNUSED(x) (void)(x)
  ------------------
   93|  1.29k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.29k|#define UNUSED(x) (void)(x)
  ------------------
   94|       |
   95|  1.29k|	isc_buffer_activeregion(source, &sregion);
   96|  1.29k|	isc_buffer_availableregion(target, &tregion);
   97|  1.29k|	if (sregion.length < 16) {
  ------------------
  |  Branch (97:6): [True: 10, False: 1.28k]
  ------------------
   98|     10|		return ISC_R_UNEXPECTEDEND;
   99|     10|	}
  100|  1.28k|	if (tregion.length < 16) {
  ------------------
  |  Branch (100:6): [True: 202, False: 1.08k]
  ------------------
  101|    202|		return ISC_R_NOSPACE;
  102|    202|	}
  103|       |
  104|  1.08k|	memmove(tregion.base, sregion.base, 16);
  105|  1.08k|	isc_buffer_forward(source, 16);
  106|  1.08k|	isc_buffer_add(target, 16);
  107|  1.08k|	return ISC_R_SUCCESS;
  108|  1.28k|}
rdata.c:towire_in_aaaa:
  111|    440|towire_in_aaaa(ARGS_TOWIRE) {
  112|    440|	isc_region_t region;
  113|       |
  114|    440|	UNUSED(cctx);
  ------------------
  |  |   69|    440|#define UNUSED(x) (void)(x)
  ------------------
  115|       |
  116|    440|	REQUIRE(rdata->type == dns_rdatatype_aaaa);
  ------------------
  |  |  198|    440|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    440|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 440, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    440|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  117|    440|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    440|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    440|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 440, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    440|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  118|    440|	REQUIRE(rdata->length == 16);
  ------------------
  |  |  198|    440|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    440|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 440, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    440|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  119|       |
  120|    440|	isc_buffer_availableregion(target, &region);
  121|    440|	if (region.length < rdata->length) {
  ------------------
  |  Branch (121:6): [True: 1, False: 439]
  ------------------
  122|      1|		return ISC_R_NOSPACE;
  123|      1|	}
  124|    439|	memmove(region.base, rdata->data, rdata->length);
  125|    439|	isc_buffer_add(target, 16);
  126|    439|	return ISC_R_SUCCESS;
  127|    440|}
rdata.c:totext_in_aaaa:
   54|    872|totext_in_aaaa(ARGS_TOTEXT) {
   55|    872|	isc_region_t region;
   56|       |
   57|    872|	REQUIRE(rdata->type == dns_rdatatype_aaaa);
  ------------------
  |  |  198|    872|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    872|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 872, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    872|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   58|    872|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    872|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    872|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 872, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    872|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   59|    872|	REQUIRE(rdata->length == 16);
  ------------------
  |  |  198|    872|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    872|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 872, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    872|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   60|       |
   61|    872|	if ((tctx->flags & DNS_STYLEFLAG_EXPANDAAAA) != 0) {
  ------------------
  |  |  206|    872|#define DNS_STYLEFLAG_EXPANDAAAA 0x00000020ULL
  ------------------
  |  Branch (61:6): [True: 0, False: 872]
  ------------------
   62|      0|		char buf[5 * 8];
   63|      0|		const char *sep = "";
   64|      0|		int i, n;
   65|      0|		unsigned int len = 0;
   66|       |
   67|      0|		for (i = 0; i < 16; i += 2) {
  ------------------
  |  Branch (67:15): [True: 0, False: 0]
  ------------------
   68|      0|			INSIST(len < sizeof(buf));
  ------------------
  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
   69|      0|			n = snprintf(buf + len, sizeof(buf) - len, "%s%02x%02x",
   70|      0|				     sep, rdata->data[i], rdata->data[i + 1]);
   71|      0|			if (n < 0) {
  ------------------
  |  Branch (71:8): [True: 0, False: 0]
  ------------------
   72|      0|				return ISC_R_FAILURE;
   73|      0|			}
   74|      0|			len += n;
   75|      0|			sep = ":";
   76|      0|		}
   77|      0|		return str_totext(buf, target);
   78|      0|	}
   79|    872|	dns_rdata_toregion(rdata, &region);
   80|       |	return inet_totext(AF_INET6, tctx->flags, &region, target);
   81|    872|}

rdata.c:fromwire_in_apl:
  183|  2.74k|fromwire_in_apl(ARGS_FROMWIRE) {
  184|  2.74k|	isc_region_t sr, sr2;
  185|  2.74k|	isc_region_t tr;
  186|  2.74k|	uint16_t afi;
  187|  2.74k|	uint8_t prefix;
  188|  2.74k|	uint8_t len;
  189|       |
  190|  2.74k|	REQUIRE(type == dns_rdatatype_apl);
  ------------------
  |  |  198|  2.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  191|  2.74k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  192|       |
  193|  2.74k|	UNUSED(type);
  ------------------
  |  |   69|  2.74k|#define UNUSED(x) (void)(x)
  ------------------
  194|  2.74k|	UNUSED(dctx);
  ------------------
  |  |   69|  2.74k|#define UNUSED(x) (void)(x)
  ------------------
  195|  2.74k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.74k|#define UNUSED(x) (void)(x)
  ------------------
  196|       |
  197|  2.74k|	isc_buffer_activeregion(source, &sr);
  198|  2.74k|	isc_buffer_availableregion(target, &tr);
  199|  2.74k|	if (sr.length > tr.length) {
  ------------------
  |  Branch (199:6): [True: 220, False: 2.52k]
  ------------------
  200|    220|		return ISC_R_NOSPACE;
  201|    220|	}
  202|  2.52k|	sr2 = sr;
  203|       |
  204|       |	/* Zero or more items */
  205|  6.48k|	while (sr.length > 0) {
  ------------------
  |  Branch (205:9): [True: 3.99k, False: 2.48k]
  ------------------
  206|  3.99k|		if (sr.length < 4) {
  ------------------
  |  Branch (206:7): [True: 12, False: 3.98k]
  ------------------
  207|     12|			return ISC_R_UNEXPECTEDEND;
  208|     12|		}
  209|  3.98k|		afi = uint16_fromregion(&sr);
  210|  3.98k|		isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  3.98k|	do {                              \
  |  |   52|  3.98k|		isc_region_t *_r = (r);   \
  |  |   53|  3.98k|		unsigned int  _l = (l);   \
  |  |   54|  3.98k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.98k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.98k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.98k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.98k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.98k|		_r->base += _l;           \
  |  |   56|  3.98k|		_r->length -= _l;         \
  |  |   57|  3.98k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.98k]
  |  |  ------------------
  ------------------
  211|  3.98k|		prefix = *sr.base;
  212|  3.98k|		isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.98k|	do {                              \
  |  |   52|  3.98k|		isc_region_t *_r = (r);   \
  |  |   53|  3.98k|		unsigned int  _l = (l);   \
  |  |   54|  3.98k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.98k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.98k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.98k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.98k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.98k|		_r->base += _l;           \
  |  |   56|  3.98k|		_r->length -= _l;         \
  |  |   57|  3.98k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.98k]
  |  |  ------------------
  ------------------
  213|  3.98k|		len = (*sr.base & 0x7f);
  214|  3.98k|		isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  3.98k|	do {                              \
  |  |   52|  3.98k|		isc_region_t *_r = (r);   \
  |  |   53|  3.98k|		unsigned int  _l = (l);   \
  |  |   54|  3.98k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.98k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.98k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.98k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.98k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.98k|		_r->base += _l;           \
  |  |   56|  3.98k|		_r->length -= _l;         \
  |  |   57|  3.98k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.98k]
  |  |  ------------------
  ------------------
  215|  3.98k|		if (len > sr.length) {
  ------------------
  |  Branch (215:7): [True: 9, False: 3.97k]
  ------------------
  216|      9|			return ISC_R_UNEXPECTEDEND;
  217|      9|		}
  218|  3.97k|		switch (afi) {
  ------------------
  |  Branch (218:11): [True: 1.79k, False: 2.18k]
  ------------------
  219|    689|		case 1:
  ------------------
  |  Branch (219:3): [True: 689, False: 3.28k]
  ------------------
  220|    689|			if (prefix > 32 || len > 4) {
  ------------------
  |  Branch (220:8): [True: 3, False: 686]
  |  Branch (220:23): [True: 2, False: 684]
  ------------------
  221|      5|				return ISC_R_RANGE;
  222|      5|			}
  223|    684|			break;
  224|  1.10k|		case 2:
  ------------------
  |  Branch (224:3): [True: 1.10k, False: 2.87k]
  ------------------
  225|  1.10k|			if (prefix > 128 || len > 16) {
  ------------------
  |  Branch (225:8): [True: 1, False: 1.10k]
  |  Branch (225:24): [True: 1, False: 1.10k]
  ------------------
  226|      2|				return ISC_R_RANGE;
  227|      2|			}
  228|  3.97k|		}
  229|  3.97k|		if (len > 0 && sr.base[len - 1] == 0) {
  ------------------
  |  Branch (229:7): [True: 1.33k, False: 2.63k]
  |  Branch (229:18): [True: 13, False: 1.32k]
  ------------------
  230|     13|			return DNS_R_FORMERR;
  231|     13|		}
  232|  3.95k|		isc_region_consume(&sr, len);
  ------------------
  |  |   51|  3.95k|	do {                              \
  |  |   52|  3.95k|		isc_region_t *_r = (r);   \
  |  |   53|  3.95k|		unsigned int  _l = (l);   \
  |  |   54|  3.95k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  3.95k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  3.95k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 3.95k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  3.95k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  3.95k|		_r->base += _l;           \
  |  |   56|  3.95k|		_r->length -= _l;         \
  |  |   57|  3.95k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 3.95k]
  |  |  ------------------
  ------------------
  233|  3.95k|	}
  234|  2.48k|	isc_buffer_forward(source, sr2.length);
  235|  2.48k|	return mem_tobuffer(target, sr2.base, sr2.length);
  236|  2.52k|}
rdata.c:towire_in_apl:
  239|  1.15k|towire_in_apl(ARGS_TOWIRE) {
  240|  1.15k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.15k|#define UNUSED(x) (void)(x)
  ------------------
  241|       |
  242|  1.15k|	REQUIRE(rdata->type == dns_rdatatype_apl);
  ------------------
  |  |  198|  1.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  243|  1.15k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  244|       |
  245|  1.15k|	return mem_tobuffer(target, rdata->data, rdata->length);
  246|  1.15k|}
rdata.c:totext_in_apl:
  118|  2.25k|totext_in_apl(ARGS_TOTEXT) {
  119|  2.25k|	isc_region_t sr;
  120|  2.25k|	isc_region_t ir;
  121|  2.25k|	uint16_t afi;
  122|  2.25k|	uint8_t prefix;
  123|  2.25k|	uint8_t len;
  124|  2.25k|	bool neg;
  125|  2.25k|	unsigned char buf[16];
  126|  2.25k|	char txt[sizeof(" !64000:")];
  127|  2.25k|	const char *sep = "";
  128|  2.25k|	int n;
  129|       |
  130|  2.25k|	REQUIRE(rdata->type == dns_rdatatype_apl);
  ------------------
  |  |  198|  2.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  131|  2.25k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  132|       |
  133|  2.25k|	UNUSED(tctx);
  ------------------
  |  |   69|  2.25k|#define UNUSED(x) (void)(x)
  ------------------
  134|       |
  135|  2.25k|	dns_rdata_toregion(rdata, &sr);
  136|  2.25k|	ir.base = buf;
  137|  2.25k|	ir.length = sizeof(buf);
  138|       |
  139|  3.92k|	while (sr.length > 0) {
  ------------------
  |  Branch (139:9): [True: 2.39k, False: 1.52k]
  ------------------
  140|  2.39k|		INSIST(sr.length >= 4);
  ------------------
  |  |  202|  2.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.39k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  141|  2.39k|		afi = uint16_fromregion(&sr);
  142|  2.39k|		isc_region_consume(&sr, 2);
  ------------------
  |  |   51|  2.39k|	do {                              \
  |  |   52|  2.39k|		isc_region_t *_r = (r);   \
  |  |   53|  2.39k|		unsigned int  _l = (l);   \
  |  |   54|  2.39k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.39k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.39k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.39k|		_r->base += _l;           \
  |  |   56|  2.39k|		_r->length -= _l;         \
  |  |   57|  2.39k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.39k]
  |  |  ------------------
  ------------------
  143|  2.39k|		prefix = *sr.base;
  144|  2.39k|		isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.39k|	do {                              \
  |  |   52|  2.39k|		isc_region_t *_r = (r);   \
  |  |   53|  2.39k|		unsigned int  _l = (l);   \
  |  |   54|  2.39k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.39k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.39k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.39k|		_r->base += _l;           \
  |  |   56|  2.39k|		_r->length -= _l;         \
  |  |   57|  2.39k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.39k]
  |  |  ------------------
  ------------------
  145|  2.39k|		len = (*sr.base & 0x7f);
  146|  2.39k|		neg = (*sr.base & 0x80);
  147|  2.39k|		isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  2.39k|	do {                              \
  |  |   52|  2.39k|		isc_region_t *_r = (r);   \
  |  |   53|  2.39k|		unsigned int  _l = (l);   \
  |  |   54|  2.39k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.39k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.39k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.39k|		_r->base += _l;           \
  |  |   56|  2.39k|		_r->length -= _l;         \
  |  |   57|  2.39k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.39k]
  |  |  ------------------
  ------------------
  148|  2.39k|		INSIST(len <= sr.length);
  ------------------
  |  |  202|  2.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.39k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  149|  2.39k|		n = snprintf(txt, sizeof(txt), "%s%s%u:", sep, neg ? "!" : "",
  ------------------
  |  Branch (149:50): [True: 65, False: 2.33k]
  ------------------
  150|  2.39k|			     afi);
  151|  2.39k|		INSIST(n < (int)sizeof(txt));
  ------------------
  |  |  202|  2.39k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.39k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.39k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  152|  2.39k|		RETERR(str_totext(txt, target));
  ------------------
  |  |  276|  2.39k|	{                                  \
  |  |  277|  2.39k|		isc_result_t _r = (x);     \
  |  |  278|  2.39k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.39k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.39k|	}
  ------------------
  153|  2.39k|		switch (afi) {
  154|    635|		case 1:
  ------------------
  |  Branch (154:3): [True: 635, False: 1.76k]
  ------------------
  155|    635|			INSIST(len <= 4);
  ------------------
  |  |  202|    635|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    635|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 635, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    635|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  156|    635|			INSIST(prefix <= 32);
  ------------------
  |  |  202|    635|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    635|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 635, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    635|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  157|    635|			memset(buf, 0, sizeof(buf));
  158|    635|			memmove(buf, sr.base, len);
  159|    635|			RETERR(inet_totext(AF_INET, tctx->flags, &ir, target));
  ------------------
  |  |  276|    635|	{                                  \
  |  |  277|    635|		isc_result_t _r = (x);     \
  |  |  278|    635|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 635]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    635|	}
  ------------------
  160|    635|			break;
  161|       |
  162|  1.03k|		case 2:
  ------------------
  |  Branch (162:3): [True: 1.03k, False: 1.36k]
  ------------------
  163|  1.03k|			INSIST(len <= 16);
  ------------------
  |  |  202|  1.03k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.03k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.03k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  164|  1.03k|			INSIST(prefix <= 128);
  ------------------
  |  |  202|  1.03k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.03k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.03k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  165|  1.03k|			memset(buf, 0, sizeof(buf));
  166|  1.03k|			memmove(buf, sr.base, len);
  167|  1.03k|			RETERR(inet_totext(AF_INET6, tctx->flags, &ir, target));
  ------------------
  |  |  276|  1.03k|	{                                  \
  |  |  277|  1.03k|		isc_result_t _r = (x);     \
  |  |  278|  1.03k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.03k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.03k|	}
  ------------------
  168|  1.03k|			break;
  169|       |
  170|    728|		default:
  ------------------
  |  Branch (170:3): [True: 728, False: 1.67k]
  ------------------
  171|    728|			return ISC_R_NOTIMPLEMENTED;
  172|  2.39k|		}
  173|  1.67k|		n = snprintf(txt, sizeof(txt), "/%u", prefix);
  174|  1.67k|		INSIST(n < (int)sizeof(txt));
  ------------------
  |  |  202|  1.67k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.67k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.67k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.67k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  175|  1.67k|		RETERR(str_totext(txt, target));
  ------------------
  |  |  276|  1.67k|	{                                  \
  |  |  277|  1.67k|		isc_result_t _r = (x);     \
  |  |  278|  1.67k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.67k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.67k|	}
  ------------------
  176|  1.67k|		isc_region_consume(&sr, len);
  ------------------
  |  |   51|  1.67k|	do {                              \
  |  |   52|  1.67k|		isc_region_t *_r = (r);   \
  |  |   53|  1.67k|		unsigned int  _l = (l);   \
  |  |   54|  1.67k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.67k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.67k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.67k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.67k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.67k|		_r->base += _l;           \
  |  |   56|  1.67k|		_r->length -= _l;         \
  |  |   57|  1.67k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.67k]
  |  |  ------------------
  ------------------
  177|  1.67k|		sep = " ";
  178|  1.67k|	}
  179|  1.52k|	return ISC_R_SUCCESS;
  180|  2.25k|}

rdata.c:fromwire_in_atma:
  144|  2.78k|fromwire_in_atma(ARGS_FROMWIRE) {
  145|  2.78k|	isc_region_t region;
  146|       |
  147|  2.78k|	REQUIRE(type == dns_rdatatype_atma);
  ------------------
  |  |  198|  2.78k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.78k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.78k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.78k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  148|  2.78k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.78k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.78k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.78k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.78k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  149|       |
  150|  2.78k|	UNUSED(type);
  ------------------
  |  |   69|  2.78k|#define UNUSED(x) (void)(x)
  ------------------
  151|  2.78k|	UNUSED(dctx);
  ------------------
  |  |   69|  2.78k|#define UNUSED(x) (void)(x)
  ------------------
  152|  2.78k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.78k|#define UNUSED(x) (void)(x)
  ------------------
  153|       |
  154|  2.78k|	isc_buffer_activeregion(source, &region);
  155|  2.78k|	if (region.length < 2) {
  ------------------
  |  Branch (155:6): [True: 4, False: 2.78k]
  ------------------
  156|      4|		return ISC_R_UNEXPECTEDEND;
  157|      4|	}
  158|  2.78k|	if (region.base[0] == 1) {
  ------------------
  |  Branch (158:6): [True: 1.34k, False: 1.43k]
  ------------------
  159|  1.34k|		unsigned int i;
  160|  2.90k|		for (i = 1; i < region.length; i++) {
  ------------------
  |  Branch (160:15): [True: 1.55k, False: 1.34k]
  ------------------
  161|  1.55k|			if (!isdigit((unsigned char)region.base[i])) {
  ------------------
  |  Branch (161:8): [True: 1, False: 1.55k]
  ------------------
  162|      1|				return DNS_R_FORMERR;
  163|      1|			}
  164|  1.55k|		}
  165|  1.34k|	}
  166|  2.78k|	RETERR(mem_tobuffer(target, region.base, region.length));
  ------------------
  |  |  276|  2.78k|	{                                  \
  |  |  277|  2.78k|		isc_result_t _r = (x);     \
  |  |  278|  2.78k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 86, False: 2.69k]
  |  |  ------------------
  |  |  279|     86|			return ((_r));     \
  |  |  280|     86|		}                          \
  |  |  281|  2.78k|	}
  ------------------
  167|  2.69k|	isc_buffer_forward(source, region.length);
  168|  2.69k|	return ISC_R_SUCCESS;
  169|  2.78k|}
rdata.c:towire_in_atma:
  172|  1.29k|towire_in_atma(ARGS_TOWIRE) {
  173|  1.29k|	REQUIRE(rdata->type == dns_rdatatype_atma);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  174|  1.29k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  175|  1.29k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.29k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.29k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.29k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.29k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  176|       |
  177|  1.29k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.29k|#define UNUSED(x) (void)(x)
  ------------------
  178|       |
  179|  1.29k|	return mem_tobuffer(target, rdata->data, rdata->length);
  180|  1.29k|}
rdata.c:totext_in_atma:
  111|  2.59k|totext_in_atma(ARGS_TOTEXT) {
  112|  2.59k|	isc_region_t region;
  113|  2.59k|	char buf[sizeof("xx")];
  114|       |
  115|  2.59k|	REQUIRE(rdata->type == dns_rdatatype_atma);
  ------------------
  |  |  198|  2.59k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.59k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.59k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.59k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  116|  2.59k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.59k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.59k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.59k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.59k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  117|  2.59k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.59k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.59k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.59k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.59k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  118|       |
  119|  2.59k|	UNUSED(tctx);
  ------------------
  |  |   69|  2.59k|#define UNUSED(x) (void)(x)
  ------------------
  120|       |
  121|  2.59k|	dns_rdata_toregion(rdata, &region);
  122|  2.59k|	INSIST(region.length > 1);
  ------------------
  |  |  202|  2.59k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  2.59k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2.59k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  2.59k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  123|  2.59k|	switch (region.base[0]) {
  124|    624|	case 0:
  ------------------
  |  Branch (124:2): [True: 624, False: 1.97k]
  ------------------
  125|    624|		isc_region_consume(&region, 1);
  ------------------
  |  |   51|    624|	do {                              \
  |  |   52|    624|		isc_region_t *_r = (r);   \
  |  |   53|    624|		unsigned int  _l = (l);   \
  |  |   54|    624|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    624|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    624|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 624, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    624|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    624|		_r->base += _l;           \
  |  |   56|    624|		_r->length -= _l;         \
  |  |   57|    624|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 624]
  |  |  ------------------
  ------------------
  126|  3.38k|		while (region.length != 0) {
  ------------------
  |  Branch (126:10): [True: 2.76k, False: 624]
  ------------------
  127|  2.76k|			snprintf(buf, sizeof(buf), "%02x", region.base[0]);
  128|  2.76k|			isc_region_consume(&region, 1);
  ------------------
  |  |   51|  2.76k|	do {                              \
  |  |   52|  2.76k|		isc_region_t *_r = (r);   \
  |  |   53|  2.76k|		unsigned int  _l = (l);   \
  |  |   54|  2.76k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.76k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.76k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.76k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.76k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.76k|		_r->base += _l;           \
  |  |   56|  2.76k|		_r->length -= _l;         \
  |  |   57|  2.76k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.76k]
  |  |  ------------------
  ------------------
  129|  2.76k|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  2.76k|	{                                  \
  |  |  277|  2.76k|		isc_result_t _r = (x);     \
  |  |  278|  2.76k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.76k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.76k|	}
  ------------------
  130|  2.76k|		}
  131|    624|		break;
  132|  1.33k|	case 1:
  ------------------
  |  Branch (132:2): [True: 1.33k, False: 1.26k]
  ------------------
  133|  1.33k|		RETERR(str_totext("+", target));
  ------------------
  |  |  276|  1.33k|	{                                  \
  |  |  277|  1.33k|		isc_result_t _r = (x);     \
  |  |  278|  1.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.33k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.33k|	}
  ------------------
  134|  1.33k|		isc_region_consume(&region, 1);
  ------------------
  |  |   51|  1.33k|	do {                              \
  |  |   52|  1.33k|		isc_region_t *_r = (r);   \
  |  |   53|  1.33k|		unsigned int  _l = (l);   \
  |  |   54|  1.33k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.33k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.33k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.33k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.33k|		_r->base += _l;           \
  |  |   56|  1.33k|		_r->length -= _l;         \
  |  |   57|  1.33k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.33k]
  |  |  ------------------
  ------------------
  135|  1.33k|		RETERR(mem_tobuffer(target, region.base, region.length));
  ------------------
  |  |  276|  1.33k|	{                                  \
  |  |  277|  1.33k|		isc_result_t _r = (x);     \
  |  |  278|  1.33k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.33k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.33k|	}
  ------------------
  136|  1.33k|		break;
  137|    636|	default:
  ------------------
  |  Branch (137:2): [True: 636, False: 1.95k]
  ------------------
  138|    636|		return ISC_R_NOTIMPLEMENTED;
  139|  2.59k|	}
  140|  1.95k|	return ISC_R_SUCCESS;
  141|  2.59k|}

rdata.c:fromwire_in_dhcid:
   69|  1.16k|fromwire_in_dhcid(ARGS_FROMWIRE) {
   70|  1.16k|	isc_region_t sr;
   71|       |
   72|  1.16k|	REQUIRE(type == dns_rdatatype_dhcid);
  ------------------
  |  |  198|  1.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   73|  1.16k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.16k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.16k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.16k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.16k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   74|       |
   75|  1.16k|	UNUSED(type);
  ------------------
  |  |   69|  1.16k|#define UNUSED(x) (void)(x)
  ------------------
   76|  1.16k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.16k|#define UNUSED(x) (void)(x)
  ------------------
   77|  1.16k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.16k|#define UNUSED(x) (void)(x)
  ------------------
   78|       |
   79|  1.16k|	isc_buffer_activeregion(source, &sr);
   80|  1.16k|	if (sr.length == 0) {
  ------------------
  |  Branch (80:6): [True: 2, False: 1.15k]
  ------------------
   81|      2|		return ISC_R_UNEXPECTEDEND;
   82|      2|	}
   83|       |
   84|  1.15k|	isc_buffer_forward(source, sr.length);
   85|  1.15k|	return mem_tobuffer(target, sr.base, sr.length);
   86|  1.16k|}
rdata.c:towire_in_dhcid:
   89|    371|towire_in_dhcid(ARGS_TOWIRE) {
   90|    371|	isc_region_t sr;
   91|       |
   92|    371|	REQUIRE(rdata->type == dns_rdatatype_dhcid);
  ------------------
  |  |  198|    371|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    371|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 371, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    371|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   93|    371|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    371|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    371|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 371, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    371|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   94|    371|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    371|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    371|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 371, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    371|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   95|       |
   96|    371|	UNUSED(cctx);
  ------------------
  |  |   69|    371|#define UNUSED(x) (void)(x)
  ------------------
   97|       |
   98|    371|	dns_rdata_toregion(rdata, &sr);
   99|    371|	return mem_tobuffer(target, sr.base, sr.length);
  100|    371|}
rdata.c:totext_in_dhcid:
   36|    731|totext_in_dhcid(ARGS_TOTEXT) {
   37|    731|	isc_region_t sr;
   38|       |	/* " ; 64000 255 64000" */
   39|    731|	char buf[5 + 3 * 11 + 1];
   40|       |
   41|    731|	REQUIRE(rdata->type == dns_rdatatype_dhcid);
  ------------------
  |  |  198|    731|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    731|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 731, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    731|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   42|    731|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    731|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    731|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 731, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    731|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   43|    731|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    731|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    731|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 731, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    731|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   44|       |
   45|    731|	dns_rdata_toregion(rdata, &sr);
   46|       |
   47|    731|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    731|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (47:6): [True: 0, False: 731]
  ------------------
   48|      0|		RETERR(str_totext("( " /*)*/, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   49|      0|	}
   50|    731|	if (tctx->width == 0) { /* No splitting */
  ------------------
  |  Branch (50:6): [True: 0, False: 731]
  ------------------
   51|      0|		RETERR(isc_base64_totext(&sr, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   52|    731|	} else {
   53|    731|		RETERR(isc_base64_totext(&sr, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|    731|	{                                  \
  |  |  277|    731|		isc_result_t _r = (x);     \
  |  |  278|    731|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 731]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    731|	}
  ------------------
   54|    731|					 target));
   55|    731|	}
   56|    731|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    731|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (56:6): [True: 0, False: 731]
  ------------------
   57|      0|		RETERR(str_totext(/* ( */ " )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   58|      0|		if (rdata->length > 2) {
  ------------------
  |  Branch (58:7): [True: 0, False: 0]
  ------------------
   59|      0|			snprintf(buf, sizeof(buf), " ; %u %u %u",
   60|      0|				 rdata->data[0] * 256U + rdata->data[1],
   61|      0|				 rdata->data[2], rdata->length - 3U);
   62|      0|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   63|      0|		}
   64|      0|	}
   65|    731|	return ISC_R_SUCCESS;
   66|    731|}

rdata.c:fromwire_in_eid:
   61|  3.25k|fromwire_in_eid(ARGS_FROMWIRE) {
   62|  3.25k|	isc_region_t region;
   63|       |
   64|  3.25k|	REQUIRE(type == dns_rdatatype_eid);
  ------------------
  |  |  198|  3.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   65|  3.25k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  3.25k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.25k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 3.25k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  3.25k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   66|       |
   67|  3.25k|	UNUSED(type);
  ------------------
  |  |   69|  3.25k|#define UNUSED(x) (void)(x)
  ------------------
   68|  3.25k|	UNUSED(dctx);
  ------------------
  |  |   69|  3.25k|#define UNUSED(x) (void)(x)
  ------------------
   69|  3.25k|	UNUSED(rdclass);
  ------------------
  |  |   69|  3.25k|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|  3.25k|	isc_buffer_activeregion(source, &region);
   72|  3.25k|	if (region.length < 1) {
  ------------------
  |  Branch (72:6): [True: 2, False: 3.25k]
  ------------------
   73|      2|		return ISC_R_UNEXPECTEDEND;
   74|      2|	}
   75|       |
   76|  3.25k|	RETERR(mem_tobuffer(target, region.base, region.length));
  ------------------
  |  |  276|  3.25k|	{                                  \
  |  |  277|  3.25k|		isc_result_t _r = (x);     \
  |  |  278|  3.25k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 216, False: 3.03k]
  |  |  ------------------
  |  |  279|    216|			return ((_r));     \
  |  |  280|    216|		}                          \
  |  |  281|  3.25k|	}
  ------------------
   77|  3.03k|	isc_buffer_forward(source, region.length);
   78|  3.03k|	return ISC_R_SUCCESS;
   79|  3.25k|}
rdata.c:towire_in_eid:
   82|  1.33k|towire_in_eid(ARGS_TOWIRE) {
   83|  1.33k|	REQUIRE(rdata->type == dns_rdatatype_eid);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|  1.33k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|  1.33k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.33k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.33k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.33k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.33k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|  1.33k|	UNUSED(cctx);
  ------------------
  |  |   69|  1.33k|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|  1.33k|	return mem_tobuffer(target, rdata->data, rdata->length);
   90|  1.33k|}
rdata.c:totext_in_eid:
   36|  2.61k|totext_in_eid(ARGS_TOTEXT) {
   37|  2.61k|	isc_region_t region;
   38|       |
   39|  2.61k|	REQUIRE(rdata->type == dns_rdatatype_eid);
  ------------------
  |  |  198|  2.61k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.61k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.61k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.61k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   40|  2.61k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.61k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.61k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.61k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.61k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|  2.61k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.61k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.61k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.61k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.61k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   42|       |
   43|  2.61k|	dns_rdata_toregion(rdata, &region);
   44|       |
   45|  2.61k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.61k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (45:6): [True: 0, False: 2.61k]
  ------------------
   46|      0|		RETERR(str_totext("( ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   47|      0|	}
   48|  2.61k|	if (tctx->width == 0) {
  ------------------
  |  Branch (48:6): [True: 0, False: 2.61k]
  ------------------
   49|      0|		RETERR(isc_hex_totext(&region, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   50|  2.61k|	} else {
   51|  2.61k|		RETERR(isc_hex_totext(&region, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|  2.61k|	{                                  \
  |  |  277|  2.61k|		isc_result_t _r = (x);     \
  |  |  278|  2.61k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.61k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.61k|	}
  ------------------
   52|  2.61k|				      target));
   53|  2.61k|	}
   54|  2.61k|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|  2.61k|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (54:6): [True: 0, False: 2.61k]
  ------------------
   55|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   56|      0|	}
   57|  2.61k|	return ISC_R_SUCCESS;
   58|  2.61k|}

rdata.c:fromwire_in_https:
   43|  2.94k|fromwire_in_https(ARGS_FROMWIRE) {
   44|  2.94k|	REQUIRE(type == dns_rdatatype_https);
  ------------------
  |  |  198|  2.94k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.94k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.94k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.94k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   45|  2.94k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.94k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.94k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.94k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.94k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   46|       |
   47|  2.94k|	return generic_fromwire_in_svcb(CALL_FROMWIRE);
  ------------------
  |  |   91|  2.94k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
   48|  2.94k|}
rdata.c:towire_in_https:
   51|  1.22k|towire_in_https(ARGS_TOWIRE) {
   52|  1.22k|	REQUIRE(rdata->type == dns_rdatatype_https);
  ------------------
  |  |  198|  1.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   53|  1.22k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   54|       |
   55|  1.22k|	return generic_towire_in_svcb(CALL_TOWIRE);
  ------------------
  |  |   96|  1.22k|#define CALL_TOWIRE rdata, cctx, target
  ------------------
   56|  1.22k|}
rdata.c:totext_in_https:
   34|  2.42k|totext_in_https(ARGS_TOTEXT) {
   35|  2.42k|	REQUIRE(rdata->type == dns_rdatatype_https);
  ------------------
  |  |  198|  2.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   36|  2.42k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   37|  2.42k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.42k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.42k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.42k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.42k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   38|       |
   39|  2.42k|	return generic_totext_in_svcb(CALL_TOTEXT);
  ------------------
  |  |   85|  2.42k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
   40|  2.42k|}

rdata.c:fromwire_in_kx:
   81|  2.15k|fromwire_in_kx(ARGS_FROMWIRE) {
   82|  2.15k|	dns_name_t name;
   83|  2.15k|	isc_region_t sregion;
   84|       |
   85|  2.15k|	REQUIRE(type == dns_rdatatype_kx);
  ------------------
  |  |  198|  2.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|  2.15k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.15k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.15k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.15k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.15k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   87|       |
   88|  2.15k|	UNUSED(type);
  ------------------
  |  |   69|  2.15k|#define UNUSED(x) (void)(x)
  ------------------
   89|  2.15k|	UNUSED(rdclass);
  ------------------
  |  |   69|  2.15k|#define UNUSED(x) (void)(x)
  ------------------
   90|       |
   91|  2.15k|	dctx = dns_decompress_setpermitted(dctx, false);
   92|       |
   93|  2.15k|	dns_name_init(&name);
   94|       |
   95|  2.15k|	isc_buffer_activeregion(source, &sregion);
   96|  2.15k|	if (sregion.length < 2) {
  ------------------
  |  Branch (96:6): [True: 4, False: 2.15k]
  ------------------
   97|      4|		return ISC_R_UNEXPECTEDEND;
   98|      4|	}
   99|  2.15k|	RETERR(mem_tobuffer(target, sregion.base, 2));
  ------------------
  |  |  276|  2.15k|	{                                  \
  |  |  277|  2.15k|		isc_result_t _r = (x);     \
  |  |  278|  2.15k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 195, False: 1.95k]
  |  |  ------------------
  |  |  279|    195|			return ((_r));     \
  |  |  280|    195|		}                          \
  |  |  281|  2.15k|	}
  ------------------
  100|  1.95k|	isc_buffer_forward(source, 2);
  101|  1.95k|	return dns_name_fromwire(&name, source, dctx, target);
  102|  2.15k|}
rdata.c:towire_in_kx:
  105|    882|towire_in_kx(ARGS_TOWIRE) {
  106|    882|	dns_name_t name;
  107|    882|	isc_region_t region;
  108|       |
  109|    882|	REQUIRE(rdata->type == dns_rdatatype_kx);
  ------------------
  |  |  198|    882|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    882|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 882, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    882|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  110|    882|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    882|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    882|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 882, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    882|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  111|    882|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    882|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    882|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 882, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    882|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  112|       |
  113|    882|	dns_compress_setpermitted(cctx, false);
  114|    882|	dns_rdata_toregion(rdata, &region);
  115|    882|	RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|    882|	{                                  \
  |  |  277|    882|		isc_result_t _r = (x);     \
  |  |  278|    882|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 881]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    882|	}
  ------------------
  116|    881|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    881|	do {                              \
  |  |   52|    881|		isc_region_t *_r = (r);   \
  |  |   53|    881|		unsigned int  _l = (l);   \
  |  |   54|    881|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    881|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    881|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 881, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    881|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    881|		_r->base += _l;           \
  |  |   56|    881|		_r->length -= _l;         \
  |  |   57|    881|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 881]
  |  |  ------------------
  ------------------
  117|       |
  118|    881|	dns_name_init(&name);
  119|    881|	dns_name_fromregion(&name, &region);
  120|       |
  121|    881|	return dns_name_towire(&name, cctx, target);
  122|    882|}
rdata.c:totext_in_kx:
   51|  1.74k|totext_in_kx(ARGS_TOTEXT) {
   52|  1.74k|	isc_region_t region;
   53|  1.74k|	dns_name_t name;
   54|  1.74k|	dns_name_t prefix;
   55|  1.74k|	unsigned int opts;
   56|  1.74k|	char buf[sizeof("64000")];
   57|  1.74k|	unsigned short num;
   58|       |
   59|  1.74k|	REQUIRE(rdata->type == dns_rdatatype_kx);
  ------------------
  |  |  198|  1.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   60|  1.74k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   61|  1.74k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.74k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.74k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.74k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.74k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   62|       |
   63|  1.74k|	dns_name_init(&name);
   64|  1.74k|	dns_name_init(&prefix);
   65|       |
   66|  1.74k|	dns_rdata_toregion(rdata, &region);
   67|  1.74k|	num = uint16_fromregion(&region);
   68|  1.74k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.74k|	do {                              \
  |  |   52|  1.74k|		isc_region_t *_r = (r);   \
  |  |   53|  1.74k|		unsigned int  _l = (l);   \
  |  |   54|  1.74k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.74k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.74k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.74k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.74k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.74k|		_r->base += _l;           \
  |  |   56|  1.74k|		_r->length -= _l;         \
  |  |   57|  1.74k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.74k]
  |  |  ------------------
  ------------------
   69|  1.74k|	snprintf(buf, sizeof(buf), "%u", num);
   70|  1.74k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.74k|	{                                  \
  |  |  277|  1.74k|		isc_result_t _r = (x);     \
  |  |  278|  1.74k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.74k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.74k|	}
  ------------------
   71|       |
   72|  1.74k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.74k|	{                                  \
  |  |  277|  1.74k|		isc_result_t _r = (x);     \
  |  |  278|  1.74k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.74k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.74k|	}
  ------------------
   73|       |
   74|  1.74k|	dns_name_fromregion(&name, &region);
   75|  1.74k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (75:9): [True: 0, False: 1.74k]
  ------------------
   76|  1.74k|							 : 0;
   77|  1.74k|	return dns_name_totext(&prefix, opts, target);
   78|  1.74k|}

rdata.c:fromwire_in_nimloc:
   61|  1.18k|fromwire_in_nimloc(ARGS_FROMWIRE) {
   62|  1.18k|	isc_region_t region;
   63|       |
   64|  1.18k|	REQUIRE(type == dns_rdatatype_nimloc);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   65|  1.18k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.18k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.18k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.18k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.18k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   66|       |
   67|  1.18k|	UNUSED(type);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   68|  1.18k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   69|  1.18k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.18k|#define UNUSED(x) (void)(x)
  ------------------
   70|       |
   71|  1.18k|	isc_buffer_activeregion(source, &region);
   72|  1.18k|	if (region.length < 1) {
  ------------------
  |  Branch (72:6): [True: 2, False: 1.18k]
  ------------------
   73|      2|		return ISC_R_UNEXPECTEDEND;
   74|      2|	}
   75|       |
   76|  1.18k|	RETERR(mem_tobuffer(target, region.base, region.length));
  ------------------
  |  |  276|  1.18k|	{                                  \
  |  |  277|  1.18k|		isc_result_t _r = (x);     \
  |  |  278|  1.18k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 203, False: 979]
  |  |  ------------------
  |  |  279|    203|			return ((_r));     \
  |  |  280|    203|		}                          \
  |  |  281|  1.18k|	}
  ------------------
   77|    979|	isc_buffer_forward(source, region.length);
   78|    979|	return ISC_R_SUCCESS;
   79|  1.18k|}
rdata.c:towire_in_nimloc:
   82|    326|towire_in_nimloc(ARGS_TOWIRE) {
   83|    326|	REQUIRE(rdata->type == dns_rdatatype_nimloc);
  ------------------
  |  |  198|    326|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    326|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 326, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    326|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   84|    326|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    326|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    326|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 326, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    326|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   85|    326|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    326|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    326|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 326, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    326|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   86|       |
   87|    326|	UNUSED(cctx);
  ------------------
  |  |   69|    326|#define UNUSED(x) (void)(x)
  ------------------
   88|       |
   89|    326|	return mem_tobuffer(target, rdata->data, rdata->length);
   90|    326|}
rdata.c:totext_in_nimloc:
   36|    644|totext_in_nimloc(ARGS_TOTEXT) {
   37|    644|	isc_region_t region;
   38|       |
   39|    644|	REQUIRE(rdata->type == dns_rdatatype_nimloc);
  ------------------
  |  |  198|    644|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    644|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 644, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    644|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   40|    644|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    644|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    644|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 644, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    644|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   41|    644|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    644|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    644|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 644, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    644|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   42|       |
   43|    644|	dns_rdata_toregion(rdata, &region);
   44|       |
   45|    644|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    644|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (45:6): [True: 0, False: 644]
  ------------------
   46|      0|		RETERR(str_totext("( ", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   47|      0|	}
   48|    644|	if (tctx->width == 0) {
  ------------------
  |  Branch (48:6): [True: 0, False: 644]
  ------------------
   49|      0|		RETERR(isc_hex_totext(&region, 60, "", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   50|    644|	} else {
   51|    644|		RETERR(isc_hex_totext(&region, tctx->width - 2, tctx->linebreak,
  ------------------
  |  |  276|    644|	{                                  \
  |  |  277|    644|		isc_result_t _r = (x);     \
  |  |  278|    644|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 644]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    644|	}
  ------------------
   52|    644|				      target));
   53|    644|	}
   54|    644|	if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0) {
  ------------------
  |  |  193|    644|#define DNS_STYLEFLAG_MULTILINE 0x00000001ULL
  ------------------
  |  Branch (54:6): [True: 0, False: 644]
  ------------------
   55|      0|		RETERR(str_totext(" )", target));
  ------------------
  |  |  276|      0|	{                                  \
  |  |  277|      0|		isc_result_t _r = (x);     \
  |  |  278|      0|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|      0|	}
  ------------------
   56|      0|	}
   57|    644|	return ISC_R_SUCCESS;
   58|    644|}

rdata.c:fromwire_in_nsap_ptr:
   67|    770|fromwire_in_nsap_ptr(ARGS_FROMWIRE) {
   68|    770|	dns_name_t name;
   69|       |
   70|    770|	REQUIRE(type == dns_rdatatype_nsap_ptr);
  ------------------
  |  |  198|    770|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    770|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 770, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    770|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   71|    770|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    770|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    770|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 770, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    770|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   72|       |
   73|    770|	UNUSED(type);
  ------------------
  |  |   69|    770|#define UNUSED(x) (void)(x)
  ------------------
   74|    770|	UNUSED(rdclass);
  ------------------
  |  |   69|    770|#define UNUSED(x) (void)(x)
  ------------------
   75|       |
   76|    770|	dctx = dns_decompress_setpermitted(dctx, false);
   77|       |
   78|    770|	dns_name_init(&name);
   79|    770|	return dns_name_fromwire(&name, source, dctx, target);
   80|    770|}
rdata.c:towire_in_nsap_ptr:
   83|    388|towire_in_nsap_ptr(ARGS_TOWIRE) {
   84|    388|	dns_name_t name;
   85|    388|	isc_region_t region;
   86|       |
   87|    388|	REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
  ------------------
  |  |  198|    388|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    388|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 388, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    388|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   88|    388|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    388|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    388|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 388, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    388|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   89|    388|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    388|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    388|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 388, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    388|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   90|       |
   91|    388|	dns_compress_setpermitted(cctx, false);
   92|    388|	dns_name_init(&name);
   93|    388|	dns_rdata_toregion(rdata, &region);
   94|    388|	dns_name_fromregion(&name, &region);
   95|       |
   96|    388|	return dns_name_towire(&name, cctx, target);
   97|    388|}
rdata.c:totext_in_nsap_ptr:
   45|    763|totext_in_nsap_ptr(ARGS_TOTEXT) {
   46|    763|	isc_region_t region;
   47|    763|	dns_name_t name;
   48|    763|	dns_name_t prefix;
   49|    763|	unsigned int opts;
   50|       |
   51|    763|	REQUIRE(rdata->type == dns_rdatatype_nsap_ptr);
  ------------------
  |  |  198|    763|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    763|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 763, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    763|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   52|    763|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    763|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    763|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 763, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    763|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   53|    763|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    763|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    763|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 763, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    763|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   54|       |
   55|    763|	dns_name_init(&name);
   56|    763|	dns_name_init(&prefix);
   57|       |
   58|    763|	dns_rdata_toregion(rdata, &region);
   59|    763|	dns_name_fromregion(&name, &region);
   60|       |
   61|    763|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (61:9): [True: 0, False: 763]
  ------------------
   62|    763|							 : 0;
   63|    763|	return dns_name_totext(&prefix, opts, target);
   64|    763|}

rdata.c:fromwire_in_nsap:
   96|  1.53k|fromwire_in_nsap(ARGS_FROMWIRE) {
   97|  1.53k|	isc_region_t region;
   98|       |
   99|  1.53k|	REQUIRE(type == dns_rdatatype_nsap);
  ------------------
  |  |  198|  1.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  100|  1.53k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.53k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.53k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.53k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.53k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  101|       |
  102|  1.53k|	UNUSED(type);
  ------------------
  |  |   69|  1.53k|#define UNUSED(x) (void)(x)
  ------------------
  103|  1.53k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.53k|#define UNUSED(x) (void)(x)
  ------------------
  104|  1.53k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.53k|#define UNUSED(x) (void)(x)
  ------------------
  105|       |
  106|  1.53k|	isc_buffer_activeregion(source, &region);
  107|  1.53k|	if (region.length < 1) {
  ------------------
  |  Branch (107:6): [True: 2, False: 1.53k]
  ------------------
  108|      2|		return ISC_R_UNEXPECTEDEND;
  109|      2|	}
  110|       |
  111|  1.53k|	RETERR(mem_tobuffer(target, region.base, region.length));
  ------------------
  |  |  276|  1.53k|	{                                  \
  |  |  277|  1.53k|		isc_result_t _r = (x);     \
  |  |  278|  1.53k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 79, False: 1.45k]
  |  |  ------------------
  |  |  279|     79|			return ((_r));     \
  |  |  280|     79|		}                          \
  |  |  281|  1.53k|	}
  ------------------
  112|  1.45k|	isc_buffer_forward(source, region.length);
  113|  1.45k|	return ISC_R_SUCCESS;
  114|  1.53k|}
rdata.c:towire_in_nsap:
  117|    718|towire_in_nsap(ARGS_TOWIRE) {
  118|    718|	REQUIRE(rdata->type == dns_rdatatype_nsap);
  ------------------
  |  |  198|    718|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    718|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 718, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    718|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  119|    718|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    718|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    718|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 718, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    718|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  120|    718|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    718|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    718|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 718, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    718|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  121|       |
  122|    718|	UNUSED(cctx);
  ------------------
  |  |   69|    718|#define UNUSED(x) (void)(x)
  ------------------
  123|       |
  124|    718|	return mem_tobuffer(target, rdata->data, rdata->length);
  125|    718|}
rdata.c:totext_in_nsap:
   75|  1.41k|totext_in_nsap(ARGS_TOTEXT) {
   76|  1.41k|	isc_region_t region;
   77|  1.41k|	char buf[sizeof("xx")];
   78|       |
   79|  1.41k|	REQUIRE(rdata->type == dns_rdatatype_nsap);
  ------------------
  |  |  198|  1.41k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.41k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.41k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.41k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   80|  1.41k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.41k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.41k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.41k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.41k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   81|  1.41k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.41k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.41k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.41k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.41k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   82|       |
   83|  1.41k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.41k|#define UNUSED(x) (void)(x)
  ------------------
   84|       |
   85|  1.41k|	dns_rdata_toregion(rdata, &region);
   86|  1.41k|	RETERR(str_totext("0x", target));
  ------------------
  |  |  276|  1.41k|	{                                  \
  |  |  277|  1.41k|		isc_result_t _r = (x);     \
  |  |  278|  1.41k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.41k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.41k|	}
  ------------------
   87|  22.6k|	while (region.length != 0) {
  ------------------
  |  Branch (87:9): [True: 21.2k, False: 1.41k]
  ------------------
   88|  21.2k|		snprintf(buf, sizeof(buf), "%02x", region.base[0]);
   89|  21.2k|		isc_region_consume(&region, 1);
  ------------------
  |  |   51|  21.2k|	do {                              \
  |  |   52|  21.2k|		isc_region_t *_r = (r);   \
  |  |   53|  21.2k|		unsigned int  _l = (l);   \
  |  |   54|  21.2k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  21.2k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  21.2k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 21.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  21.2k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  21.2k|		_r->base += _l;           \
  |  |   56|  21.2k|		_r->length -= _l;         \
  |  |   57|  21.2k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 21.2k]
  |  |  ------------------
  ------------------
   90|  21.2k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  21.2k|	{                                  \
  |  |  277|  21.2k|		isc_result_t _r = (x);     \
  |  |  278|  21.2k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 21.2k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  21.2k|	}
  ------------------
   91|  21.2k|	}
   92|  1.41k|	return ISC_R_SUCCESS;
   93|  1.41k|}

rdata.c:fromwire_in_px:
  111|  1.99k|fromwire_in_px(ARGS_FROMWIRE) {
  112|  1.99k|	dns_name_t name;
  113|  1.99k|	isc_region_t sregion;
  114|       |
  115|  1.99k|	REQUIRE(type == dns_rdatatype_px);
  ------------------
  |  |  198|  1.99k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.99k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.99k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.99k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  116|  1.99k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.99k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.99k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.99k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.99k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  117|       |
  118|  1.99k|	UNUSED(type);
  ------------------
  |  |   69|  1.99k|#define UNUSED(x) (void)(x)
  ------------------
  119|  1.99k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.99k|#define UNUSED(x) (void)(x)
  ------------------
  120|       |
  121|  1.99k|	dctx = dns_decompress_setpermitted(dctx, false);
  122|       |
  123|  1.99k|	dns_name_init(&name);
  124|       |
  125|       |	/*
  126|       |	 * Preference.
  127|       |	 */
  128|  1.99k|	isc_buffer_activeregion(source, &sregion);
  129|  1.99k|	if (sregion.length < 2) {
  ------------------
  |  Branch (129:6): [True: 4, False: 1.99k]
  ------------------
  130|      4|		return ISC_R_UNEXPECTEDEND;
  131|      4|	}
  132|  1.99k|	RETERR(mem_tobuffer(target, sregion.base, 2));
  ------------------
  |  |  276|  1.99k|	{                                  \
  |  |  277|  1.99k|		isc_result_t _r = (x);     \
  |  |  278|  1.99k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 197, False: 1.79k]
  |  |  ------------------
  |  |  279|    197|			return ((_r));     \
  |  |  280|    197|		}                          \
  |  |  281|  1.99k|	}
  ------------------
  133|  1.79k|	isc_buffer_forward(source, 2);
  134|       |
  135|       |	/*
  136|       |	 * MAP822.
  137|       |	 */
  138|  1.79k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  1.79k|	{                                  \
  |  |  277|  1.79k|		isc_result_t _r = (x);     \
  |  |  278|  1.79k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 265, False: 1.52k]
  |  |  ------------------
  |  |  279|    265|			return ((_r));     \
  |  |  280|    265|		}                          \
  |  |  281|  1.79k|	}
  ------------------
  139|       |
  140|       |	/*
  141|       |	 * MAPX400.
  142|       |	 */
  143|  1.52k|	return dns_name_fromwire(&name, source, dctx, target);
  144|  1.79k|}
rdata.c:towire_in_px:
  147|    563|towire_in_px(ARGS_TOWIRE) {
  148|    563|	dns_name_t name;
  149|    563|	isc_region_t region;
  150|       |
  151|    563|	REQUIRE(rdata->type == dns_rdatatype_px);
  ------------------
  |  |  198|    563|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    563|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 563, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    563|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  152|    563|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    563|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    563|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 563, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    563|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  153|    563|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    563|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    563|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 563, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    563|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  154|       |
  155|    563|	dns_compress_setpermitted(cctx, false);
  156|       |	/*
  157|       |	 * Preference.
  158|       |	 */
  159|    563|	dns_rdata_toregion(rdata, &region);
  160|    563|	RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|    563|	{                                  \
  |  |  277|    563|		isc_result_t _r = (x);     \
  |  |  278|    563|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 562]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    563|	}
  ------------------
  161|    562|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    562|	do {                              \
  |  |   52|    562|		isc_region_t *_r = (r);   \
  |  |   53|    562|		unsigned int  _l = (l);   \
  |  |   54|    562|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    562|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    562|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 562, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    562|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    562|		_r->base += _l;           \
  |  |   56|    562|		_r->length -= _l;         \
  |  |   57|    562|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 562]
  |  |  ------------------
  ------------------
  162|       |
  163|       |	/*
  164|       |	 * MAP822.
  165|       |	 */
  166|    562|	dns_name_init(&name);
  167|    562|	dns_name_fromregion(&name, &region);
  168|    562|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|    562|	{                                  \
  |  |  277|    562|		isc_result_t _r = (x);     \
  |  |  278|    562|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 561]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|    562|	}
  ------------------
  169|    561|	isc_region_consume(&region, name_length(&name));
  ------------------
  |  |   51|    561|	do {                              \
  |  |   52|    561|		isc_region_t *_r = (r);   \
  |  |   53|    561|		unsigned int  _l = (l);   \
  |  |   54|    561|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    561|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    561|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 561, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    561|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    561|		_r->base += _l;           \
  |  |   56|    561|		_r->length -= _l;         \
  |  |   57|    561|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 561]
  |  |  ------------------
  ------------------
  170|       |
  171|       |	/*
  172|       |	 * MAPX400.
  173|       |	 */
  174|    561|	dns_name_init(&name);
  175|    561|	dns_name_fromregion(&name, &region);
  176|    561|	return dns_name_towire(&name, cctx, target);
  177|    562|}
rdata.c:totext_in_px:
   66|  1.11k|totext_in_px(ARGS_TOTEXT) {
   67|  1.11k|	isc_region_t region;
   68|  1.11k|	dns_name_t name;
   69|  1.11k|	dns_name_t prefix;
   70|  1.11k|	unsigned int opts;
   71|  1.11k|	char buf[sizeof("64000")];
   72|  1.11k|	unsigned short num;
   73|       |
   74|  1.11k|	REQUIRE(rdata->type == dns_rdatatype_px);
  ------------------
  |  |  198|  1.11k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.11k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.11k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.11k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   75|  1.11k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.11k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.11k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.11k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.11k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   76|  1.11k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.11k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.11k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.11k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.11k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   77|       |
   78|  1.11k|	dns_name_init(&name);
   79|  1.11k|	dns_name_init(&prefix);
   80|       |
   81|       |	/*
   82|       |	 * Preference.
   83|       |	 */
   84|  1.11k|	dns_rdata_toregion(rdata, &region);
   85|  1.11k|	num = uint16_fromregion(&region);
   86|  1.11k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  1.11k|	do {                              \
  |  |   52|  1.11k|		isc_region_t *_r = (r);   \
  |  |   53|  1.11k|		unsigned int  _l = (l);   \
  |  |   54|  1.11k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.11k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.11k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.11k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.11k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.11k|		_r->base += _l;           \
  |  |   56|  1.11k|		_r->length -= _l;         \
  |  |   57|  1.11k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.11k]
  |  |  ------------------
  ------------------
   87|  1.11k|	snprintf(buf, sizeof(buf), "%u", num);
   88|  1.11k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.11k|	{                                  \
  |  |  277|  1.11k|		isc_result_t _r = (x);     \
  |  |  278|  1.11k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.11k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.11k|	}
  ------------------
   89|  1.11k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.11k|	{                                  \
  |  |  277|  1.11k|		isc_result_t _r = (x);     \
  |  |  278|  1.11k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.11k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.11k|	}
  ------------------
   90|       |
   91|       |	/*
   92|       |	 * MAP822.
   93|       |	 */
   94|  1.11k|	dns_name_fromregion(&name, &region);
   95|  1.11k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (95:9): [True: 0, False: 1.11k]
  ------------------
   96|  1.11k|							 : 0;
   97|  1.11k|	isc_region_consume(&region, name_length(&name));
  ------------------
  |  |   51|  1.11k|	do {                              \
  |  |   52|  1.11k|		isc_region_t *_r = (r);   \
  |  |   53|  1.11k|		unsigned int  _l = (l);   \
  |  |   54|  1.11k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.11k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.11k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.11k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.11k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.11k|		_r->base += _l;           \
  |  |   56|  1.11k|		_r->length -= _l;         \
  |  |   57|  1.11k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.11k]
  |  |  ------------------
  ------------------
   98|  1.11k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  1.11k|	{                                  \
  |  |  277|  1.11k|		isc_result_t _r = (x);     \
  |  |  278|  1.11k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.11k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.11k|	}
  ------------------
   99|  1.11k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.11k|	{                                  \
  |  |  277|  1.11k|		isc_result_t _r = (x);     \
  |  |  278|  1.11k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.11k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.11k|	}
  ------------------
  100|       |
  101|       |	/*
  102|       |	 * MAPX400.
  103|       |	 */
  104|  1.11k|	dns_name_fromregion(&name, &region);
  105|  1.11k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (105:9): [True: 0, False: 1.11k]
  ------------------
  106|  1.11k|							 : 0;
  107|  1.11k|	return dns_name_totext(&prefix, opts, target);
  108|  1.11k|}

rdata.c:fromwire_in_srv:
  146|  1.39k|fromwire_in_srv(ARGS_FROMWIRE) {
  147|  1.39k|	dns_name_t name;
  148|  1.39k|	isc_region_t sr;
  149|       |
  150|  1.39k|	REQUIRE(type == dns_rdatatype_srv);
  ------------------
  |  |  198|  1.39k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.39k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.39k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  151|  1.39k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.39k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.39k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.39k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.39k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  152|       |
  153|  1.39k|	UNUSED(type);
  ------------------
  |  |   69|  1.39k|#define UNUSED(x) (void)(x)
  ------------------
  154|  1.39k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.39k|#define UNUSED(x) (void)(x)
  ------------------
  155|       |
  156|  1.39k|	dctx = dns_decompress_setpermitted(dctx, false);
  157|       |
  158|  1.39k|	dns_name_init(&name);
  159|       |
  160|       |	/*
  161|       |	 * Priority, weight, port.
  162|       |	 */
  163|  1.39k|	isc_buffer_activeregion(source, &sr);
  164|  1.39k|	if (sr.length < 6) {
  ------------------
  |  Branch (164:6): [True: 6, False: 1.38k]
  ------------------
  165|      6|		return ISC_R_UNEXPECTEDEND;
  166|      6|	}
  167|  1.38k|	RETERR(mem_tobuffer(target, sr.base, 6));
  ------------------
  |  |  276|  1.38k|	{                                  \
  |  |  277|  1.38k|		isc_result_t _r = (x);     \
  |  |  278|  1.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 196, False: 1.19k]
  |  |  ------------------
  |  |  279|    196|			return ((_r));     \
  |  |  280|    196|		}                          \
  |  |  281|  1.38k|	}
  ------------------
  168|  1.19k|	isc_buffer_forward(source, 6);
  169|       |
  170|       |	/*
  171|       |	 * Target.
  172|       |	 */
  173|  1.19k|	return dns_name_fromwire(&name, source, dctx, target);
  174|  1.38k|}
rdata.c:towire_in_srv:
  177|    401|towire_in_srv(ARGS_TOWIRE) {
  178|    401|	dns_name_t name;
  179|    401|	isc_region_t sr;
  180|       |
  181|    401|	REQUIRE(rdata->type == dns_rdatatype_srv);
  ------------------
  |  |  198|    401|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    401|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 401, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    401|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  182|    401|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    401|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    401|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 401, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    401|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  183|       |
  184|    401|	dns_compress_setpermitted(cctx, false);
  185|       |	/*
  186|       |	 * Priority, weight, port.
  187|       |	 */
  188|    401|	dns_rdata_toregion(rdata, &sr);
  189|    401|	RETERR(mem_tobuffer(target, sr.base, 6));
  ------------------
  |  |  276|    401|	{                                  \
  |  |  277|    401|		isc_result_t _r = (x);     \
  |  |  278|    401|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 2, False: 399]
  |  |  ------------------
  |  |  279|      2|			return ((_r));     \
  |  |  280|      2|		}                          \
  |  |  281|    401|	}
  ------------------
  190|    399|	isc_region_consume(&sr, 6);
  ------------------
  |  |   51|    399|	do {                              \
  |  |   52|    399|		isc_region_t *_r = (r);   \
  |  |   53|    399|		unsigned int  _l = (l);   \
  |  |   54|    399|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    399|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    399|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 399, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    399|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    399|		_r->base += _l;           \
  |  |   56|    399|		_r->length -= _l;         \
  |  |   57|    399|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 399]
  |  |  ------------------
  ------------------
  191|       |
  192|       |	/*
  193|       |	 * Target.
  194|       |	 */
  195|    399|	dns_name_init(&name);
  196|    399|	dns_name_fromregion(&name, &sr);
  197|    399|	return dns_name_towire(&name, cctx, target);
  198|    401|}
rdata.c:totext_in_srv:
   93|    784|totext_in_srv(ARGS_TOTEXT) {
   94|    784|	isc_region_t region;
   95|    784|	dns_name_t name;
   96|    784|	dns_name_t prefix;
   97|    784|	unsigned int opts;
   98|    784|	char buf[sizeof("64000")];
   99|    784|	unsigned short num;
  100|       |
  101|    784|	REQUIRE(rdata->type == dns_rdatatype_srv);
  ------------------
  |  |  198|    784|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    784|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 784, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    784|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  102|    784|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    784|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    784|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 784, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    784|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  103|    784|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    784|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    784|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 784, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    784|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  104|       |
  105|    784|	dns_name_init(&name);
  106|    784|	dns_name_init(&prefix);
  107|       |
  108|       |	/*
  109|       |	 * Priority.
  110|       |	 */
  111|    784|	dns_rdata_toregion(rdata, &region);
  112|    784|	num = uint16_fromregion(&region);
  113|    784|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    784|	do {                              \
  |  |   52|    784|		isc_region_t *_r = (r);   \
  |  |   53|    784|		unsigned int  _l = (l);   \
  |  |   54|    784|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    784|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    784|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 784, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    784|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    784|		_r->base += _l;           \
  |  |   56|    784|		_r->length -= _l;         \
  |  |   57|    784|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 784]
  |  |  ------------------
  ------------------
  114|    784|	snprintf(buf, sizeof(buf), "%u", num);
  115|    784|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    784|	{                                  \
  |  |  277|    784|		isc_result_t _r = (x);     \
  |  |  278|    784|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 784]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    784|	}
  ------------------
  116|    784|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    784|	{                                  \
  |  |  277|    784|		isc_result_t _r = (x);     \
  |  |  278|    784|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 784]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    784|	}
  ------------------
  117|       |
  118|       |	/*
  119|       |	 * Weight.
  120|       |	 */
  121|    784|	num = uint16_fromregion(&region);
  122|    784|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    784|	do {                              \
  |  |   52|    784|		isc_region_t *_r = (r);   \
  |  |   53|    784|		unsigned int  _l = (l);   \
  |  |   54|    784|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    784|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    784|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 784, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    784|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    784|		_r->base += _l;           \
  |  |   56|    784|		_r->length -= _l;         \
  |  |   57|    784|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 784]
  |  |  ------------------
  ------------------
  123|    784|	snprintf(buf, sizeof(buf), "%u", num);
  124|    784|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    784|	{                                  \
  |  |  277|    784|		isc_result_t _r = (x);     \
  |  |  278|    784|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 784]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    784|	}
  ------------------
  125|    784|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    784|	{                                  \
  |  |  277|    784|		isc_result_t _r = (x);     \
  |  |  278|    784|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 784]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    784|	}
  ------------------
  126|       |
  127|       |	/*
  128|       |	 * Port.
  129|       |	 */
  130|    784|	num = uint16_fromregion(&region);
  131|    784|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|    784|	do {                              \
  |  |   52|    784|		isc_region_t *_r = (r);   \
  |  |   53|    784|		unsigned int  _l = (l);   \
  |  |   54|    784|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    784|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    784|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 784, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    784|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    784|		_r->base += _l;           \
  |  |   56|    784|		_r->length -= _l;         \
  |  |   57|    784|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 784]
  |  |  ------------------
  ------------------
  132|    784|	snprintf(buf, sizeof(buf), "%u", num);
  133|    784|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    784|	{                                  \
  |  |  277|    784|		isc_result_t _r = (x);     \
  |  |  278|    784|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 784]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    784|	}
  ------------------
  134|    784|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|    784|	{                                  \
  |  |  277|    784|		isc_result_t _r = (x);     \
  |  |  278|    784|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 784]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    784|	}
  ------------------
  135|       |
  136|       |	/*
  137|       |	 * Target.
  138|       |	 */
  139|    784|	dns_name_fromregion(&name, &region);
  140|    784|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (140:9): [True: 0, False: 784]
  ------------------
  141|    784|							 : 0;
  142|    784|	return dns_name_totext(&prefix, opts, target);
  143|    784|}

rdata.c:fromwire_in_svcb:
  941|  5.22k|fromwire_in_svcb(ARGS_FROMWIRE) {
  942|  5.22k|	REQUIRE(type == dns_rdatatype_svcb);
  ------------------
  |  |  198|  5.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  943|  5.22k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  5.22k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.22k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.22k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.22k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  944|       |
  945|  5.22k|	return generic_fromwire_in_svcb(CALL_FROMWIRE);
  ------------------
  |  |   91|  5.22k|#define CALL_FROMWIRE rdclass, type, source, dctx, target
  ------------------
  946|  5.22k|}
rdata.c:generic_fromwire_in_svcb:
  804|  8.16k|generic_fromwire_in_svcb(ARGS_FROMWIRE) {
  805|  8.16k|	dns_name_t name;
  806|  8.16k|	isc_region_t region, man = { .base = NULL, .length = 0 };
  807|  8.16k|	bool first = true, have_alpn = false;
  808|  8.16k|	uint16_t lastkey = 0, mankey = 0;
  809|       |
  810|  8.16k|	UNUSED(type);
  ------------------
  |  |   69|  8.16k|#define UNUSED(x) (void)(x)
  ------------------
  811|  8.16k|	UNUSED(rdclass);
  ------------------
  |  |   69|  8.16k|#define UNUSED(x) (void)(x)
  ------------------
  812|       |
  813|  8.16k|	dctx = dns_decompress_setpermitted(dctx, false);
  814|       |
  815|  8.16k|	dns_name_init(&name);
  816|       |
  817|       |	/*
  818|       |	 * SvcPriority.
  819|       |	 */
  820|  8.16k|	isc_buffer_activeregion(source, &region);
  821|  8.16k|	if (region.length < 2) {
  ------------------
  |  Branch (821:6): [True: 7, False: 8.15k]
  ------------------
  822|      7|		return ISC_R_UNEXPECTEDEND;
  823|      7|	}
  824|  8.15k|	RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|  8.15k|	{                                  \
  |  |  277|  8.15k|		isc_result_t _r = (x);     \
  |  |  278|  8.15k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 198, False: 7.96k]
  |  |  ------------------
  |  |  279|    198|			return ((_r));     \
  |  |  280|    198|		}                          \
  |  |  281|  8.15k|	}
  ------------------
  825|  7.96k|	isc_buffer_forward(source, 2);
  826|       |
  827|       |	/*
  828|       |	 * TargetName.
  829|       |	 */
  830|  7.96k|	RETERR(dns_name_fromwire(&name, source, dctx, target));
  ------------------
  |  |  276|  7.96k|	{                                  \
  |  |  277|  7.96k|		isc_result_t _r = (x);     \
  |  |  278|  7.96k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 208, False: 7.75k]
  |  |  ------------------
  |  |  279|    208|			return ((_r));     \
  |  |  280|    208|		}                          \
  |  |  281|  7.96k|	}
  ------------------
  831|       |
  832|       |	/*
  833|       |	 * SvcParams.
  834|       |	 */
  835|  7.75k|	isc_buffer_activeregion(source, &region);
  836|  15.3k|	while (region.length > 0U) {
  ------------------
  |  Branch (836:9): [True: 8.73k, False: 6.61k]
  ------------------
  837|  8.73k|		isc_region_t keyregion;
  838|  8.73k|		uint16_t key, len;
  839|       |
  840|       |		/*
  841|       |		 * SvcParamKey
  842|       |		 */
  843|  8.73k|		if (region.length < 2U) {
  ------------------
  |  Branch (843:7): [True: 7, False: 8.73k]
  ------------------
  844|      7|			return ISC_R_UNEXPECTEDEND;
  845|      7|		}
  846|  8.73k|		RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|  8.73k|	{                                  \
  |  |  277|  8.73k|		isc_result_t _r = (x);     \
  |  |  278|  8.73k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 210, False: 8.52k]
  |  |  ------------------
  |  |  279|    210|			return ((_r));     \
  |  |  280|    210|		}                          \
  |  |  281|  8.73k|	}
  ------------------
  847|  8.52k|		key = uint16_fromregion(&region);
  848|  8.52k|		isc_region_consume(&region, 2);
  ------------------
  |  |   51|  8.52k|	do {                              \
  |  |   52|  8.52k|		isc_region_t *_r = (r);   \
  |  |   53|  8.52k|		unsigned int  _l = (l);   \
  |  |   54|  8.52k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  8.52k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  8.52k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 8.52k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  8.52k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  8.52k|		_r->base += _l;           \
  |  |   56|  8.52k|		_r->length -= _l;         \
  |  |   57|  8.52k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 8.52k]
  |  |  ------------------
  ------------------
  849|       |
  850|       |		/*
  851|       |		 * Keys must be unique and in order.
  852|       |		 */
  853|  8.52k|		if (!first && key <= lastkey) {
  ------------------
  |  Branch (853:7): [True: 2.36k, False: 6.15k]
  |  Branch (853:17): [True: 18, False: 2.34k]
  ------------------
  854|     18|			return DNS_R_FORMERR;
  855|     18|		}
  856|       |
  857|       |		/*
  858|       |		 * Check mandatory keys.
  859|       |		 */
  860|  8.50k|		if (mankey != 0) {
  ------------------
  |  Branch (860:7): [True: 1.28k, False: 7.22k]
  ------------------
  861|       |			/* Missing mandatory key? */
  862|  1.28k|			if (key > mankey) {
  ------------------
  |  Branch (862:8): [True: 13, False: 1.26k]
  ------------------
  863|     13|				return DNS_R_FORMERR;
  864|     13|			}
  865|  1.26k|			if (key == mankey) {
  ------------------
  |  Branch (865:8): [True: 1.24k, False: 29]
  ------------------
  866|       |				/* Get next mandatory key. */
  867|  1.24k|				if (man.length >= 2) {
  ------------------
  |  Branch (867:9): [True: 514, False: 726]
  ------------------
  868|    514|					mankey = uint16_fromregion(&man);
  869|    514|					isc_region_consume(&man, 2);
  ------------------
  |  |   51|    514|	do {                              \
  |  |   52|    514|		isc_region_t *_r = (r);   \
  |  |   53|    514|		unsigned int  _l = (l);   \
  |  |   54|    514|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    514|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    514|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 514, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    514|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    514|		_r->base += _l;           \
  |  |   56|    514|		_r->length -= _l;         \
  |  |   57|    514|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 514]
  |  |  ------------------
  ------------------
  870|    726|				} else {
  871|    726|					mankey = 0;
  872|    726|				}
  873|  1.24k|			}
  874|  1.26k|		}
  875|       |
  876|       |		/*
  877|       |		 * Check alpn present when no-default-alpn is set.
  878|       |		 */
  879|  8.49k|		if (key == SVCB_ALPN_KEY) {
  ------------------
  |  |   22|  8.49k|#define SVCB_ALPN_KEY		 1
  ------------------
  |  Branch (879:7): [True: 1.92k, False: 6.56k]
  ------------------
  880|  1.92k|			have_alpn = true;
  881|  6.56k|		} else if (key == SVCB_NO_DEFAULT_ALPN_KEY && !have_alpn) {
  ------------------
  |  |   23|  13.1k|#define SVCB_NO_DEFAULT_ALPN_KEY 2
  ------------------
  |  Branch (881:14): [True: 292, False: 6.27k]
  |  Branch (881:49): [True: 2, False: 290]
  ------------------
  882|      2|			return DNS_R_FORMERR;
  883|      2|		}
  884|       |
  885|  8.48k|		first = false;
  886|  8.48k|		lastkey = key;
  887|       |
  888|       |		/*
  889|       |		 * SvcParamValue length.
  890|       |		 */
  891|  8.48k|		if (region.length < 2U) {
  ------------------
  |  Branch (891:7): [True: 42, False: 8.44k]
  ------------------
  892|     42|			return ISC_R_UNEXPECTEDEND;
  893|     42|		}
  894|  8.44k|		RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|  8.44k|	{                                  \
  |  |  277|  8.44k|		isc_result_t _r = (x);     \
  |  |  278|  8.44k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 330, False: 8.11k]
  |  |  ------------------
  |  |  279|    330|			return ((_r));     \
  |  |  280|    330|		}                          \
  |  |  281|  8.44k|	}
  ------------------
  895|  8.11k|		len = uint16_fromregion(&region);
  896|  8.11k|		isc_region_consume(&region, 2);
  ------------------
  |  |   51|  8.11k|	do {                              \
  |  |   52|  8.11k|		isc_region_t *_r = (r);   \
  |  |   53|  8.11k|		unsigned int  _l = (l);   \
  |  |   54|  8.11k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  8.11k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  8.11k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 8.11k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  8.11k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  8.11k|		_r->base += _l;           \
  |  |   56|  8.11k|		_r->length -= _l;         \
  |  |   57|  8.11k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 8.11k]
  |  |  ------------------
  ------------------
  897|       |
  898|       |		/*
  899|       |		 * SvcParamValue.
  900|       |		 */
  901|  8.11k|		if (region.length < len) {
  ------------------
  |  Branch (901:7): [True: 44, False: 8.07k]
  ------------------
  902|     44|			return ISC_R_UNEXPECTEDEND;
  903|     44|		}
  904|       |
  905|       |		/*
  906|       |		 * Remember manatory key.
  907|       |		 */
  908|  8.07k|		if (key == SVCB_MAN_KEY) {
  ------------------
  |  |   21|  8.07k|#define SVCB_MAN_KEY		 0
  ------------------
  |  Branch (908:7): [True: 808, False: 7.26k]
  ------------------
  909|    808|			man = region;
  910|    808|			man.length = len;
  911|       |			/* Get first mandatory key */
  912|    808|			if (man.length >= 2) {
  ------------------
  |  Branch (912:8): [True: 805, False: 3]
  ------------------
  913|    805|				mankey = uint16_fromregion(&man);
  914|    805|				isc_region_consume(&man, 2);
  ------------------
  |  |   51|    805|	do {                              \
  |  |   52|    805|		isc_region_t *_r = (r);   \
  |  |   53|    805|		unsigned int  _l = (l);   \
  |  |   54|    805|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    805|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    805|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 805, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    805|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    805|		_r->base += _l;           \
  |  |   56|    805|		_r->length -= _l;         \
  |  |   57|    805|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 805]
  |  |  ------------------
  ------------------
  915|    805|				if (mankey == SVCB_MAN_KEY) {
  ------------------
  |  |   21|    805|#define SVCB_MAN_KEY		 0
  ------------------
  |  Branch (915:9): [True: 2, False: 803]
  ------------------
  916|      2|					return DNS_R_FORMERR;
  917|      2|				}
  918|    805|			} else {
  919|      3|				return DNS_R_FORMERR;
  920|      3|			}
  921|    808|		}
  922|  8.06k|		keyregion = region;
  923|  8.06k|		keyregion.length = len;
  924|  8.06k|		RETERR(svcb_validate(key, &keyregion));
  ------------------
  |  |  276|  8.06k|	{                                  \
  |  |  277|  8.06k|		isc_result_t _r = (x);     \
  |  |  278|  8.06k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 176, False: 7.89k]
  |  |  ------------------
  |  |  279|    176|			return ((_r));     \
  |  |  280|    176|		}                          \
  |  |  281|  8.06k|	}
  ------------------
  925|  7.89k|		RETERR(mem_tobuffer(target, region.base, len));
  ------------------
  |  |  276|  7.89k|	{                                  \
  |  |  277|  7.89k|		isc_result_t _r = (x);     \
  |  |  278|  7.89k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 293, False: 7.59k]
  |  |  ------------------
  |  |  279|    293|			return ((_r));     \
  |  |  280|    293|		}                          \
  |  |  281|  7.89k|	}
  ------------------
  926|  7.59k|		isc_region_consume(&region, len);
  ------------------
  |  |   51|  7.59k|	do {                              \
  |  |   52|  7.59k|		isc_region_t *_r = (r);   \
  |  |   53|  7.59k|		unsigned int  _l = (l);   \
  |  |   54|  7.59k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  7.59k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  7.59k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 7.59k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  7.59k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  7.59k|		_r->base += _l;           \
  |  |   56|  7.59k|		_r->length -= _l;         \
  |  |   57|  7.59k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 7.59k]
  |  |  ------------------
  ------------------
  927|  7.59k|		isc_buffer_forward(source, len + 4);
  928|  7.59k|	}
  929|       |
  930|       |	/*
  931|       |	 * Do we have an outstanding mandatory key?
  932|       |	 */
  933|  6.61k|	if (mankey != 0) {
  ------------------
  |  Branch (933:6): [True: 27, False: 6.58k]
  ------------------
  934|     27|		return DNS_R_FORMERR;
  935|     27|	}
  936|       |
  937|  6.58k|	return ISC_R_SUCCESS;
  938|  6.61k|}
rdata.c:svcb_validate:
   96|  8.06k|svcb_validate(uint16_t key, isc_region_t *region) {
   97|  8.06k|	size_t i;
   98|       |
   99|  72.1k|	for (i = 0; i < ARRAY_SIZE(sbpr); i++) {
  ------------------
  |  |   98|  72.1k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (99:14): [True: 64.2k, False: 7.89k]
  ------------------
  100|  64.2k|		if (sbpr[i].value == key) {
  ------------------
  |  Branch (100:7): [True: 5.68k, False: 58.6k]
  ------------------
  101|  5.68k|			switch (sbpr[i].encoding) {
  ------------------
  |  Branch (101:12): [True: 5.68k, False: 0]
  ------------------
  102|    271|			case sbpr_port:
  ------------------
  |  Branch (102:4): [True: 271, False: 5.41k]
  ------------------
  103|    271|				if (region->length != 2) {
  ------------------
  |  Branch (103:9): [True: 3, False: 268]
  ------------------
  104|      3|					return DNS_R_FORMERR;
  105|      3|				}
  106|    268|				break;
  107|    268|			case sbpr_ipv4s:
  ------------------
  |  Branch (107:4): [True: 248, False: 5.43k]
  ------------------
  108|    248|				if ((region->length % 4) != 0 ||
  ------------------
  |  Branch (108:9): [True: 1, False: 247]
  ------------------
  109|    247|				    region->length == 0)
  ------------------
  |  Branch (109:9): [True: 2, False: 245]
  ------------------
  110|      3|				{
  111|      3|					return DNS_R_FORMERR;
  112|      3|				}
  113|    245|				break;
  114|    249|			case sbpr_ipv6s:
  ------------------
  |  Branch (114:4): [True: 249, False: 5.43k]
  ------------------
  115|    249|				if ((region->length % 16) != 0 ||
  ------------------
  |  Branch (115:9): [True: 3, False: 246]
  ------------------
  116|    246|				    region->length == 0)
  ------------------
  |  Branch (116:9): [True: 3, False: 243]
  ------------------
  117|      6|				{
  118|      6|					return DNS_R_FORMERR;
  119|      6|				}
  120|    243|				break;
  121|  1.61k|			case sbpr_alpn: {
  ------------------
  |  Branch (121:4): [True: 1.61k, False: 4.07k]
  ------------------
  122|  1.61k|				if (region->length == 0) {
  ------------------
  |  Branch (122:9): [True: 1, False: 1.61k]
  ------------------
  123|      1|					return DNS_R_FORMERR;
  124|      1|				}
  125|  3.70k|				while (region->length != 0) {
  ------------------
  |  Branch (125:12): [True: 2.09k, False: 1.60k]
  ------------------
  126|  2.09k|					size_t l = *region->base + 1;
  127|  2.09k|					if (l == 1U || l > region->length) {
  ------------------
  |  Branch (127:10): [True: 6, False: 2.09k]
  |  Branch (127:21): [True: 3, False: 2.08k]
  ------------------
  128|      9|						return DNS_R_FORMERR;
  129|      9|					}
  130|  2.08k|					isc_region_consume(region, l);
  ------------------
  |  |   51|  2.08k|	do {                              \
  |  |   52|  2.08k|		isc_region_t *_r = (r);   \
  |  |   53|  2.08k|		unsigned int  _l = (l);   \
  |  |   54|  2.08k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.08k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.08k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.08k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.08k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.08k|		_r->base += _l;           \
  |  |   56|  2.08k|		_r->length -= _l;         \
  |  |   57|  2.08k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.08k]
  |  |  ------------------
  ------------------
  131|  2.08k|				}
  132|  1.60k|				break;
  133|  1.61k|			}
  134|  1.60k|			case sbpr_keylist: {
  ------------------
  |  Branch (134:4): [True: 803, False: 4.88k]
  ------------------
  135|    803|				if ((region->length % 2) != 0 ||
  ------------------
  |  Branch (135:9): [True: 2, False: 801]
  ------------------
  136|    801|				    region->length == 0)
  ------------------
  |  Branch (136:9): [True: 0, False: 801]
  ------------------
  137|      2|				{
  138|      2|					return DNS_R_FORMERR;
  139|      2|				}
  140|       |				/* In order? */
  141|  1.37k|				while (region->length >= 4) {
  ------------------
  |  Branch (141:12): [True: 593, False: 782]
  ------------------
  142|    593|					if (region->base[0] > region->base[2] ||
  ------------------
  |  Branch (142:10): [True: 12, False: 581]
  ------------------
  143|    581|					    (region->base[0] ==
  ------------------
  |  Branch (143:11): [True: 30, False: 551]
  ------------------
  144|    581|						     region->base[2] &&
  145|     30|					     region->base[1] >=
  ------------------
  |  Branch (145:11): [True: 7, False: 23]
  ------------------
  146|     30|						     region->base[3]))
  147|     19|					{
  148|     19|						return DNS_R_FORMERR;
  149|     19|					}
  150|    574|					isc_region_consume(region, 2);
  ------------------
  |  |   51|    574|	do {                              \
  |  |   52|    574|		isc_region_t *_r = (r);   \
  |  |   53|    574|		unsigned int  _l = (l);   \
  |  |   54|    574|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    574|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    574|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 574, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    574|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    574|		_r->base += _l;           \
  |  |   56|    574|		_r->length -= _l;         \
  |  |   57|    574|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 574]
  |  |  ------------------
  ------------------
  151|    574|				}
  152|    782|				break;
  153|    801|			}
  154|    782|			case sbpr_text:
  ------------------
  |  Branch (154:4): [True: 0, False: 5.68k]
  ------------------
  155|    128|			case sbpr_base64:
  ------------------
  |  Branch (155:4): [True: 128, False: 5.55k]
  ------------------
  156|    128|				break;
  157|  2.08k|			case sbpr_dohpath:
  ------------------
  |  Branch (157:4): [True: 2.08k, False: 3.60k]
  ------------------
  158|  2.08k|				if (!validate_dohpath(region)) {
  ------------------
  |  Branch (158:9): [True: 132, False: 1.95k]
  ------------------
  159|    132|					return DNS_R_FORMERR;
  160|    132|				}
  161|  1.95k|				break;
  162|  1.95k|			case sbpr_empty:
  ------------------
  |  Branch (162:4): [True: 289, False: 5.39k]
  ------------------
  163|    289|				if (region->length != 0) {
  ------------------
  |  Branch (163:9): [True: 1, False: 288]
  ------------------
  164|      1|					return DNS_R_FORMERR;
  165|      1|				}
  166|    288|				break;
  167|  5.68k|			}
  168|  5.68k|		}
  169|  64.2k|	}
  170|  7.89k|	return ISC_R_SUCCESS;
  171|  8.06k|}
rdata.c:towire_in_svcb:
  979|  1.49k|towire_in_svcb(ARGS_TOWIRE) {
  980|  1.49k|	REQUIRE(rdata->type == dns_rdatatype_svcb);
  ------------------
  |  |  198|  1.49k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.49k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.49k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.49k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  981|  1.49k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  1.49k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.49k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.49k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.49k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  982|       |
  983|  1.49k|	return generic_towire_in_svcb(CALL_TOWIRE);
  ------------------
  |  |   96|  1.49k|#define CALL_TOWIRE rdata, cctx, target
  ------------------
  984|  1.49k|}
rdata.c:generic_towire_in_svcb:
  949|  2.72k|generic_towire_in_svcb(ARGS_TOWIRE) {
  950|  2.72k|	dns_name_t name;
  951|  2.72k|	isc_region_t region;
  952|       |
  953|  2.72k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.72k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.72k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.72k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.72k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  954|       |
  955|  2.72k|	dns_compress_setpermitted(cctx, false);
  956|       |
  957|       |	/*
  958|       |	 * SvcPriority.
  959|       |	 */
  960|  2.72k|	dns_rdata_toregion(rdata, &region);
  961|  2.72k|	RETERR(mem_tobuffer(target, region.base, 2));
  ------------------
  |  |  276|  2.72k|	{                                  \
  |  |  277|  2.72k|		isc_result_t _r = (x);     \
  |  |  278|  2.72k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 2.72k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  2.72k|	}
  ------------------
  962|  2.72k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  2.72k|	do {                              \
  |  |   52|  2.72k|		isc_region_t *_r = (r);   \
  |  |   53|  2.72k|		unsigned int  _l = (l);   \
  |  |   54|  2.72k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.72k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.72k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.72k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.72k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.72k|		_r->base += _l;           \
  |  |   56|  2.72k|		_r->length -= _l;         \
  |  |   57|  2.72k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.72k]
  |  |  ------------------
  ------------------
  963|       |
  964|       |	/*
  965|       |	 * TargetName.
  966|       |	 */
  967|  2.72k|	dns_name_init(&name);
  968|  2.72k|	dns_name_fromregion(&name, &region);
  969|  2.72k|	RETERR(dns_name_towire(&name, cctx, target));
  ------------------
  |  |  276|  2.72k|	{                                  \
  |  |  277|  2.72k|		isc_result_t _r = (x);     \
  |  |  278|  2.72k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 2.72k]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  2.72k|	}
  ------------------
  970|  2.72k|	isc_region_consume(&region, name_length(&name));
  ------------------
  |  |   51|  2.72k|	do {                              \
  |  |   52|  2.72k|		isc_region_t *_r = (r);   \
  |  |   53|  2.72k|		unsigned int  _l = (l);   \
  |  |   54|  2.72k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.72k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.72k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.72k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.72k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.72k|		_r->base += _l;           \
  |  |   56|  2.72k|		_r->length -= _l;         \
  |  |   57|  2.72k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.72k]
  |  |  ------------------
  ------------------
  971|       |
  972|       |	/*
  973|       |	 * SvcParams.
  974|       |	 */
  975|  2.72k|	return mem_tobuffer(target, region.base, region.length);
  976|  2.72k|}
rdata.c:totext_in_svcb:
  795|  2.95k|totext_in_svcb(ARGS_TOTEXT) {
  796|  2.95k|	REQUIRE(rdata->type == dns_rdatatype_svcb);
  ------------------
  |  |  198|  2.95k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.95k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.95k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.95k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  797|  2.95k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  2.95k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.95k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.95k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.95k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  798|  2.95k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  2.95k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.95k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.95k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.95k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  799|       |
  800|  2.95k|	return generic_totext_in_svcb(CALL_TOTEXT);
  ------------------
  |  |   85|  2.95k|#define CALL_TOTEXT rdata, tctx, target
  ------------------
  801|  2.95k|}
rdata.c:generic_totext_in_svcb:
  660|  5.38k|generic_totext_in_svcb(ARGS_TOTEXT) {
  661|  5.38k|	isc_region_t region;
  662|  5.38k|	dns_name_t name;
  663|  5.38k|	dns_name_t prefix;
  664|  5.38k|	unsigned int opts;
  665|  5.38k|	char buf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255")];
  666|  5.38k|	unsigned short num;
  667|  5.38k|	int n;
  668|  5.38k|	bool compat = (tctx->flags & DNS_STYLEFLAG_SVCPARAMKEYCOMPAT) != 0;
  ------------------
  |  |  209|  5.38k|#define DNS_STYLEFLAG_SVCPARAMKEYCOMPAT 0x00000040ULL
  ------------------
  669|       |
  670|  5.38k|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|  5.38k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.38k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  671|       |
  672|  5.38k|	dns_name_init(&name);
  673|  5.38k|	dns_name_init(&prefix);
  674|       |
  675|  5.38k|	dns_rdata_toregion(rdata, &region);
  676|       |
  677|       |	/*
  678|       |	 * SvcPriority.
  679|       |	 */
  680|  5.38k|	num = uint16_fromregion(&region);
  681|  5.38k|	isc_region_consume(&region, 2);
  ------------------
  |  |   51|  5.38k|	do {                              \
  |  |   52|  5.38k|		isc_region_t *_r = (r);   \
  |  |   53|  5.38k|		unsigned int  _l = (l);   \
  |  |   54|  5.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  5.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  5.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 5.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  5.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  5.38k|		_r->base += _l;           \
  |  |   56|  5.38k|		_r->length -= _l;         \
  |  |   57|  5.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 5.38k]
  |  |  ------------------
  ------------------
  682|  5.38k|	n = snprintf(buf, sizeof(buf), "%u ", num);
  683|  5.38k|	INSIST(n > 0 && (unsigned int)n < sizeof(buf));
  ------------------
  |  |  202|  5.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  10.7k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 5.38k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 5.38k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  5.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  684|  5.38k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  5.38k|	{                                  \
  |  |  277|  5.38k|		isc_result_t _r = (x);     \
  |  |  278|  5.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 5.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  5.38k|	}
  ------------------
  685|       |
  686|       |	/*
  687|       |	 * TargetName.
  688|       |	 */
  689|  5.38k|	dns_name_fromregion(&name, &region);
  690|  5.38k|	isc_region_consume(&region, name_length(&name));
  ------------------
  |  |   51|  5.38k|	do {                              \
  |  |   52|  5.38k|		isc_region_t *_r = (r);   \
  |  |   53|  5.38k|		unsigned int  _l = (l);   \
  |  |   54|  5.38k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  5.38k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  5.38k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 5.38k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  5.38k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  5.38k|		_r->base += _l;           \
  |  |   56|  5.38k|		_r->length -= _l;         \
  |  |   57|  5.38k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 5.38k]
  |  |  ------------------
  ------------------
  691|  5.38k|	opts = name_prefix(&name, tctx->origin, &prefix) ? DNS_NAME_OMITFINALDOT
  ------------------
  |  |  897|      0|#define DNS_NAME_OMITFINALDOT 0x01U
  ------------------
  |  Branch (691:9): [True: 0, False: 5.38k]
  ------------------
  692|  5.38k|							 : 0;
  693|  5.38k|	RETERR(dns_name_totext(&prefix, opts, target));
  ------------------
  |  |  276|  5.38k|	{                                  \
  |  |  277|  5.38k|		isc_result_t _r = (x);     \
  |  |  278|  5.38k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 5.38k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  5.38k|	}
  ------------------
  694|       |
  695|  11.6k|	while (region.length > 0) {
  ------------------
  |  Branch (695:9): [True: 6.28k, False: 5.38k]
  ------------------
  696|  6.28k|		isc_region_t r;
  697|  6.28k|		enum encoding encoding;
  698|       |
  699|  6.28k|		RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  6.28k|	{                                  \
  |  |  277|  6.28k|		isc_result_t _r = (x);     \
  |  |  278|  6.28k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.28k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.28k|	}
  ------------------
  700|       |
  701|  6.28k|		INSIST(region.length >= 2);
  ------------------
  |  |  202|  6.28k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.28k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 6.28k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  6.28k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  702|  6.28k|		num = uint16_fromregion(&region);
  703|  6.28k|		isc_region_consume(&region, 2);
  ------------------
  |  |   51|  6.28k|	do {                              \
  |  |   52|  6.28k|		isc_region_t *_r = (r);   \
  |  |   53|  6.28k|		unsigned int  _l = (l);   \
  |  |   54|  6.28k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.28k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.28k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.28k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.28k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.28k|		_r->base += _l;           \
  |  |   56|  6.28k|		_r->length -= _l;         \
  |  |   57|  6.28k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.28k]
  |  |  ------------------
  ------------------
  704|  6.28k|		RETERR(str_totext(
  ------------------
  |  |  276|  6.28k|	{                                  \
  |  |  277|  6.28k|		isc_result_t _r = (x);     \
  |  |  278|  6.28k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 6.28k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  6.28k|	}
  ------------------
  705|  6.28k|			svcparamkey(num, &encoding, buf, sizeof(buf), compat),
  706|  6.28k|			target));
  707|       |
  708|  6.28k|		INSIST(region.length >= 2);
  ------------------
  |  |  202|  6.28k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.28k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 6.28k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  6.28k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  709|  6.28k|		num = uint16_fromregion(&region);
  710|  6.28k|		isc_region_consume(&region, 2);
  ------------------
  |  |   51|  6.28k|	do {                              \
  |  |   52|  6.28k|		isc_region_t *_r = (r);   \
  |  |   53|  6.28k|		unsigned int  _l = (l);   \
  |  |   54|  6.28k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.28k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.28k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.28k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.28k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.28k|		_r->base += _l;           \
  |  |   56|  6.28k|		_r->length -= _l;         \
  |  |   57|  6.28k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.28k]
  |  |  ------------------
  ------------------
  711|       |
  712|  6.28k|		INSIST(region.length >= num);
  ------------------
  |  |  202|  6.28k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.28k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 6.28k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  6.28k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  713|  6.28k|		r = region;
  714|  6.28k|		r.length = num;
  715|  6.28k|		isc_region_consume(&region, num);
  ------------------
  |  |   51|  6.28k|	do {                              \
  |  |   52|  6.28k|		isc_region_t *_r = (r);   \
  |  |   53|  6.28k|		unsigned int  _l = (l);   \
  |  |   54|  6.28k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  6.28k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  6.28k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 6.28k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  6.28k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  6.28k|		_r->base += _l;           \
  |  |   56|  6.28k|		_r->length -= _l;         \
  |  |   57|  6.28k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 6.28k]
  |  |  ------------------
  ------------------
  716|  6.28k|		if (num == 0) {
  ------------------
  |  Branch (716:7): [True: 1.25k, False: 5.03k]
  ------------------
  717|  1.25k|			continue;
  718|  1.25k|		}
  719|  5.03k|		if (encoding != sbpr_empty) {
  ------------------
  |  Branch (719:7): [True: 5.03k, False: 0]
  ------------------
  720|  5.03k|			RETERR(str_totext("=", target));
  ------------------
  |  |  276|  5.03k|	{                                  \
  |  |  277|  5.03k|		isc_result_t _r = (x);     \
  |  |  278|  5.03k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 5.03k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  5.03k|	}
  ------------------
  721|  5.03k|		}
  722|  5.03k|		switch (encoding) {
  723|  1.19k|		case sbpr_text:
  ------------------
  |  Branch (723:3): [True: 1.19k, False: 3.83k]
  ------------------
  724|  3.10k|		case sbpr_dohpath:
  ------------------
  |  Branch (724:3): [True: 1.90k, False: 3.12k]
  ------------------
  725|  3.10k|			RETERR(multitxt_totext(&r, target));
  ------------------
  |  |  276|  3.10k|	{                                  \
  |  |  277|  3.10k|		isc_result_t _r = (x);     \
  |  |  278|  3.10k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 3.10k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  3.10k|	}
  ------------------
  726|  3.10k|			break;
  727|    263|		case sbpr_port:
  ------------------
  |  Branch (727:3): [True: 263, False: 4.77k]
  ------------------
  728|    263|			num = uint16_fromregion(&r);
  729|    263|			isc_region_consume(&r, 2);
  ------------------
  |  |   51|    263|	do {                              \
  |  |   52|    263|		isc_region_t *_r = (r);   \
  |  |   53|    263|		unsigned int  _l = (l);   \
  |  |   54|    263|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    263|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    263|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 263, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    263|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    263|		_r->base += _l;           \
  |  |   56|    263|		_r->length -= _l;         \
  |  |   57|    263|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 263]
  |  |  ------------------
  ------------------
  730|    263|			n = snprintf(buf, sizeof(buf), "%u", num);
  731|    263|			INSIST(n > 0 && (unsigned int)n < sizeof(buf));
  ------------------
  |  |  202|    263|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    526|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 263, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 263, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    263|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  732|    263|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    263|	{                                  \
  |  |  277|    263|		isc_result_t _r = (x);     \
  |  |  278|    263|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 263]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    263|	}
  ------------------
  733|    263|			INSIST(r.length == 0U);
  ------------------
  |  |  202|    263|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    263|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 263, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    263|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  734|    263|			break;
  735|    231|		case sbpr_ipv4s:
  ------------------
  |  Branch (735:3): [True: 231, False: 4.80k]
  ------------------
  736|  1.02k|			while (r.length > 0U) {
  ------------------
  |  Branch (736:11): [True: 796, False: 231]
  ------------------
  737|    796|				INSIST(r.length >= 4U);
  ------------------
  |  |  202|    796|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    796|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 796, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    796|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  738|    796|				inet_ntop(AF_INET, r.base, buf, sizeof(buf));
  739|    796|				RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    796|	{                                  \
  |  |  277|    796|		isc_result_t _r = (x);     \
  |  |  278|    796|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 796]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    796|	}
  ------------------
  740|    796|				isc_region_consume(&r, 4);
  ------------------
  |  |   51|    796|	do {                              \
  |  |   52|    796|		isc_region_t *_r = (r);   \
  |  |   53|    796|		unsigned int  _l = (l);   \
  |  |   54|    796|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    796|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    796|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 796, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    796|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    796|		_r->base += _l;           \
  |  |   56|    796|		_r->length -= _l;         \
  |  |   57|    796|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 796]
  |  |  ------------------
  ------------------
  741|    796|				if (r.length != 0U) {
  ------------------
  |  Branch (741:9): [True: 565, False: 231]
  ------------------
  742|    565|					RETERR(str_totext(",", target));
  ------------------
  |  |  276|    565|	{                                  \
  |  |  277|    565|		isc_result_t _r = (x);     \
  |  |  278|    565|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 565]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    565|	}
  ------------------
  743|    565|				}
  744|    796|			}
  745|    231|			break;
  746|    236|		case sbpr_ipv6s:
  ------------------
  |  Branch (746:3): [True: 236, False: 4.79k]
  ------------------
  747|    870|			while (r.length > 0U) {
  ------------------
  |  Branch (747:11): [True: 634, False: 236]
  ------------------
  748|    634|				INSIST(r.length >= 16U);
  ------------------
  |  |  202|    634|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    634|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 634, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    634|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  749|    634|				inet_ntop(AF_INET6, r.base, buf, sizeof(buf));
  750|    634|				RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    634|	{                                  \
  |  |  277|    634|		isc_result_t _r = (x);     \
  |  |  278|    634|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 634]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    634|	}
  ------------------
  751|    634|				isc_region_consume(&r, 16);
  ------------------
  |  |   51|    634|	do {                              \
  |  |   52|    634|		isc_region_t *_r = (r);   \
  |  |   53|    634|		unsigned int  _l = (l);   \
  |  |   54|    634|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|    634|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|    634|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 634, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|    634|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|    634|		_r->base += _l;           \
  |  |   56|    634|		_r->length -= _l;         \
  |  |   57|    634|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 634]
  |  |  ------------------
  ------------------
  752|    634|				if (r.length != 0U) {
  ------------------
  |  Branch (752:9): [True: 398, False: 236]
  ------------------
  753|    398|					RETERR(str_totext(",", target));
  ------------------
  |  |  276|    398|	{                                  \
  |  |  277|    398|		isc_result_t _r = (x);     \
  |  |  278|    398|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 398]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    398|	}
  ------------------
  754|    398|				}
  755|    634|			}
  756|    236|			break;
  757|    236|		case sbpr_base64:
  ------------------
  |  Branch (757:3): [True: 84, False: 4.95k]
  ------------------
  758|     84|			RETERR(isc_base64_totext(&r, 0, "", target));
  ------------------
  |  |  276|     84|	{                                  \
  |  |  277|     84|		isc_result_t _r = (x);     \
  |  |  278|     84|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 84]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|     84|	}
  ------------------
  759|     84|			break;
  760|    412|		case sbpr_alpn:
  ------------------
  |  Branch (760:3): [True: 412, False: 4.62k]
  ------------------
  761|    412|			INSIST(r.length != 0U);
  ------------------
  |  |  202|    412|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|    412|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 412, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|    412|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  762|    412|			RETERR(str_totext("\"", target));
  ------------------
  |  |  276|    412|	{                                  \
  |  |  277|    412|		isc_result_t _r = (x);     \
  |  |  278|    412|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 412]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    412|	}
  ------------------
  763|  1.23k|			while (r.length != 0) {
  ------------------
  |  Branch (763:11): [True: 823, False: 412]
  ------------------
  764|    823|				commatxt_totext(&r, false, true, target);
  765|    823|				if (r.length != 0) {
  ------------------
  |  Branch (765:9): [True: 411, False: 412]
  ------------------
  766|    411|					RETERR(str_totext(",", target));
  ------------------
  |  |  276|    411|	{                                  \
  |  |  277|    411|		isc_result_t _r = (x);     \
  |  |  278|    411|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 411]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    411|	}
  ------------------
  767|    411|				}
  768|    823|			}
  769|    412|			RETERR(str_totext("\"", target));
  ------------------
  |  |  276|    412|	{                                  \
  |  |  277|    412|		isc_result_t _r = (x);     \
  |  |  278|    412|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 412]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    412|	}
  ------------------
  770|    412|			break;
  771|      0|		case sbpr_empty:
  ------------------
  |  Branch (771:3): [True: 0, False: 5.03k]
  ------------------
  772|      0|			INSIST(r.length == 0U);
  ------------------
  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  773|      0|			break;
  774|    705|		case sbpr_keylist:
  ------------------
  |  Branch (774:3): [True: 705, False: 4.32k]
  ------------------
  775|  1.90k|			while (r.length > 0) {
  ------------------
  |  Branch (775:11): [True: 1.20k, False: 705]
  ------------------
  776|  1.20k|				num = uint16_fromregion(&r);
  777|  1.20k|				isc_region_consume(&r, 2);
  ------------------
  |  |   51|  1.20k|	do {                              \
  |  |   52|  1.20k|		isc_region_t *_r = (r);   \
  |  |   53|  1.20k|		unsigned int  _l = (l);   \
  |  |   54|  1.20k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.20k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.20k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.20k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.20k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.20k|		_r->base += _l;           \
  |  |   56|  1.20k|		_r->length -= _l;         \
  |  |   57|  1.20k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.20k]
  |  |  ------------------
  ------------------
  778|  1.20k|				RETERR(str_totext(svcparamkey(num, &encoding,
  ------------------
  |  |  276|  1.20k|	{                                  \
  |  |  277|  1.20k|		isc_result_t _r = (x);     \
  |  |  278|  1.20k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.20k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.20k|	}
  ------------------
  779|  1.20k|							      buf, sizeof(buf),
  780|  1.20k|							      compat),
  781|  1.20k|						  target));
  782|  1.20k|				if (r.length != 0) {
  ------------------
  |  Branch (782:9): [True: 495, False: 705]
  ------------------
  783|    495|					RETERR(str_totext(",", target));
  ------------------
  |  |  276|    495|	{                                  \
  |  |  277|    495|		isc_result_t _r = (x);     \
  |  |  278|    495|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 495]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    495|	}
  ------------------
  784|    495|				}
  785|  1.20k|			}
  786|    705|			break;
  787|    705|		default:
  ------------------
  |  Branch (787:3): [True: 0, False: 5.03k]
  ------------------
  788|      0|			UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  789|  5.03k|		}
  790|  5.03k|	}
  791|  5.38k|	return ISC_R_SUCCESS;
  792|  5.38k|}
rdata.c:svcparamkey:
  403|  7.48k|	    size_t len, bool compat) {
  404|  7.48k|	size_t i;
  405|  7.48k|	int n;
  406|       |
  407|  51.1k|	for (i = 0; i < ARRAY_SIZE(sbpr); i++) {
  ------------------
  |  |   98|  51.1k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (407:14): [True: 48.0k, False: 3.13k]
  ------------------
  408|  48.0k|		if (sbpr[i].value == value && (sbpr[i].initial || !compat)) {
  ------------------
  |  Branch (408:7): [True: 4.35k, False: 43.7k]
  |  Branch (408:34): [True: 2.44k, False: 1.90k]
  |  Branch (408:53): [True: 1.90k, False: 0]
  ------------------
  409|  4.35k|			*encoding = sbpr[i].encoding;
  410|  4.35k|			return sbpr[i].name;
  411|  4.35k|		}
  412|  48.0k|	}
  413|  3.13k|	n = snprintf(buf, len, "key%u", value);
  414|  3.13k|	INSIST(n > 0 && (unsigned int)n < len);
  ------------------
  |  |  202|  3.13k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  6.27k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 3.13k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 3.13k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  3.13k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  415|  3.13k|	*encoding = sbpr_text;
  416|  3.13k|	return buf;
  417|  7.48k|}

rdata.c:fromwire_in_wks:
  210|  1.32k|fromwire_in_wks(ARGS_FROMWIRE) {
  211|  1.32k|	isc_region_t sr;
  212|  1.32k|	isc_region_t tr;
  213|       |
  214|  1.32k|	REQUIRE(type == dns_rdatatype_wks);
  ------------------
  |  |  198|  1.32k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.32k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.32k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.32k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  215|  1.32k|	REQUIRE(rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.32k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.32k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.32k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.32k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  216|       |
  217|  1.32k|	UNUSED(type);
  ------------------
  |  |   69|  1.32k|#define UNUSED(x) (void)(x)
  ------------------
  218|  1.32k|	UNUSED(dctx);
  ------------------
  |  |   69|  1.32k|#define UNUSED(x) (void)(x)
  ------------------
  219|  1.32k|	UNUSED(rdclass);
  ------------------
  |  |   69|  1.32k|#define UNUSED(x) (void)(x)
  ------------------
  220|       |
  221|  1.32k|	isc_buffer_activeregion(source, &sr);
  222|  1.32k|	isc_buffer_availableregion(target, &tr);
  223|       |
  224|  1.32k|	if (sr.length < 5) {
  ------------------
  |  Branch (224:6): [True: 5, False: 1.31k]
  ------------------
  225|      5|		return ISC_R_UNEXPECTEDEND;
  226|      5|	}
  227|  1.31k|	if (sr.length > 8 * 1024 + 5) {
  ------------------
  |  Branch (227:6): [True: 1, False: 1.31k]
  ------------------
  228|      1|		return DNS_R_EXTRADATA;
  229|      1|	}
  230|  1.31k|	if (sr.length > 5 && sr.base[sr.length - 1] == 0) {
  ------------------
  |  Branch (230:6): [True: 583, False: 732]
  |  Branch (230:23): [True: 5, False: 578]
  ------------------
  231|      5|		return DNS_R_FORMERR;
  232|      5|	}
  233|  1.31k|	if (tr.length < sr.length) {
  ------------------
  |  Branch (233:6): [True: 80, False: 1.23k]
  ------------------
  234|     80|		return ISC_R_NOSPACE;
  235|     80|	}
  236|       |
  237|  1.23k|	memmove(tr.base, sr.base, sr.length);
  238|  1.23k|	isc_buffer_add(target, sr.length);
  239|  1.23k|	isc_buffer_forward(source, sr.length);
  240|       |
  241|  1.23k|	return ISC_R_SUCCESS;
  242|  1.31k|}
rdata.c:towire_in_wks:
  245|    559|towire_in_wks(ARGS_TOWIRE) {
  246|    559|	isc_region_t sr;
  247|       |
  248|    559|	UNUSED(cctx);
  ------------------
  |  |   69|    559|#define UNUSED(x) (void)(x)
  ------------------
  249|       |
  250|    559|	REQUIRE(rdata->type == dns_rdatatype_wks);
  ------------------
  |  |  198|    559|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    559|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 559, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    559|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  251|    559|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|    559|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    559|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 559, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    559|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  252|    559|	REQUIRE(rdata->length != 0);
  ------------------
  |  |  198|    559|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|    559|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 559, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|    559|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  253|       |
  254|    559|	dns_rdata_toregion(rdata, &sr);
  255|    559|	return mem_tobuffer(target, sr.base, sr.length);
  256|    559|}
rdata.c:totext_in_wks:
  168|  1.13k|totext_in_wks(ARGS_TOTEXT) {
  169|  1.13k|	isc_region_t sr;
  170|  1.13k|	unsigned short proto;
  171|  1.13k|	char buf[sizeof("65535")];
  172|  1.13k|	unsigned int i, j;
  173|       |
  174|  1.13k|	UNUSED(tctx);
  ------------------
  |  |   69|  1.13k|#define UNUSED(x) (void)(x)
  ------------------
  175|       |
  176|  1.13k|	REQUIRE(rdata->type == dns_rdatatype_wks);
  ------------------
  |  |  198|  1.13k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.13k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.13k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  177|  1.13k|	REQUIRE(rdata->rdclass == dns_rdataclass_in);
  ------------------
  |  |  198|  1.13k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.13k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.13k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  178|  1.13k|	REQUIRE(rdata->length >= 5);
  ------------------
  |  |  198|  1.13k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.13k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.13k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  179|       |
  180|  1.13k|	dns_rdata_toregion(rdata, &sr);
  181|  1.13k|	RETERR(inet_totext(AF_INET, tctx->flags, &sr, target));
  ------------------
  |  |  276|  1.13k|	{                                  \
  |  |  277|  1.13k|		isc_result_t _r = (x);     \
  |  |  278|  1.13k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.13k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.13k|	}
  ------------------
  182|  1.13k|	isc_region_consume(&sr, 4);
  ------------------
  |  |   51|  1.13k|	do {                              \
  |  |   52|  1.13k|		isc_region_t *_r = (r);   \
  |  |   53|  1.13k|		unsigned int  _l = (l);   \
  |  |   54|  1.13k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.13k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.13k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.13k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.13k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.13k|		_r->base += _l;           \
  |  |   56|  1.13k|		_r->length -= _l;         \
  |  |   57|  1.13k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.13k]
  |  |  ------------------
  ------------------
  183|       |
  184|  1.13k|	proto = uint8_fromregion(&sr);
  185|  1.13k|	snprintf(buf, sizeof(buf), "%u", proto);
  186|  1.13k|	RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  1.13k|	{                                  \
  |  |  277|  1.13k|		isc_result_t _r = (x);     \
  |  |  278|  1.13k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.13k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.13k|	}
  ------------------
  187|  1.13k|	RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.13k|	{                                  \
  |  |  277|  1.13k|		isc_result_t _r = (x);     \
  |  |  278|  1.13k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 1.13k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  1.13k|	}
  ------------------
  188|  1.13k|	isc_region_consume(&sr, 1);
  ------------------
  |  |   51|  1.13k|	do {                              \
  |  |   52|  1.13k|		isc_region_t *_r = (r);   \
  |  |   53|  1.13k|		unsigned int  _l = (l);   \
  |  |   54|  1.13k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.13k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.13k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.13k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.13k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.13k|		_r->base += _l;           \
  |  |   56|  1.13k|		_r->length -= _l;         \
  |  |   57|  1.13k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.13k]
  |  |  ------------------
  ------------------
  189|       |
  190|  1.13k|	INSIST(sr.length <= 8 * 1024);
  ------------------
  |  |  202|  1.13k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  1.13k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 1.13k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  1.13k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  191|  59.6k|	for (i = 0; i < sr.length; i++) {
  ------------------
  |  Branch (191:14): [True: 58.5k, False: 1.13k]
  ------------------
  192|  58.5k|		if (sr.base[i] != 0) {
  ------------------
  |  Branch (192:7): [True: 30.1k, False: 28.4k]
  ------------------
  193|   271k|			for (j = 0; j < 8; j++) {
  ------------------
  |  Branch (193:16): [True: 240k, False: 30.1k]
  ------------------
  194|   240k|				if ((sr.base[i] & (0x80 >> j)) != 0) {
  ------------------
  |  Branch (194:9): [True: 92.2k, False: 148k]
  ------------------
  195|  92.2k|					{
  196|  92.2k|						snprintf(buf, sizeof(buf),
  197|  92.2k|							 "%hu", i * 8 + j);
  198|  92.2k|						RETERR(str_totext(" ", target));
  ------------------
  |  |  276|  92.2k|	{                                  \
  |  |  277|  92.2k|		isc_result_t _r = (x);     \
  |  |  278|  92.2k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 92.2k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  92.2k|	}
  ------------------
  199|  92.2k|						RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  92.2k|	{                                  \
  |  |  277|  92.2k|		isc_result_t _r = (x);     \
  |  |  278|  92.2k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 92.2k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  92.2k|	}
  ------------------
  200|  92.2k|					}
  201|  92.2k|				}
  202|   240k|			}
  203|  30.1k|		}
  204|  58.5k|	}
  205|       |
  206|  1.13k|	return ISC_R_SUCCESS;
  207|  1.13k|}

dns_rdatalist_init:
   41|   386k|dns_rdatalist_init(dns_rdatalist_t *rdatalist) {
   42|   386k|	REQUIRE(rdatalist != NULL);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   43|       |
   44|       |	/*
   45|       |	 * Initialize rdatalist.
   46|       |	 */
   47|   386k|	*rdatalist = (dns_rdatalist_t){
   48|   386k|		.rdata = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|   386k|	{                     \
  |  |   22|   386k|		.head = NULL, \
  |  |   23|   386k|		.tail = NULL, \
  |  |   24|   386k|	}
  ------------------
   49|   386k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|   386k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|   386k|	{                                         \
  |  |  |  |   27|   386k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   386k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|   386k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   386k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|   386k|	}
  |  |  ------------------
  ------------------
   50|   386k|	};
   51|   386k|	memset(rdatalist->upper, 0xeb, sizeof(rdatalist->upper));
   52|       |
   53|       |	/*
   54|       |	 * Clear upper set bit.
   55|       |	 */
   56|   386k|	rdatalist->upper[0] &= ~0x01;
   57|   386k|}
dns_rdatalist_tordataset:
   60|   386k|dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, dns_rdataset_t *rdataset) {
   61|       |	/*
   62|       |	 * Make 'rdataset' refer to the rdata in 'rdatalist'.
   63|       |	 */
   64|       |
   65|   386k|	REQUIRE(rdatalist != NULL);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   66|   386k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   772k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   67|   386k|	REQUIRE(!dns_rdataset_isassociated(rdataset));
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   68|       |
   69|       |	/* Check if dns_rdatalist_init has was called. */
   70|   386k|	REQUIRE(rdatalist->upper[0] == 0xea);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   71|       |
   72|   386k|	*rdataset = (dns_rdataset_t){
   73|   386k|		.methods = &methods,
   74|   386k|		.rdclass = rdatalist->rdclass,
   75|   386k|		.type = rdatalist->type,
   76|   386k|		.covers = rdatalist->covers,
   77|   386k|		.ttl = rdatalist->ttl,
   78|   386k|		.rdlist.list = rdatalist,
   79|       |
   80|   386k|		.link = rdataset->link,
   81|   386k|		.attributes = rdataset->attributes,
   82|   386k|		.magic = rdataset->magic,
   83|   386k|	};
   84|   386k|}
dns_rdatalist_fromrdataset:
   88|   292k|			   dns_rdatalist_t **rdatalist) {
   89|   292k|	REQUIRE(rdatalist != NULL && rdataset != NULL);
  ------------------
  |  |  198|   292k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   585k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 292k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 292k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   292k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   90|   292k|	REQUIRE(rdataset->methods == &methods);
  ------------------
  |  |  198|   292k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   292k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 292k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   292k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   91|       |
   92|   292k|	*rdatalist = rdataset->rdlist.list;
   93|   292k|}
dns_rdatalist_disassociate:
   96|   386k|dns_rdatalist_disassociate(dns_rdataset_t *rdataset DNS__DB_FLARG) {
   97|   386k|	UNUSED(rdataset);
  ------------------
  |  |   69|   386k|#define UNUSED(x) (void)(x)
  ------------------
   98|   386k|}
dns__rdatalist_first:
  101|   351k|dns__rdatalist_first(dns_rdataset_t *rdataset) {
  102|   351k|	dns_rdatalist_t *rdatalist = NULL;
  103|       |
  104|   351k|	rdatalist = rdataset->rdlist.list;
  105|   351k|	rdataset->rdlist.iter = ISC_LIST_HEAD(rdatalist->rdata);
  ------------------
  |  |   62|   351k|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  106|       |
  107|   351k|	if (rdataset->rdlist.iter == NULL) {
  ------------------
  |  Branch (107:6): [True: 175k, False: 175k]
  ------------------
  108|   175k|		return ISC_R_NOMORE;
  109|   175k|	}
  110|       |
  111|   175k|	return ISC_R_SUCCESS;
  112|   351k|}
dns__rdatalist_next:
  115|   364k|dns__rdatalist_next(dns_rdataset_t *rdataset) {
  116|   364k|	dns_rdata_t *rdata;
  117|       |
  118|   364k|	rdata = rdataset->rdlist.iter;
  119|   364k|	if (rdata == NULL) {
  ------------------
  |  Branch (119:6): [True: 0, False: 364k]
  ------------------
  120|      0|		return ISC_R_NOMORE;
  121|      0|	}
  122|       |
  123|   364k|	rdataset->rdlist.iter = ISC_LIST_NEXT(rdata, link);
  ------------------
  |  |  140|   364k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
  124|       |
  125|   364k|	if (rdataset->rdlist.iter == NULL) {
  ------------------
  |  Branch (125:6): [True: 171k, False: 193k]
  ------------------
  126|   171k|		return ISC_R_NOMORE;
  127|   171k|	}
  128|       |
  129|   193k|	return ISC_R_SUCCESS;
  130|   364k|}
dns__rdatalist_current:
  133|   368k|dns__rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) {
  134|   368k|	dns_rdata_t *list_rdata;
  135|       |
  136|   368k|	list_rdata = rdataset->rdlist.iter;
  137|   368k|	INSIST(list_rdata != NULL);
  ------------------
  |  |  202|   368k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   368k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  138|       |
  139|   368k|	dns_rdata_clone(list_rdata, rdata);
  140|   368k|}
dns__rdatalist_count:
  154|  59.4k|dns__rdatalist_count(dns_rdataset_t *rdataset) {
  155|  59.4k|	dns_rdatalist_t *rdatalist = NULL;
  156|  59.4k|	unsigned int count;
  157|       |
  158|  59.4k|	REQUIRE(rdataset != NULL);
  ------------------
  |  |  198|  59.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  59.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 59.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  59.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  159|       |
  160|  59.4k|	rdatalist = rdataset->rdlist.list;
  161|       |
  162|  59.4k|	count = 0;
  163|   124k|	ISC_LIST_FOREACH(rdatalist->rdata, rdata, link) {
  ------------------
  |  |  234|  59.4k|	for (typeof((list).head) elt = ISC_LIST_HEAD(list),                \
  |  |  ------------------
  |  |  |  |   62|  59.4k|#define ISC_LIST_HEAD(list)  ((list).head)
  |  |  ------------------
  |  |  235|  59.4k|	     elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL; \
  |  |  ------------------
  |  |  |  |  140|  59.4k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (235:20): [True: 59.4k, False: 0]
  |  |  ------------------
  |  |  236|   184k|	     elt != NULL;                                                  \
  |  |  ------------------
  |  |  |  Branch (236:7): [True: 124k, False: 59.4k]
  |  |  ------------------
  |  |  237|   124k|	     elt = elt##_next,                                             \
  |  |  238|   124k|	      elt##_next = (elt != NULL) ? ISC_LIST_NEXT(elt, link) : NULL)
  |  |  ------------------
  |  |  |  |  140|  65.1k|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  |  |  ------------------
  |  |  |  Branch (238:21): [True: 65.1k, False: 59.4k]
  |  |  ------------------
  ------------------
  164|   124k|		count++;
  165|   124k|	}
  166|       |
  167|  59.4k|	return count;
  168|  59.4k|}
dns__rdatalist_setownercase:
  264|   282k|dns__rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) {
  265|   282k|	dns_rdatalist_t *rdatalist;
  266|   282k|	unsigned int i;
  267|       |
  268|       |	/*
  269|       |	 * We do not need to worry about label lengths as they are all
  270|       |	 * less than or equal to 63.
  271|       |	 */
  272|   282k|	rdatalist = rdataset->rdlist.list;
  273|   282k|	memset(rdatalist->upper, 0, sizeof(rdatalist->upper));
  274|  2.35M|	for (i = 1; i < name->length; i++) {
  ------------------
  |  Branch (274:14): [True: 2.07M, False: 282k]
  ------------------
  275|  2.07M|		if (name->ndata[i] >= 0x41 && name->ndata[i] <= 0x5a) {
  ------------------
  |  Branch (275:7): [True: 369k, False: 1.70M]
  |  Branch (275:33): [True: 40.2k, False: 329k]
  ------------------
  276|  40.2k|			rdatalist->upper[i / 8] |= 1 << (i % 8);
  277|  40.2k|		}
  278|  2.07M|	}
  279|       |	/*
  280|       |	 * Record that upper has been set.
  281|       |	 */
  282|   282k|	rdatalist->upper[0] |= 0x01;
  283|   282k|}
dns__rdatalist_getownercase:
  286|   246k|dns__rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) {
  287|   246k|	dns_rdatalist_t *rdatalist;
  288|   246k|	unsigned int i;
  289|       |
  290|   246k|	rdatalist = rdataset->rdlist.list;
  291|   246k|	if ((rdatalist->upper[0] & 0x01) == 0) {
  ------------------
  |  Branch (291:6): [True: 74.8k, False: 171k]
  ------------------
  292|  74.8k|		return;
  293|  74.8k|	}
  294|  1.89M|	for (i = 0; i < name->length; i++) {
  ------------------
  |  Branch (294:14): [True: 1.71M, False: 171k]
  ------------------
  295|       |		/*
  296|       |		 * Set the case bit if it does not match the recorded bit.
  297|       |		 */
  298|  1.71M|		if (name->ndata[i] >= 0x61 && name->ndata[i] <= 0x7a &&
  ------------------
  |  Branch (298:7): [True: 265k, False: 1.45M]
  |  Branch (298:33): [True: 50.5k, False: 214k]
  ------------------
  299|  50.5k|		    (rdatalist->upper[i / 8] & (1 << (i % 8))) != 0)
  ------------------
  |  Branch (299:7): [True: 0, False: 50.5k]
  ------------------
  300|      0|		{
  301|      0|			name->ndata[i] &= ~0x20; /* clear the lower case bit */
  302|  1.71M|		} else if (name->ndata[i] >= 0x41 && name->ndata[i] <= 0x5a &&
  ------------------
  |  Branch (302:14): [True: 314k, False: 1.40M]
  |  Branch (302:40): [True: 42.1k, False: 272k]
  ------------------
  303|  42.1k|			   (rdatalist->upper[i / 8] & (1 << (i % 8))) == 0)
  ------------------
  |  Branch (303:7): [True: 0, False: 42.1k]
  ------------------
  304|      0|		{
  305|      0|			name->ndata[i] |= 0x20; /* set the lower case bit */
  306|      0|		}
  307|  1.71M|	}
  308|   171k|}

dns_rdataset_init:
   56|   386k|dns_rdataset_init(dns_rdataset_t *rdataset) {
   57|       |	/*
   58|       |	 * Make 'rdataset' a valid, disassociated rdataset.
   59|       |	 */
   60|       |
   61|   386k|	REQUIRE(rdataset != NULL);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   62|       |
   63|   386k|	*rdataset = (dns_rdataset_t){
   64|   386k|		.magic = DNS_RDATASET_MAGIC,
  ------------------
  |  |   88|   386k|#define DNS_RDATASET_MAGIC	ISC_MAGIC('D', 'N', 'S', 'R')
  |  |  ------------------
  |  |  |  |   31|   386k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
   65|   386k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|   386k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|   386k|	{                                         \
  |  |  |  |   27|   386k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   386k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|   386k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   386k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|   386k|	}
  |  |  ------------------
  ------------------
   66|   386k|	};
   67|   386k|}
dns__rdataset_disassociate:
   85|   386k|dns__rdataset_disassociate(dns_rdataset_t *rdataset DNS__DB_FLARG) {
   86|       |	/*
   87|       |	 * Disassociate 'rdataset' from its rdata, allowing it to be reused.
   88|       |	 */
   89|       |
   90|   386k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   772k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   91|   386k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   386k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   386k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   386k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   92|       |
   93|   386k|	if (rdataset->methods->disassociate != NULL) {
  ------------------
  |  Branch (93:6): [True: 386k, False: 0]
  ------------------
   94|   386k|		(rdataset->methods->disassociate)(rdataset DNS__DB_FLARG_PASS);
   95|   386k|	}
   96|   386k|	*rdataset = (dns_rdataset_t){
   97|   386k|		.magic = DNS_RDATASET_MAGIC,
  ------------------
  |  |   88|   386k|#define DNS_RDATASET_MAGIC	ISC_MAGIC('D', 'N', 'S', 'R')
  |  |  ------------------
  |  |  |  |   31|   386k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
   98|   386k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|   386k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|   386k|	{                                         \
  |  |  |  |   27|   386k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   386k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|   386k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   386k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|   386k|	}
  |  |  ------------------
  ------------------
   99|   386k|	};
  100|   386k|}
dns_rdataset_isassociated:
  103|   772k|dns_rdataset_isassociated(const dns_rdataset_t *rdataset) {
  104|       |	/*
  105|       |	 * Is 'rdataset' associated?
  106|       |	 */
  107|       |
  108|   772k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   772k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.54M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 772k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 772k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   772k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  109|       |
  110|   772k|	if (rdataset->methods != NULL) {
  ------------------
  |  Branch (110:6): [True: 44, False: 772k]
  ------------------
  111|     44|		return true;
  112|     44|	}
  113|       |
  114|   772k|	return false;
  115|   772k|}
dns_rdataset_count:
  152|  59.4k|dns_rdataset_count(dns_rdataset_t *rdataset) {
  153|       |	/*
  154|       |	 * Return the number of records in 'rdataset'.
  155|       |	 */
  156|       |
  157|  59.4k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|  59.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   118k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 59.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 59.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  59.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  158|  59.4k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|  59.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  59.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 59.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  59.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  159|  59.4k|	REQUIRE(rdataset->methods->count != NULL);
  ------------------
  |  |  198|  59.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  59.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 59.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  59.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  160|       |
  161|  59.4k|	return (rdataset->methods->count)(rdataset);
  162|  59.4k|}
dns_rdataset_first:
  180|   351k|dns_rdataset_first(dns_rdataset_t *rdataset) {
  181|   351k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   351k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   702k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 351k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 351k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   351k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  182|   351k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   351k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   351k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 351k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   351k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  183|   351k|	REQUIRE(rdataset->methods->first != NULL);
  ------------------
  |  |  198|   351k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   351k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 351k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   351k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  184|       |
  185|   351k|	isc_result_t result = rdataset->methods->first(rdataset);
  186|   351k|	ENSURE(result == ISC_R_SUCCESS || result == ISC_R_NOMORE);
  ------------------
  |  |  200|   351k|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|   526k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:11): [True: 175k, False: 175k]
  |  |  |  |  |  Branch (48:11): [True: 175k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|   351k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
  187|   351k|	return result;
  188|   351k|}
dns_rdataset_next:
  191|   364k|dns_rdataset_next(dns_rdataset_t *rdataset) {
  192|   364k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   364k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   728k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 364k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 364k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   364k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  193|   364k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   364k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   364k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 364k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   364k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  194|   364k|	REQUIRE(rdataset->methods->next != NULL);
  ------------------
  |  |  198|   364k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   364k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 364k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   364k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  195|       |
  196|   364k|	isc_result_t result = rdataset->methods->next(rdataset);
  197|   364k|	ENSURE(result == ISC_R_SUCCESS || result == ISC_R_NOMORE);
  ------------------
  |  |  200|   364k|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|   535k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:11): [True: 193k, False: 171k]
  |  |  |  |  |  Branch (48:11): [True: 171k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|   364k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
  198|   364k|	return result;
  199|   364k|}
dns_rdataset_current:
  202|   368k|dns_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) {
  203|       |	/*
  204|       |	 * Make 'rdata' refer to the current rdata.
  205|       |	 */
  206|       |
  207|   368k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   737k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  208|   368k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   368k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  209|   368k|	REQUIRE(rdataset->methods->current != NULL);
  ------------------
  |  |  198|   368k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   368k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 368k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   368k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  210|       |
  211|   368k|	(rdataset->methods->current)(rdataset, rdata);
  212|   368k|}
dns_rdataset_towire:
  369|   134k|		    bool partial, unsigned int options, unsigned int *countp) {
  370|   134k|	isc_result_t result;
  371|   134k|	isc_buffer_t savedbuffer = *target;
  372|   134k|	isc_buffer_t rrbuffer = *target;
  373|   134k|	dns_fixedname_t fixed;
  374|   134k|	dns_name_t *name = NULL;
  375|       |
  376|       |	/*
  377|       |	 * Convert 'rdataset' to wire format, compressing names as specified
  378|       |	 * in cctx, and storing the result in 'target'.
  379|       |	 */
  380|       |
  381|   134k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   134k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   268k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 134k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 134k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   134k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  382|   134k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   134k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   134k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 134k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   134k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  383|   134k|	REQUIRE(countp != NULL);
  ------------------
  |  |  198|   134k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   134k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 134k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   134k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  384|   134k|	REQUIRE(cctx != NULL && cctx->mctx != NULL);
  ------------------
  |  |  198|   134k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   268k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 134k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 134k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   134k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  385|       |
  386|   134k|	if (rdataset->attributes.negative) {
  ------------------
  |  Branch (386:6): [True: 0, False: 134k]
  ------------------
  387|       |		/*
  388|       |		 * This is a negative caching rdataset.
  389|       |		 */
  390|      0|		unsigned int ncache_opts = 0;
  391|      0|		if ((options & DNS_RDATASETTOWIRE_OMITDNSSEC) != 0) {
  ------------------
  |  |  269|      0|#define DNS_RDATASETTOWIRE_OMITDNSSEC 0x0001
  ------------------
  |  Branch (391:7): [True: 0, False: 0]
  ------------------
  392|      0|			ncache_opts |= DNS_NCACHETOWIRE_OMITDNSSEC;
  ------------------
  |  |   52|      0|#define DNS_NCACHETOWIRE_OMITDNSSEC 0x0001
  ------------------
  393|      0|		}
  394|      0|		return dns_ncache_towire(rdataset, cctx, target, ncache_opts,
  395|      0|					 countp);
  396|      0|	}
  397|       |
  398|   134k|	name = dns_fixedname_initname(&fixed);
  399|   134k|	dns_name_copy(owner_name, name);
  400|   134k|	dns_rdataset_getownercase(rdataset, name);
  401|   134k|	dns_compress_setmultiuse(cctx, true);
  402|       |
  403|   134k|	name->attributes.nocompress |= owner_name->attributes.nocompress;
  404|       |
  405|   134k|	if (rdataset->attributes.question) {
  ------------------
  |  Branch (405:6): [True: 74.8k, False: 59.4k]
  ------------------
  406|  74.8k|		result = towire_question(rdataset, name, cctx, target,
  407|  74.8k|					 &rrbuffer, countp);
  408|  74.8k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (408:7): [True: 0, False: 74.8k]
  ------------------
  409|      0|			goto rollback;
  410|      0|		}
  411|  74.8k|	} else {
  412|  59.4k|		result = towire_answer(rdataset, name, cctx, target, &rrbuffer,
  413|  59.4k|				       id, countp);
  414|  59.4k|		if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (414:7): [True: 154, False: 59.3k]
  ------------------
  415|    154|			goto rollback;
  416|    154|		}
  417|  59.4k|	}
  418|       |
  419|   134k|	return ISC_R_SUCCESS;
  420|       |
  421|    154|rollback:
  422|    154|	if (partial && result == ISC_R_NOSPACE) {
  ------------------
  |  Branch (422:6): [True: 0, False: 154]
  |  Branch (422:17): [True: 0, False: 0]
  ------------------
  423|      0|		dns_compress_rollback(cctx, rrbuffer.used);
  424|      0|		*target = rrbuffer;
  425|      0|		return result;
  426|      0|	}
  427|    154|	dns_compress_rollback(cctx, savedbuffer.used);
  428|    154|	*countp = 0;
  429|    154|	*target = savedbuffer;
  430|       |
  431|    154|	return result;
  432|    154|}
dns_rdataset_setownercase:
  517|   282k|dns_rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) {
  518|   282k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   282k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   565k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 282k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 282k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   282k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  519|   282k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   282k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   282k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 282k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   282k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  520|       |
  521|   282k|	if (rdataset->methods->setownercase != NULL &&
  ------------------
  |  Branch (521:6): [True: 282k, False: 0]
  ------------------
  522|   282k|	    !rdataset->attributes.keepcase)
  ------------------
  |  Branch (522:6): [True: 282k, False: 0]
  ------------------
  523|   282k|	{
  524|   282k|		(rdataset->methods->setownercase)(rdataset, name);
  525|   282k|	}
  526|   282k|}
dns_rdataset_getownercase:
  529|   246k|dns_rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) {
  530|   246k|	REQUIRE(DNS_RDATASET_VALID(rdataset));
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   492k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  531|   246k|	REQUIRE(rdataset->methods != NULL);
  ------------------
  |  |  198|   246k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   246k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 246k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   246k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  532|       |
  533|   246k|	if (rdataset->methods->getownercase != NULL &&
  ------------------
  |  Branch (533:6): [True: 246k, False: 0]
  ------------------
  534|   246k|	    !rdataset->attributes.keepcase)
  ------------------
  |  Branch (534:6): [True: 246k, False: 0]
  ------------------
  535|   246k|	{
  536|   246k|		(rdataset->methods->getownercase)(rdataset, name);
  537|   246k|	}
  538|   246k|}
rdataset.c:towire_question:
  266|  74.8k|		isc_buffer_t *rrbuffer, unsigned int *countp) {
  267|  74.8k|	isc_result_t result;
  268|       |
  269|  74.8k|	result = dns_rdataset_first(rdataset);
  270|  74.8k|	INSIST(result == ISC_R_NOMORE);
  ------------------
  |  |  202|  74.8k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  74.8k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 74.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  74.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  271|       |
  272|  74.8k|	result = towire_addtypeclass(rdataset, name, cctx, target, rrbuffer, 0);
  273|  74.8k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (273:6): [True: 46.5k, False: 28.3k]
  ------------------
  274|  46.5k|		return ISC_R_SUCCESS;
  275|  46.5k|	}
  276|       |
  277|  28.3k|	*countp += 1;
  278|       |
  279|  28.3k|	return ISC_R_SUCCESS;
  280|  74.8k|}
rdataset.c:towire_addtypeclass:
  219|   199k|		    isc_buffer_t *rrbuffer, size_t extralen) {
  220|   199k|	isc_region_t r;
  221|   199k|	isc_result_t result;
  222|   199k|	size_t headlen;
  223|       |
  224|   199k|	*rrbuffer = *target;
  225|   199k|	dns_compress_setpermitted(cctx, true);
  226|   199k|	result = dns_name_towire(name, cctx, target);
  227|   199k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (227:6): [True: 46.5k, False: 152k]
  ------------------
  228|  46.5k|		return result;
  229|  46.5k|	}
  230|   152k|	headlen = sizeof(dns_rdataclass_t) + sizeof(dns_rdatatype_t) + extralen;
  231|   152k|	isc_buffer_availableregion(target, &r);
  232|   152k|	if (r.length < headlen) {
  ------------------
  |  Branch (232:6): [True: 53, False: 152k]
  ------------------
  233|     53|		return ISC_R_NOSPACE;
  234|     53|	}
  235|   152k|	isc_buffer_putuint16(target, rdataset->type);
  236|   152k|	isc_buffer_putuint16(target, rdataset->rdclass);
  237|   152k|	return ISC_R_SUCCESS;
  238|   152k|}
rdataset.c:towire_answer:
  285|  59.4k|	      isc_buffer_t *rrbuffer, uint16_t id, unsigned int *countp) {
  286|  59.4k|	isc_result_t result;
  287|  59.4k|	size_t start = 0, count = 0, added = 0;
  288|  59.4k|	isc_buffer_t rdlen;
  289|  59.4k|	dns_rdata_t *rdatas = dns__rdataset_rdatas;
  290|       |
  291|  59.4k|	count = dns_rdataset_count(rdataset);
  292|  59.4k|	result = dns_rdataset_first(rdataset);
  293|  59.4k|	if (result == ISC_R_NOMORE) {
  ------------------
  |  Branch (293:6): [True: 0, False: 59.4k]
  ------------------
  294|      0|		return ISC_R_SUCCESS;
  295|  59.4k|	} else if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (295:13): [True: 0, False: 59.4k]
  ------------------
  296|      0|		return result;
  297|      0|	}
  298|       |
  299|  59.4k|	if (WANT_CYCLIC(rdataset) && rdataset->type != dns_rdatatype_rrsig) {
  ------------------
  |  |  214|   118k|#define WANT_CYCLIC(r) (((r)->attributes.order == dns_order_cyclic))
  |  |  ------------------
  |  |  |  Branch (214:24): [True: 0, False: 59.4k]
  |  |  ------------------
  ------------------
              	if (WANT_CYCLIC(rdataset) && rdataset->type != dns_rdatatype_rrsig) {
  ------------------
  |  |  160|      0|#define dns_rdatatype_rrsig	((dns_rdatatype_t)dns_rdatatype_rrsig)
  ------------------
  |  Branch (299:31): [True: 0, False: 0]
  ------------------
  300|      0|		start = id % count;
  301|       |
  302|       |		/* Do we need larger buffer? */
  303|      0|		if (start > ARRAY_SIZE(dns__rdataset_rdatas)) {
  ------------------
  |  |   98|      0|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (303:7): [True: 0, False: 0]
  ------------------
  304|      0|			rdatas = isc_mem_cget(cctx->mctx, start,
  ------------------
  |  |  146|      0|	isc__mem_get((c), ISC_CHECKED_MUL((n), (s)), \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  147|      0|		     ISC_MEM_ZERO _ISC_MEM_FILELINE)
  |  |  ------------------
  |  |  |  |  142|      0|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  ------------------
  305|      0|					      sizeof(rdatas[0]));
  306|      0|		}
  307|      0|	}
  308|       |
  309|       |	/*
  310|       |	 * Save the rdata up until the start.  If we are not
  311|       |	 * doing cyclic, the start == 0, so this is no-op.
  312|       |	 */
  313|  59.4k|	for (size_t i = 0; i < start; i++) {
  ------------------
  |  Branch (313:21): [True: 0, False: 59.4k]
  ------------------
  314|      0|		dns_rdata_init(&rdatas[i]);
  315|      0|		dns_rdataset_current(rdataset, &rdatas[i]);
  316|       |
  317|      0|		result = dns_rdataset_next(rdataset);
  318|      0|		if (result == ISC_R_NOMORE) {
  ------------------
  |  Branch (318:7): [True: 0, False: 0]
  ------------------
  319|      0|			result = ISC_R_SUCCESS;
  320|      0|			break;
  321|      0|		} else if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (321:14): [True: 0, False: 0]
  ------------------
  322|      0|			goto cleanup;
  323|      0|		}
  324|      0|	}
  325|       |
  326|   124k|	for (size_t i = start; i < count; i++) {
  ------------------
  |  Branch (326:25): [True: 124k, False: 0]
  ------------------
  327|   124k|		dns_rdata_t rdata = DNS_RDATA_INIT;
  ------------------
  |  |  149|   124k|	{                                     \
  |  |  150|   124k|		.data = NULL,                 \
  |  |  151|   124k|		.link = ISC_LINK_INITIALIZER, \
  |  |  ------------------
  |  |  |  |   30|   124k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  |  |  ------------------
  |  |  |  |  |  |   26|   124k|	{                                         \
  |  |  |  |  |  |   27|   124k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   124k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   28|   124k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|   124k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   29|   124k|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  152|   124k|	}
  ------------------
  328|       |
  329|   124k|		CHECK(towire_addtypeclass(rdataset, name, cctx, target,
  ------------------
  |  |  255|   124k|	{                                      \
  |  |  256|   124k|		result = (r);                  \
  |  |  257|   124k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 24, False: 124k]
  |  |  ------------------
  |  |  258|     24|			goto cleanup;          \
  |  |  259|     24|		}                              \
  |  |  260|   124k|	}
  ------------------
  330|   124k|					  rrbuffer, sizeof(dns_ttl_t) + 2));
  331|   124k|		towire_addttl(rdataset, target, &rdlen);
  332|       |
  333|   124k|		dns_rdataset_current(rdataset, &rdata);
  334|   124k|		CHECK(towire_addrdata(&rdata, cctx, target, &rdlen));
  ------------------
  |  |  255|   124k|	{                                      \
  |  |  256|   124k|		result = (r);                  \
  |  |  257|   124k|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 130, False: 124k]
  |  |  ------------------
  |  |  258|    130|			goto cleanup;          \
  |  |  259|    130|		}                              \
  |  |  260|   124k|	}
  ------------------
  335|   124k|		added++;
  336|       |
  337|   124k|		result = dns_rdataset_next(rdataset);
  338|   124k|		if (result == ISC_R_NOMORE) {
  ------------------
  |  Branch (338:7): [True: 59.3k, False: 65.0k]
  ------------------
  339|  59.3k|			result = ISC_R_SUCCESS;
  340|  59.3k|			break;
  341|  65.0k|		} else if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (341:14): [True: 0, False: 65.0k]
  ------------------
  342|      0|			goto cleanup;
  343|      0|		}
  344|   124k|	}
  345|       |
  346|  59.3k|	for (size_t i = 0; i < start; i++) {
  ------------------
  |  Branch (346:21): [True: 0, False: 59.3k]
  ------------------
  347|      0|		CHECK(towire_addtypeclass(rdataset, name, cctx, target,
  ------------------
  |  |  255|      0|	{                                      \
  |  |  256|      0|		result = (r);                  \
  |  |  257|      0|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|      0|	}
  ------------------
  348|      0|					  rrbuffer, sizeof(dns_ttl_t) + 2));
  349|      0|		towire_addttl(rdataset, target, &rdlen);
  350|       |
  351|      0|		CHECK(towire_addrdata(&rdatas[i], cctx, target, &rdlen));
  ------------------
  |  |  255|      0|	{                                      \
  |  |  256|      0|		result = (r);                  \
  |  |  257|      0|		if (result != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (257:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  258|      0|			goto cleanup;          \
  |  |  259|      0|		}                              \
  |  |  260|      0|	}
  ------------------
  352|      0|		added++;
  353|      0|	}
  354|       |
  355|  59.3k|	INSIST(added == count);
  ------------------
  |  |  202|  59.3k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  59.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 59.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  59.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  356|       |
  357|  59.4k|cleanup:
  358|  59.4k|	*countp += added;
  359|  59.4k|	if (rdatas != dns__rdataset_rdatas) {
  ------------------
  |  Branch (359:6): [True: 0, False: 59.4k]
  ------------------
  360|      0|		isc_mem_cput(cctx->mctx, rdatas, start, sizeof(rdatas[0]));
  ------------------
  |  |  176|      0|	do {                                                      \
  |  |  177|      0|		isc__mem_put((c), (p), ISC_CHECKED_MUL((n), (s)), \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  178|      0|			     ISC_MEM_ZERO _ISC_MEM_FILELINE);     \
  |  |  ------------------
  |  |  |  |  142|      0|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  |  |  179|      0|		(p) = NULL;                                       \
  |  |  180|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (180:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
  361|      0|	}
  362|       |
  363|  59.4k|	return result;
  364|  59.3k|}
rdataset.c:towire_addttl:
  242|   124k|	      isc_buffer_t *rdlen) {
  243|   124k|	isc_buffer_putuint32(target, rdataset->ttl);
  244|       |
  245|       |	/* Save space for rdlen. */
  246|   124k|	*rdlen = *target;
  247|   124k|	isc_buffer_add(target, 2);
  248|   124k|}
rdataset.c:towire_addrdata:
  252|   124k|		isc_buffer_t *rdlen) {
  253|   124k|	isc_result_t result = dns_rdata_towire(rdata, cctx, target);
  254|   124k|	if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (254:6): [True: 130, False: 124k]
  ------------------
  255|    130|		return result;
  256|    130|	}
  257|   124k|	INSIST((target->used >= rdlen->used + 2) &&
  ------------------
  |  |  202|   124k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   248k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 124k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 124k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  258|   124k|	       (target->used - rdlen->used - 2 < 65536));
  259|   124k|	isc_buffer_putuint16(rdlen, (uint16_t)(target->used - rdlen->used - 2));
  260|   124k|	return ISC_R_SUCCESS;
  261|   124k|}

dns_time64_totext:
   33|  16.1k|dns_time64_totext(int64_t t, isc_buffer_t *target) {
   34|  16.1k|	struct tm tm;
   35|  16.1k|	char buf[sizeof("!!!!!!YYYY!!!!!!!!MM!!!!!!!!DD!!!!!!!!HH!!!!!!!!MM!!!!"
   36|  16.1k|			"!!!!SS")];
   37|  16.1k|	int secs;
   38|  16.1k|	unsigned int l;
   39|  16.1k|	isc_region_t region;
   40|       |
   41|       |/*
   42|       | * Warning. Do NOT use arguments with side effects with these macros.
   43|       | */
   44|  16.1k|#define is_leap(y)   ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
   45|  16.1k|#define year_secs(y) ((is_leap(y) ? 366 : 365) * 86400)
   46|  16.1k|#define month_secs(m, y) ((days[m] + ((m == 1 && is_leap(y)) ? 1 : 0)) * 86400)
   47|       |
   48|  16.1k|	tm.tm_year = 70;
   49|  23.2k|	while (t < 0) {
  ------------------
  |  Branch (49:9): [True: 7.07k, False: 16.1k]
  ------------------
   50|  7.07k|		if (tm.tm_year == 0) {
  ------------------
  |  Branch (50:7): [True: 0, False: 7.07k]
  ------------------
   51|      0|			return ISC_R_RANGE;
   52|      0|		}
   53|  7.07k|		tm.tm_year--;
   54|  7.07k|		secs = year_secs(tm.tm_year + 1900);
  ------------------
  |  |   45|  7.07k|#define year_secs(y) ((is_leap(y) ? 366 : 365) * 86400)
  |  |  ------------------
  |  |  |  |   44|  7.07k|#define is_leap(y)   ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:24): [True: 1.47k, False: 5.60k]
  |  |  |  |  |  Branch (44:42): [True: 1.47k, False: 0]
  |  |  |  |  |  Branch (44:63): [True: 0, False: 5.60k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  7.07k|		t += secs;
   56|  7.07k|	}
   57|   393k|	while ((secs = year_secs(tm.tm_year + 1900)) <= t) {
  ------------------
  |  |   45|   393k|#define year_secs(y) ((is_leap(y) ? 366 : 365) * 86400)
  |  |  ------------------
  |  |  |  |   44|   393k|#define is_leap(y)   ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:24): [True: 95.6k, False: 297k]
  |  |  |  |  |  Branch (44:42): [True: 90.3k, False: 5.32k]
  |  |  |  |  |  Branch (44:63): [True: 5.32k, False: 297k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (57:9): [True: 377k, False: 16.1k]
  ------------------
   58|   377k|		t -= secs;
   59|   377k|		tm.tm_year++;
   60|   377k|		if (tm.tm_year + 1900 > 9999) {
  ------------------
  |  Branch (60:7): [True: 0, False: 377k]
  ------------------
   61|      0|			return ISC_R_RANGE;
   62|      0|		}
   63|   377k|	}
   64|  16.1k|	tm.tm_mon = 0;
   65|  87.7k|	while ((secs = month_secs(tm.tm_mon, tm.tm_year + 1900)) <= t) {
  ------------------
  |  |   46|  87.7k|#define month_secs(m, y) ((days[m] + ((m == 1 && is_leap(y)) ? 1 : 0)) * 86400)
  |  |  ------------------
  |  |  |  |   44|  11.5k|#define is_leap(y)   ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (44:24): [True: 2.73k, False: 8.83k]
  |  |  |  |  |  Branch (44:42): [True: 2.48k, False: 250]
  |  |  |  |  |  Branch (44:63): [True: 250, False: 8.83k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (46:40): [True: 11.5k, False: 76.2k]
  |  |  ------------------
  ------------------
  |  Branch (65:9): [True: 71.6k, False: 16.1k]
  ------------------
   66|  71.6k|		t -= secs;
   67|  71.6k|		tm.tm_mon++;
   68|  71.6k|	}
   69|  16.1k|	tm.tm_mday = 1;
   70|   221k|	while (86400 <= t) {
  ------------------
  |  Branch (70:9): [True: 205k, False: 16.1k]
  ------------------
   71|   205k|		t -= 86400;
   72|   205k|		tm.tm_mday++;
   73|   205k|	}
   74|  16.1k|	tm.tm_hour = 0;
   75|   189k|	while (3600 <= t) {
  ------------------
  |  Branch (75:9): [True: 173k, False: 16.1k]
  ------------------
   76|   173k|		t -= 3600;
   77|   173k|		tm.tm_hour++;
   78|   173k|	}
   79|  16.1k|	tm.tm_min = 0;
   80|   434k|	while (60 <= t) {
  ------------------
  |  Branch (80:9): [True: 418k, False: 16.1k]
  ------------------
   81|   418k|		t -= 60;
   82|   418k|		tm.tm_min++;
   83|   418k|	}
   84|  16.1k|	tm.tm_sec = (int)t;
   85|       |	/* yyyy  mm  dd  HH  MM  SS */
   86|  16.1k|	snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02d",
   87|  16.1k|		 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour,
   88|  16.1k|		 tm.tm_min, tm.tm_sec);
   89|       |
   90|  16.1k|	isc_buffer_availableregion(target, &region);
   91|  16.1k|	l = strlen(buf);
   92|       |
   93|  16.1k|	if (l > region.length) {
  ------------------
  |  Branch (93:6): [True: 0, False: 16.1k]
  ------------------
   94|      0|		return ISC_R_NOSPACE;
   95|      0|	}
   96|       |
   97|  16.1k|	memmove(region.base, buf, l);
   98|  16.1k|	isc_buffer_add(target, l);
   99|  16.1k|	return ISC_R_SUCCESS;
  100|  16.1k|}
dns_time64_from32:
  103|  16.1k|dns_time64_from32(uint32_t value) {
  104|  16.1k|	isc_stdtime_t now = isc_stdtime_now();
  105|  16.1k|	int64_t start;
  106|  16.1k|	int64_t t;
  107|       |
  108|       |	/*
  109|       |	 * Adjust the time to the closest epoch.  This should be changed
  110|       |	 * to use a 64-bit counterpart to isc_stdtime_now() if one ever
  111|       |	 * is defined, but even the current code is good until the year
  112|       |	 * 2106.
  113|       |	 */
  114|       |
  115|  16.1k|	start = (int64_t)now;
  116|  16.1k|	if (isc_serial_gt(value, now)) {
  ------------------
  |  Branch (116:6): [True: 2.52k, False: 13.6k]
  ------------------
  117|  2.52k|		t = start + (value - now);
  118|  13.6k|	} else {
  119|  13.6k|		t = start - (now - value);
  120|  13.6k|	}
  121|       |
  122|  16.1k|	return t;
  123|  16.1k|}
dns_time32_totext:
  126|  16.1k|dns_time32_totext(uint32_t value, isc_buffer_t *target) {
  127|  16.1k|	return dns_time64_totext(dns_time64_from32(value), target);
  128|  16.1k|}

dns_ttl_totext:
   68|  25.8k|dns_ttl_totext(uint32_t src, bool verbose, bool upcase, isc_buffer_t *target) {
   69|  25.8k|	unsigned int secs, mins, hours, days, weeks, x;
   70|       |
   71|  25.8k|	secs = src % 60;
   72|  25.8k|	src /= 60;
   73|  25.8k|	mins = src % 60;
   74|  25.8k|	src /= 60;
   75|  25.8k|	hours = src % 24;
   76|  25.8k|	src /= 24;
   77|  25.8k|	days = src % 7;
   78|  25.8k|	src /= 7;
   79|  25.8k|	weeks = src;
   80|  25.8k|	src = 0;
   81|  25.8k|	POST(src);
  ------------------
  |  |   74|  25.8k|#define POST(x) (void)(x)
  ------------------
   82|       |
   83|  25.8k|	x = 0;
   84|  25.8k|	if (weeks != 0) {
  ------------------
  |  Branch (84:6): [True: 16.5k, False: 9.34k]
  ------------------
   85|  16.5k|		RETERR(ttlfmt(weeks, "week", verbose, x > 0, target));
  ------------------
  |  |  276|  16.5k|	{                                  \
  |  |  277|  16.5k|		isc_result_t _r = (x);     \
  |  |  278|  16.5k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 16.5k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  16.5k|	}
  ------------------
   86|  16.5k|		x++;
   87|  16.5k|	}
   88|  25.8k|	if (days != 0) {
  ------------------
  |  Branch (88:6): [True: 14.1k, False: 11.7k]
  ------------------
   89|  14.1k|		RETERR(ttlfmt(days, "day", verbose, x > 0, target));
  ------------------
  |  |  276|  14.1k|	{                                  \
  |  |  277|  14.1k|		isc_result_t _r = (x);     \
  |  |  278|  14.1k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 14.1k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  14.1k|	}
  ------------------
   90|  14.1k|		x++;
   91|  14.1k|	}
   92|  25.8k|	if (hours != 0) {
  ------------------
  |  Branch (92:6): [True: 22.1k, False: 3.76k]
  ------------------
   93|  22.1k|		RETERR(ttlfmt(hours, "hour", verbose, x > 0, target));
  ------------------
  |  |  276|  22.1k|	{                                  \
  |  |  277|  22.1k|		isc_result_t _r = (x);     \
  |  |  278|  22.1k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 22.1k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  22.1k|	}
  ------------------
   94|  22.1k|		x++;
   95|  22.1k|	}
   96|  25.8k|	if (mins != 0) {
  ------------------
  |  Branch (96:6): [True: 22.5k, False: 3.37k]
  ------------------
   97|  22.5k|		RETERR(ttlfmt(mins, "minute", verbose, x > 0, target));
  ------------------
  |  |  276|  22.5k|	{                                  \
  |  |  277|  22.5k|		isc_result_t _r = (x);     \
  |  |  278|  22.5k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 22.5k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  22.5k|	}
  ------------------
   98|  22.5k|		x++;
   99|  22.5k|	}
  100|  25.8k|	if (secs != 0 || (weeks == 0 && days == 0 && hours == 0 && mins == 0)) {
  ------------------
  |  Branch (100:6): [True: 17.9k, False: 7.94k]
  |  Branch (100:20): [True: 5.51k, False: 2.43k]
  |  Branch (100:34): [True: 5.29k, False: 213]
  |  Branch (100:47): [True: 2.99k, False: 2.30k]
  |  Branch (100:61): [True: 2.90k, False: 84]
  ------------------
  101|  20.8k|		RETERR(ttlfmt(secs, "second", verbose, x > 0, target));
  ------------------
  |  |  276|  20.8k|	{                                  \
  |  |  277|  20.8k|		isc_result_t _r = (x);     \
  |  |  278|  20.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 20.8k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  20.8k|	}
  ------------------
  102|  20.8k|		x++;
  103|  20.8k|	}
  104|  25.8k|	INSIST(x > 0);
  ------------------
  |  |  202|  25.8k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  25.8k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 25.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  25.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  105|       |	/*
  106|       |	 * If only a single unit letter is printed, print it
  107|       |	 * in upper case. (Why?  Because BIND 8 does that.
  108|       |	 * Presumably it has a reason.)
  109|       |	 */
  110|  25.8k|	if (x == 1 && upcase && !verbose) {
  ------------------
  |  Branch (110:6): [True: 3.25k, False: 22.6k]
  |  Branch (110:16): [True: 3.25k, False: 0]
  |  Branch (110:26): [True: 0, False: 3.25k]
  ------------------
  111|      0|		isc_region_t region;
  112|       |		/*
  113|       |		 * The unit letter is the last character in the
  114|       |		 * used region of the buffer.
  115|       |		 */
  116|      0|		isc_buffer_usedregion(target, &region);
  117|      0|		region.base[region.length - 1] =
  118|      0|			isc_ascii_toupper(region.base[region.length - 1]);
  ------------------
  |  |   32|      0|#define isc_ascii_toupper(c) isc__ascii_toupper[(uint8_t)(c)]
  ------------------
  119|      0|	}
  120|  25.8k|	return ISC_R_SUCCESS;
  121|  25.8k|}
ttl.c:ttlfmt:
   41|  96.1k|       isc_buffer_t *target) {
   42|  96.1k|	char tmp[60];
   43|  96.1k|	unsigned int len;
   44|  96.1k|	isc_region_t region;
   45|       |
   46|  96.1k|	if (verbose) {
  ------------------
  |  Branch (46:6): [True: 96.1k, False: 0]
  ------------------
   47|  96.1k|		len = snprintf(tmp, sizeof(tmp), "%s%u %s%s", space ? " " : "",
  ------------------
  |  Branch (47:49): [True: 70.2k, False: 25.8k]
  ------------------
   48|  96.1k|			       t, s, t == 1 ? "" : "s");
  ------------------
  |  Branch (48:17): [True: 2.67k, False: 93.4k]
  ------------------
   49|  96.1k|	} else {
   50|      0|		len = snprintf(tmp, sizeof(tmp), "%u%c", t, s[0]);
   51|      0|	}
   52|       |
   53|  96.1k|	INSIST(len + 1 <= sizeof(tmp));
  ------------------
  |  |  202|  96.1k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  96.1k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 96.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  96.1k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
   54|  96.1k|	isc_buffer_availableregion(target, &region);
   55|  96.1k|	if (len > region.length) {
  ------------------
  |  Branch (55:6): [True: 0, False: 96.1k]
  ------------------
   56|      0|		return ISC_R_NOSPACE;
   57|      0|	}
   58|  96.1k|	memmove(region.base, tmp, len);
   59|  96.1k|	isc_buffer_add(target, len);
   60|       |
   61|  96.1k|	return ISC_R_SUCCESS;
   62|  96.1k|}

dns__zone_keymgmt_initialize:
16146|      2|dns__zone_keymgmt_initialize(void) {
16147|  2.05k|	for (size_t idx = 0; idx < ARRAY_SIZE(keymgmt_buckets_g); ++idx) {
  ------------------
  |  |   98|  2.05k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (16147:23): [True: 2.04k, False: 2]
  ------------------
16148|  2.04k|		isc_mutex_init(&keymgmt_buckets_g[idx].lock);
  ------------------
  |  |   68|  2.04k|#define isc_mutex_init(mp)    isc__mutex_init(mp)
  |  |  ------------------
  |  |  |  |   79|  2.04k|	{                                                                 \
  |  |  |  |   80|  2.04k|		int _ret = pthread_mutex_init(mp, &isc__mutex_init_attr); \
  |  |  |  |   81|  2.04k|		PTHREADS_RUNTIME_CHECK(pthread_mutex_init, _ret);         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  288|  2.04k|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 2.04k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  ------------------
  |  |  |  |   82|  2.04k|	}
  |  |  ------------------
  ------------------
16149|  2.04k|	}
16150|      2|}

isc_base32hexnp_totext:
  125|  3.43k|		       const char *wordbreak, isc_buffer_t *target) {
  126|  3.43k|	return base32_totext(source, wordlength, wordbreak, target, base32hex,
  127|  3.43k|			     0);
  128|  3.43k|}
isc_base32hexnp_decoderegion:
  394|  4.67k|isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target) {
  395|       |	return base32_decoderegion(source, base32hex, false, target);
  396|  4.67k|}
base32.c:base32_totext:
   45|  3.43k|	      isc_buffer_t *target, const char base[], char pad) {
   46|  3.43k|	char buf[9];
   47|  3.43k|	unsigned int loops = 0;
   48|       |
   49|  3.43k|	if (wordlength >= 0 && wordlength < 8) {
  ------------------
  |  Branch (49:6): [True: 3.43k, False: 0]
  |  Branch (49:25): [True: 3.43k, False: 0]
  ------------------
   50|  3.43k|		wordlength = 8;
   51|  3.43k|	}
   52|       |
   53|  3.43k|	memset(buf, 0, sizeof(buf));
   54|  7.44k|	while (source->length > 0) {
  ------------------
  |  Branch (54:9): [True: 6.20k, False: 1.24k]
  ------------------
   55|  6.20k|		buf[0] = base[((source->base[0] >> 3) & 0x1f)]; /* 5 + */
   56|  6.20k|		if (source->length == 1) {
  ------------------
  |  Branch (56:7): [True: 493, False: 5.70k]
  ------------------
   57|    493|			buf[1] = base[(source->base[0] << 2) & 0x1c];
   58|    493|			buf[2] = buf[3] = buf[4] = pad;
   59|    493|			buf[5] = buf[6] = buf[7] = pad;
   60|    493|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    493|	{                                  \
  |  |  277|    493|		isc_result_t _r = (x);     \
  |  |  278|    493|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 493]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    493|	}
  ------------------
   61|    493|			break;
   62|    493|		}
   63|  5.70k|		buf[1] = base[((source->base[0] << 2) & 0x1c) | /* 3 = 8 */
   64|  5.70k|			      ((source->base[1] >> 6) & 0x03)]; /* 2 + */
   65|  5.70k|		buf[2] = base[((source->base[1] >> 1) & 0x1f)]; /* 5 + */
   66|  5.70k|		if (source->length == 2) {
  ------------------
  |  Branch (66:7): [True: 912, False: 4.79k]
  ------------------
   67|    912|			buf[3] = base[(source->base[1] << 4) & 0x10];
   68|    912|			buf[4] = buf[5] = buf[6] = buf[7] = pad;
   69|    912|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    912|	{                                  \
  |  |  277|    912|		isc_result_t _r = (x);     \
  |  |  278|    912|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 912]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    912|	}
  ------------------
   70|    912|			break;
   71|    912|		}
   72|  4.79k|		buf[3] = base[((source->base[1] << 4) & 0x10) | /* 1 = 8 */
   73|  4.79k|			      ((source->base[2] >> 4) & 0x0f)]; /* 4 + */
   74|  4.79k|		if (source->length == 3) {
  ------------------
  |  Branch (74:7): [True: 280, False: 4.51k]
  ------------------
   75|    280|			buf[4] = base[(source->base[2] << 1) & 0x1e];
   76|    280|			buf[5] = buf[6] = buf[7] = pad;
   77|    280|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    280|	{                                  \
  |  |  277|    280|		isc_result_t _r = (x);     \
  |  |  278|    280|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 280]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    280|	}
  ------------------
   78|    280|			break;
   79|    280|		}
   80|  4.51k|		buf[4] = base[((source->base[2] << 1) & 0x1e) | /* 4 = 8 */
   81|  4.51k|			      ((source->base[3] >> 7) & 0x01)]; /* 1 + */
   82|  4.51k|		buf[5] = base[((source->base[3] >> 2) & 0x1f)]; /* 5 + */
   83|  4.51k|		if (source->length == 4) {
  ------------------
  |  Branch (83:7): [True: 513, False: 4.00k]
  ------------------
   84|    513|			buf[6] = base[(source->base[3] << 3) & 0x18];
   85|    513|			buf[7] = pad;
   86|    513|			RETERR(str_totext(buf, target));
  ------------------
  |  |  276|    513|	{                                  \
  |  |  277|    513|		isc_result_t _r = (x);     \
  |  |  278|    513|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 513]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|    513|	}
  ------------------
   87|    513|			break;
   88|    513|		}
   89|  4.00k|		buf[6] = base[((source->base[3] << 3) & 0x18) | /* 2 = 8 */
   90|  4.00k|			      ((source->base[4] >> 5) & 0x07)]; /* 3 + */
   91|  4.00k|		buf[7] = base[source->base[4] & 0x1f];		/* 5 = 8 */
   92|  4.00k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  4.00k|	{                                  \
  |  |  277|  4.00k|		isc_result_t _r = (x);     \
  |  |  278|  4.00k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 4.00k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  4.00k|	}
  ------------------
   93|  4.00k|		isc_region_consume(source, 5);
  ------------------
  |  |   51|  4.00k|	do {                              \
  |  |   52|  4.00k|		isc_region_t *_r = (r);   \
  |  |   53|  4.00k|		unsigned int  _l = (l);   \
  |  |   54|  4.00k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  4.00k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  4.00k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4.00k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  4.00k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  4.00k|		_r->base += _l;           \
  |  |   56|  4.00k|		_r->length -= _l;         \
  |  |   57|  4.00k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 4.00k]
  |  |  ------------------
  ------------------
   94|       |
   95|  4.00k|		loops++;
   96|  4.00k|		if (source->length != 0 && wordlength >= 0 &&
  ------------------
  |  Branch (96:7): [True: 2.76k, False: 1.24k]
  |  Branch (96:30): [True: 2.76k, False: 0]
  ------------------
   97|  2.76k|		    (int)((loops + 1) * 8) >= wordlength)
  ------------------
  |  Branch (97:7): [True: 2.76k, False: 0]
  ------------------
   98|  2.76k|		{
   99|  2.76k|			loops = 0;
  100|  2.76k|			RETERR(str_totext(wordbreak, target));
  ------------------
  |  |  276|  2.76k|	{                                  \
  |  |  277|  2.76k|		isc_result_t _r = (x);     \
  |  |  278|  2.76k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.76k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.76k|	}
  ------------------
  101|  2.76k|		}
  102|  4.00k|	}
  103|  3.43k|	if (source->length > 0) {
  ------------------
  |  Branch (103:6): [True: 2.19k, False: 1.24k]
  ------------------
  104|  2.19k|		isc_region_consume(source, source->length);
  ------------------
  |  |   51|  2.19k|	do {                              \
  |  |   52|  2.19k|		isc_region_t *_r = (r);   \
  |  |   53|  2.19k|		unsigned int  _l = (l);   \
  |  |   54|  2.19k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  2.19k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  2.19k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 2.19k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  2.19k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  2.19k|		_r->base += _l;           \
  |  |   56|  2.19k|		_r->length -= _l;         \
  |  |   57|  2.19k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 2.19k]
  |  |  ------------------
  ------------------
  105|  2.19k|	}
  106|  3.43k|	return ISC_R_SUCCESS;
  107|  3.43k|}
base32.c:str_totext:
  399|  8.96k|str_totext(const char *source, isc_buffer_t *target) {
  400|  8.96k|	unsigned int l;
  401|  8.96k|	isc_region_t region;
  402|       |
  403|  8.96k|	isc_buffer_availableregion(target, &region);
  404|  8.96k|	l = strlen(source);
  405|       |
  406|  8.96k|	if (l > region.length) {
  ------------------
  |  Branch (406:6): [True: 0, False: 8.96k]
  ------------------
  407|      0|		return ISC_R_NOSPACE;
  408|      0|	}
  409|       |
  410|  8.96k|	memmove(region.base, source, l);
  411|  8.96k|	isc_buffer_add(target, l);
  412|  8.96k|	return ISC_R_SUCCESS;
  413|  8.96k|}
base32.c:base32_decode_char:
  146|  24.0k|base32_decode_char(base32_decode_ctx_t *ctx, int c) {
  147|  24.0k|	const char *s;
  148|  24.0k|	unsigned int last;
  149|       |
  150|  24.0k|	if (ctx->seen_end) {
  ------------------
  |  Branch (150:6): [True: 0, False: 24.0k]
  ------------------
  151|      0|		return ISC_R_BADBASE32;
  152|      0|	}
  153|  24.0k|	if ((s = strchr(ctx->base, c)) == NULL) {
  ------------------
  |  Branch (153:6): [True: 5, False: 24.0k]
  ------------------
  154|      5|		return ISC_R_BADBASE32;
  155|      5|	}
  156|  24.0k|	last = (unsigned int)(s - ctx->base);
  157|       |
  158|       |	/*
  159|       |	 * Handle lower case.
  160|       |	 */
  161|  24.0k|	if (last > 32) {
  ------------------
  |  Branch (161:6): [True: 1.86k, False: 22.1k]
  ------------------
  162|  1.86k|		last -= 33;
  163|  1.86k|	}
  164|       |
  165|       |	/*
  166|       |	 * Check that padding is contiguous.
  167|       |	 */
  168|  24.0k|	if (last != 32 && ctx->seen_32 != 0) {
  ------------------
  |  Branch (168:6): [True: 19.8k, False: 4.12k]
  |  Branch (168:20): [True: 0, False: 19.8k]
  ------------------
  169|      0|		return ISC_R_BADBASE32;
  170|      0|	}
  171|       |
  172|       |	/*
  173|       |	 * If padding is not permitted flag padding as a error.
  174|       |	 */
  175|  24.0k|	if (last == 32 && !ctx->pad) {
  ------------------
  |  Branch (175:6): [True: 4.12k, False: 19.8k]
  |  Branch (175:20): [True: 3, False: 4.12k]
  ------------------
  176|      3|		return ISC_R_BADBASE32;
  177|      3|	}
  178|       |
  179|       |	/*
  180|       |	 * Check that padding starts at the right place and that
  181|       |	 * bits that should be zero are.
  182|       |	 * Record how many significant bytes in answer (seen_32).
  183|       |	 */
  184|  23.9k|	if (last == 32 && ctx->seen_32 == 0) {
  ------------------
  |  Branch (184:6): [True: 4.12k, False: 19.8k]
  |  Branch (184:20): [True: 919, False: 3.20k]
  ------------------
  185|    919|		switch (ctx->digits) {
  ------------------
  |  Branch (185:11): [True: 919, False: 0]
  ------------------
  186|      0|		case 0:
  ------------------
  |  Branch (186:3): [True: 0, False: 919]
  ------------------
  187|      1|		case 1:
  ------------------
  |  Branch (187:3): [True: 1, False: 918]
  ------------------
  188|      1|			return ISC_R_BADBASE32;
  189|    465|		case 2:
  ------------------
  |  Branch (189:3): [True: 465, False: 454]
  ------------------
  190|    465|			if ((ctx->val[1] & 0x03) != 0) {
  ------------------
  |  Branch (190:8): [True: 2, False: 463]
  ------------------
  191|      2|				return ISC_R_BADBASE32;
  192|      2|			}
  193|    463|			ctx->seen_32 = 1;
  194|    463|			break;
  195|      1|		case 3:
  ------------------
  |  Branch (195:3): [True: 1, False: 918]
  ------------------
  196|      1|			return ISC_R_BADBASE32;
  197|    165|		case 4:
  ------------------
  |  Branch (197:3): [True: 165, False: 754]
  ------------------
  198|    165|			if ((ctx->val[3] & 0x0f) != 0) {
  ------------------
  |  Branch (198:8): [True: 3, False: 162]
  ------------------
  199|      3|				return ISC_R_BADBASE32;
  200|      3|			}
  201|    162|			ctx->seen_32 = 2;
  202|    162|			break;
  203|    203|		case 5:
  ------------------
  |  Branch (203:3): [True: 203, False: 716]
  ------------------
  204|    203|			if ((ctx->val[4] & 0x01) != 0) {
  ------------------
  |  Branch (204:8): [True: 1, False: 202]
  ------------------
  205|      1|				return ISC_R_BADBASE32;
  206|      1|			}
  207|    202|			ctx->seen_32 = 3;
  208|    202|			break;
  209|      1|		case 6:
  ------------------
  |  Branch (209:3): [True: 1, False: 918]
  ------------------
  210|      1|			return ISC_R_BADBASE32;
  211|     83|		case 7:
  ------------------
  |  Branch (211:3): [True: 83, False: 836]
  ------------------
  212|     83|			if ((ctx->val[6] & 0x07) != 0) {
  ------------------
  |  Branch (212:8): [True: 1, False: 82]
  ------------------
  213|      1|				return ISC_R_BADBASE32;
  214|      1|			}
  215|     82|			ctx->seen_32 = 4;
  216|     82|			break;
  217|    919|		}
  218|    919|	}
  219|       |
  220|       |	/*
  221|       |	 * Zero fill pad values.
  222|       |	 */
  223|  23.9k|	ctx->val[ctx->digits++] = (last == 32) ? 0 : last;
  ------------------
  |  Branch (223:28): [True: 4.11k, False: 19.8k]
  ------------------
  224|       |
  225|  23.9k|	if (ctx->digits == 8) {
  ------------------
  |  Branch (225:6): [True: 2.99k, False: 20.9k]
  ------------------
  226|  2.99k|		int n = 5;
  227|  2.99k|		unsigned char buf[5];
  228|       |
  229|  2.99k|		if (ctx->seen_32 != 0) {
  ------------------
  |  Branch (229:7): [True: 909, False: 2.08k]
  ------------------
  230|    909|			ctx->seen_end = true;
  231|    909|			n = ctx->seen_32;
  232|    909|		}
  233|  2.99k|		buf[0] = (ctx->val[0] << 3) | (ctx->val[1] >> 2);
  234|  2.99k|		buf[1] = (ctx->val[1] << 6) | (ctx->val[2] << 1) |
  235|  2.99k|			 (ctx->val[3] >> 4);
  236|  2.99k|		buf[2] = (ctx->val[3] << 4) | (ctx->val[4] >> 1);
  237|  2.99k|		buf[3] = (ctx->val[4] << 7) | (ctx->val[5] << 2) |
  238|  2.99k|			 (ctx->val[6] >> 3);
  239|  2.99k|		buf[4] = (ctx->val[6] << 5) | (ctx->val[7]);
  240|  2.99k|		RETERR(mem_tobuffer(ctx->target, buf, n));
  ------------------
  |  |  276|  2.99k|	{                                  \
  |  |  277|  2.99k|		isc_result_t _r = (x);     \
  |  |  278|  2.99k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 2.99k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  2.99k|	}
  ------------------
  241|  2.99k|		if (ctx->length >= 0) {
  ------------------
  |  Branch (241:7): [True: 0, False: 2.99k]
  ------------------
  242|      0|			if (n > ctx->length) {
  ------------------
  |  Branch (242:8): [True: 0, False: 0]
  ------------------
  243|      0|				return ISC_R_BADBASE32;
  244|      0|			} else {
  245|      0|				ctx->length -= n;
  246|      0|			}
  247|      0|		}
  248|  2.99k|		ctx->digits = 0;
  249|  2.99k|	}
  250|  23.9k|	return ISC_R_SUCCESS;
  251|  23.9k|}
base32.c:mem_tobuffer:
  416|  2.99k|mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) {
  417|  2.99k|	isc_region_t tr;
  418|       |
  419|  2.99k|	isc_buffer_availableregion(target, &tr);
  420|  2.99k|	if (length > tr.length) {
  ------------------
  |  Branch (420:6): [True: 0, False: 2.99k]
  ------------------
  421|      0|		return ISC_R_NOSPACE;
  422|      0|	}
  423|  2.99k|	memmove(tr.base, base, length);
  424|  2.99k|	isc_buffer_add(target, length);
  425|  2.99k|	return ISC_R_SUCCESS;
  426|  2.99k|}
base32.c:base32_decode_finish:
  254|  4.67k|base32_decode_finish(base32_decode_ctx_t *ctx) {
  255|  4.67k|	if (ctx->length > 0) {
  ------------------
  |  Branch (255:6): [True: 0, False: 4.67k]
  ------------------
  256|      0|		return ISC_R_UNEXPECTEDEND;
  257|      0|	}
  258|       |	/*
  259|       |	 * Add missing padding if required.
  260|       |	 */
  261|  4.67k|	if (!ctx->pad && ctx->digits != 0) {
  ------------------
  |  Branch (261:6): [True: 4.67k, False: 0]
  |  Branch (261:19): [True: 919, False: 3.75k]
  ------------------
  262|    919|		ctx->pad = true;
  263|  4.12k|		do {
  264|  4.12k|			RETERR(base32_decode_char(ctx, '='));
  ------------------
  |  |  276|  4.12k|	{                                  \
  |  |  277|  4.12k|		isc_result_t _r = (x);     \
  |  |  278|  4.12k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 10, False: 4.11k]
  |  |  ------------------
  |  |  279|     10|			return ((_r));     \
  |  |  280|     10|		}                          \
  |  |  281|  4.12k|	}
  ------------------
  265|  4.11k|		} while (ctx->digits != 0);
  ------------------
  |  Branch (265:12): [True: 3.20k, False: 909]
  ------------------
  266|    919|	}
  267|  4.66k|	if (ctx->digits != 0) {
  ------------------
  |  Branch (267:6): [True: 0, False: 4.66k]
  ------------------
  268|      0|		return ISC_R_BADBASE32;
  269|      0|	}
  270|  4.66k|	return ISC_R_SUCCESS;
  271|  4.66k|}
base32.c:base32_decoderegion:
  369|  4.67k|		    isc_buffer_t *target) {
  370|  4.67k|	base32_decode_ctx_t ctx = {
  371|  4.67k|		.length = -1, .base = base, .target = target, .pad = pad
  372|  4.67k|	};
  373|       |
  374|  24.5k|	while (source->length != 0) {
  ------------------
  |  Branch (374:9): [True: 19.8k, False: 4.67k]
  ------------------
  375|  19.8k|		int c = *source->base;
  376|  19.8k|		RETERR(base32_decode_char(&ctx, c));
  ------------------
  |  |  276|  19.8k|	{                                  \
  |  |  277|  19.8k|		isc_result_t _r = (x);     \
  |  |  278|  19.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 8, False: 19.8k]
  |  |  ------------------
  |  |  279|      8|			return ((_r));     \
  |  |  280|      8|		}                          \
  |  |  281|  19.8k|	}
  ------------------
  377|  19.8k|		isc_region_consume(source, 1);
  ------------------
  |  |   51|  19.8k|	do {                              \
  |  |   52|  19.8k|		isc_region_t *_r = (r);   \
  |  |   53|  19.8k|		unsigned int  _l = (l);   \
  |  |   54|  19.8k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  19.8k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  19.8k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 19.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  19.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  19.8k|		_r->base += _l;           \
  |  |   56|  19.8k|		_r->length -= _l;         \
  |  |   57|  19.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 19.8k]
  |  |  ------------------
  ------------------
  378|  19.8k|	}
  379|  4.67k|	RETERR(base32_decode_finish(&ctx));
  ------------------
  |  |  276|  4.67k|	{                                  \
  |  |  277|  4.67k|		isc_result_t _r = (x);     \
  |  |  278|  4.67k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 10, False: 4.66k]
  |  |  ------------------
  |  |  279|     10|			return ((_r));     \
  |  |  280|     10|		}                          \
  |  |  281|  4.67k|	}
  ------------------
  380|  4.66k|	return ISC_R_SUCCESS;
  381|  4.67k|}

isc_base64_totext:
   41|  41.7k|		  isc_buffer_t *target) {
   42|  41.7k|	char buf[5];
   43|  41.7k|	unsigned int loops = 0;
   44|       |
   45|  41.7k|	if (wordlength < 4) {
  ------------------
  |  Branch (45:6): [True: 7.34k, False: 34.4k]
  ------------------
   46|  7.34k|		wordlength = 4;
   47|  7.34k|	}
   48|       |
   49|  41.7k|	memset(buf, 0, sizeof(buf));
   50|   969k|	while (source->length > 2) {
  ------------------
  |  Branch (50:9): [True: 927k, False: 41.7k]
  ------------------
   51|   927k|		buf[0] = base64[(source->base[0] >> 2) & 0x3f];
   52|   927k|		buf[1] = base64[((source->base[0] << 4) & 0x30) |
   53|   927k|				((source->base[1] >> 4) & 0x0f)];
   54|   927k|		buf[2] = base64[((source->base[1] << 2) & 0x3c) |
   55|   927k|				((source->base[2] >> 6) & 0x03)];
   56|   927k|		buf[3] = base64[source->base[2] & 0x3f];
   57|   927k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|   927k|	{                                  \
  |  |  277|   927k|		isc_result_t _r = (x);     \
  |  |  278|   927k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 927k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|   927k|	}
  ------------------
   58|   927k|		isc_region_consume(source, 3);
  ------------------
  |  |   51|   927k|	do {                              \
  |  |   52|   927k|		isc_region_t *_r = (r);   \
  |  |   53|   927k|		unsigned int  _l = (l);   \
  |  |   54|   927k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|   927k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|   927k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 927k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|   927k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|   927k|		_r->base += _l;           \
  |  |   56|   927k|		_r->length -= _l;         \
  |  |   57|   927k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 927k]
  |  |  ------------------
  ------------------
   59|       |
   60|   927k|		loops++;
   61|   927k|		if (source->length != 0 && (int)((loops + 1) * 4) >= wordlength)
  ------------------
  |  Branch (61:7): [True: 920k, False: 7.59k]
  |  Branch (61:30): [True: 78.5k, False: 841k]
  ------------------
   62|  78.5k|		{
   63|  78.5k|			loops = 0;
   64|  78.5k|			RETERR(str_totext(wordbreak, target));
  ------------------
  |  |  276|  78.5k|	{                                  \
  |  |  277|  78.5k|		isc_result_t _r = (x);     \
  |  |  278|  78.5k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 78.5k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  78.5k|	}
  ------------------
   65|  78.5k|		}
   66|   927k|	}
   67|  41.7k|	if (source->length == 2) {
  ------------------
  |  Branch (67:6): [True: 7.43k, False: 34.3k]
  ------------------
   68|  7.43k|		buf[0] = base64[(source->base[0] >> 2) & 0x3f];
   69|  7.43k|		buf[1] = base64[((source->base[0] << 4) & 0x30) |
   70|  7.43k|				((source->base[1] >> 4) & 0x0f)];
   71|  7.43k|		buf[2] = base64[((source->base[1] << 2) & 0x3c)];
   72|  7.43k|		buf[3] = '=';
   73|  7.43k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  7.43k|	{                                  \
  |  |  277|  7.43k|		isc_result_t _r = (x);     \
  |  |  278|  7.43k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 7.43k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  7.43k|	}
  ------------------
   74|  7.43k|		isc_region_consume(source, 2);
  ------------------
  |  |   51|  7.43k|	do {                              \
  |  |   52|  7.43k|		isc_region_t *_r = (r);   \
  |  |   53|  7.43k|		unsigned int  _l = (l);   \
  |  |   54|  7.43k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  7.43k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  7.43k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 7.43k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  7.43k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  7.43k|		_r->base += _l;           \
  |  |   56|  7.43k|		_r->length -= _l;         \
  |  |   57|  7.43k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 7.43k]
  |  |  ------------------
  ------------------
   75|  34.3k|	} else if (source->length == 1) {
  ------------------
  |  Branch (75:13): [True: 24.8k, False: 9.49k]
  ------------------
   76|  24.8k|		buf[0] = base64[(source->base[0] >> 2) & 0x3f];
   77|  24.8k|		buf[1] = base64[((source->base[0] << 4) & 0x30)];
   78|  24.8k|		buf[2] = buf[3] = '=';
   79|  24.8k|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  24.8k|	{                                  \
  |  |  277|  24.8k|		isc_result_t _r = (x);     \
  |  |  278|  24.8k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 24.8k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  24.8k|	}
  ------------------
   80|  24.8k|		isc_region_consume(source, 1);
  ------------------
  |  |   51|  24.8k|	do {                              \
  |  |   52|  24.8k|		isc_region_t *_r = (r);   \
  |  |   53|  24.8k|		unsigned int  _l = (l);   \
  |  |   54|  24.8k|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  24.8k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  24.8k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 24.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  24.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  24.8k|		_r->base += _l;           \
  |  |   56|  24.8k|		_r->length -= _l;         \
  |  |   57|  24.8k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 24.8k]
  |  |  ------------------
  ------------------
   81|  24.8k|	}
   82|  41.7k|	return ISC_R_SUCCESS;
   83|  41.7k|}
base64.c:str_totext:
  236|  1.03M|str_totext(const char *source, isc_buffer_t *target) {
  237|  1.03M|	unsigned int l;
  238|  1.03M|	isc_region_t region;
  239|       |
  240|  1.03M|	isc_buffer_availableregion(target, &region);
  241|  1.03M|	l = strlen(source);
  242|       |
  243|  1.03M|	if (l > region.length) {
  ------------------
  |  Branch (243:6): [True: 0, False: 1.03M]
  ------------------
  244|      0|		return ISC_R_NOSPACE;
  245|      0|	}
  246|       |
  247|  1.03M|	memmove(region.base, source, l);
  248|  1.03M|	isc_buffer_add(target, l);
  249|  1.03M|	return ISC_R_SUCCESS;
  250|  1.03M|}

isc_hmac:
  247|     12|	 unsigned int *digestlen) {
  248|     12|	EVP_MAC_CTX *ctx;
  249|     12|	size_t maclen;
  250|       |
  251|     12|	REQUIRE(type < ISC_MD_MAX);
  ------------------
  |  |  198|     12|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     12|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     12|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  252|       |
  253|     12|	if (isc__crypto_md[type] == NULL) {
  ------------------
  |  Branch (253:6): [True: 0, False: 12]
  ------------------
  254|      0|		return ISC_R_NOTIMPLEMENTED;
  255|      0|	}
  256|       |
  257|     12|	ctx = EVP_MAC_CTX_new(evp_hmac);
  258|     12|	RUNTIME_CHECK(ctx != NULL);
  ------------------
  |  |  245|     12|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 12, False: 0]
  |  |  ------------------
  ------------------
  259|       |
  260|     12|	if (EVP_MAC_init(ctx, key, keylen, md_to_hmac_params[type]) != 1) {
  ------------------
  |  Branch (260:6): [True: 0, False: 12]
  ------------------
  261|      0|		goto fail;
  262|      0|	}
  263|       |
  264|     12|	if (EVP_MAC_update(ctx, buf, len) != 1) {
  ------------------
  |  Branch (264:6): [True: 0, False: 12]
  ------------------
  265|      0|		goto fail;
  266|      0|	}
  267|       |
  268|     12|	maclen = *digestlen;
  269|     12|	if (EVP_MAC_final(ctx, digest, &maclen, maclen) != 1) {
  ------------------
  |  Branch (269:6): [True: 0, False: 12]
  ------------------
  270|      0|		goto fail;
  271|      0|	}
  272|       |
  273|     12|	*digestlen = maclen;
  274|       |
  275|     12|	EVP_MAC_CTX_free(ctx);
  276|     12|	return ISC_R_SUCCESS;
  277|       |
  278|      0|fail:
  279|      0|	ERR_clear_error();
  280|      0|	EVP_MAC_CTX_free(ctx);
  281|      0|	return ISC_R_CRYPTOFAILURE;
  282|     12|}
isc_crypto_fips_mode:
  916|      2|isc_crypto_fips_mode(void) {
  917|       |	return EVP_default_properties_is_fips_enabled(NULL) != 0;
  918|      2|}
isc__crypto_initialize:
  970|      2|isc__crypto_initialize(void) {
  971|       |	/*
  972|       |	 * We call OPENSSL_cleanup() manually, in a correct order, thus disable
  973|       |	 * the automatic atexit() handler.
  974|       |	 */
  975|      2|	uint64_t opts = OPENSSL_INIT_LOAD_CONFIG | OPENSSL_INIT_NO_ATEXIT;
  976|       |
  977|      2|	RUNTIME_CHECK(OPENSSL_init_ssl(opts, NULL) == 1);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  978|       |
  979|      2|	register_algorithms();
  980|       |
  981|       |#if defined(ENABLE_FIPS_MODE)
  982|       |	if (isc_crypto_fips_enable() != ISC_R_SUCCESS) {
  983|       |		ERR_clear_error();
  984|       |		FATAL_ERROR("Failed to toggle FIPS mode but is "
  985|       |			    "required for this build");
  986|       |	}
  987|       |#endif
  988|       |
  989|       |	/* Protect ourselves against unseeded PRNG */
  990|      2|	if (RAND_status() != 1) {
  ------------------
  |  Branch (990:6): [True: 0, False: 2]
  ------------------
  991|      0|		isc_ossl_wrap_logged_toresult(
  ------------------
  |  |   26|      0|	isc__ossl_wrap_logged_toresult(category, module, funcname, fallback, \
  |  |   27|      0|				       __FILE__, __LINE__)
  ------------------
  992|      0|			ISC_LOGCATEGORY_GENERAL, ISC_LOGMODULE_CRYPTO,
  993|      0|			"RAND_status", ISC_R_CRYPTOFAILURE);
  994|      0|		FATAL_ERROR("OpenSSL pseudorandom number generator "
  ------------------
  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
  995|      0|			    "cannot be initialized (see the `PRNG not "
  996|      0|			    "seeded' message in the OpenSSL FAQ)");
  997|      0|	}
  998|      2|}
ossl3.c:register_algorithms:
  133|      2|register_algorithms(void) {
  134|      2|	if (!isc_crypto_fips_mode()) {
  ------------------
  |  Branch (134:6): [True: 2, False: 0]
  ------------------
  135|      2|		md_register_algorithm(MD5);
  ------------------
  |  |  124|      2|	{                                                                      \
  |  |  125|      2|		REQUIRE(isc__crypto_md[ISC_MD_##alg] == NULL);                 \
  |  |  ------------------
  |  |  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  126|      2|		isc__crypto_md[ISC_MD_##alg] = EVP_MD_fetch(NULL, #alg, NULL); \
  |  |  127|      2|		if (isc__crypto_md[ISC_MD_##alg] == NULL) {                    \
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 2]
  |  |  ------------------
  |  |  128|      0|			ERR_clear_error();                                     \
  |  |  129|      0|		}                                                              \
  |  |  130|      2|	}
  ------------------
  136|       |
  137|      2|		INSIST(evp_chacha20poly1305 == NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  138|      2|		evp_chacha20poly1305 =
  139|      2|			EVP_CIPHER_fetch(NULL, "ChaCha20-Poly1305", NULL);
  140|       |
  141|      2|		INSIST(evp_chacha20 == NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  142|      2|		evp_chacha20 = EVP_CIPHER_fetch(NULL, "ChaCha20", NULL);
  143|      2|	}
  144|       |
  145|      2|	md_register_algorithm(SHA1);
  ------------------
  |  |  124|      2|	{                                                                      \
  |  |  125|      2|		REQUIRE(isc__crypto_md[ISC_MD_##alg] == NULL);                 \
  |  |  ------------------
  |  |  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  126|      2|		isc__crypto_md[ISC_MD_##alg] = EVP_MD_fetch(NULL, #alg, NULL); \
  |  |  127|      2|		if (isc__crypto_md[ISC_MD_##alg] == NULL) {                    \
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 2]
  |  |  ------------------
  |  |  128|      0|			ERR_clear_error();                                     \
  |  |  129|      0|		}                                                              \
  |  |  130|      2|	}
  ------------------
  146|      2|	md_register_algorithm(SHA224);
  ------------------
  |  |  124|      2|	{                                                                      \
  |  |  125|      2|		REQUIRE(isc__crypto_md[ISC_MD_##alg] == NULL);                 \
  |  |  ------------------
  |  |  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  126|      2|		isc__crypto_md[ISC_MD_##alg] = EVP_MD_fetch(NULL, #alg, NULL); \
  |  |  127|      2|		if (isc__crypto_md[ISC_MD_##alg] == NULL) {                    \
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 2]
  |  |  ------------------
  |  |  128|      0|			ERR_clear_error();                                     \
  |  |  129|      0|		}                                                              \
  |  |  130|      2|	}
  ------------------
  147|      2|	md_register_algorithm(SHA256);
  ------------------
  |  |  124|      2|	{                                                                      \
  |  |  125|      2|		REQUIRE(isc__crypto_md[ISC_MD_##alg] == NULL);                 \
  |  |  ------------------
  |  |  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  126|      2|		isc__crypto_md[ISC_MD_##alg] = EVP_MD_fetch(NULL, #alg, NULL); \
  |  |  127|      2|		if (isc__crypto_md[ISC_MD_##alg] == NULL) {                    \
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 2]
  |  |  ------------------
  |  |  128|      0|			ERR_clear_error();                                     \
  |  |  129|      0|		}                                                              \
  |  |  130|      2|	}
  ------------------
  148|      2|	md_register_algorithm(SHA384);
  ------------------
  |  |  124|      2|	{                                                                      \
  |  |  125|      2|		REQUIRE(isc__crypto_md[ISC_MD_##alg] == NULL);                 \
  |  |  ------------------
  |  |  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  126|      2|		isc__crypto_md[ISC_MD_##alg] = EVP_MD_fetch(NULL, #alg, NULL); \
  |  |  127|      2|		if (isc__crypto_md[ISC_MD_##alg] == NULL) {                    \
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 2]
  |  |  ------------------
  |  |  128|      0|			ERR_clear_error();                                     \
  |  |  129|      0|		}                                                              \
  |  |  130|      2|	}
  ------------------
  149|      2|	md_register_algorithm(SHA512);
  ------------------
  |  |  124|      2|	{                                                                      \
  |  |  125|      2|		REQUIRE(isc__crypto_md[ISC_MD_##alg] == NULL);                 \
  |  |  ------------------
  |  |  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  126|      2|		isc__crypto_md[ISC_MD_##alg] = EVP_MD_fetch(NULL, #alg, NULL); \
  |  |  127|      2|		if (isc__crypto_md[ISC_MD_##alg] == NULL) {                    \
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 2]
  |  |  ------------------
  |  |  128|      0|			ERR_clear_error();                                     \
  |  |  129|      0|		}                                                              \
  |  |  130|      2|	}
  ------------------
  150|       |
  151|      2|	INSIST(evp_aes_128_gcm == NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  152|      2|	evp_aes_128_gcm = EVP_CIPHER_fetch(NULL, "AES-128-GCM", NULL);
  153|       |
  154|      2|	INSIST(evp_aes_256_gcm == NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  155|      2|	evp_aes_256_gcm = EVP_CIPHER_fetch(NULL, "AES-256-GCM", NULL);
  156|       |
  157|      2|	INSIST(evp_aes_128_ctr == NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  158|      2|	evp_aes_128_ctr = EVP_CIPHER_fetch(NULL, "AES-128-CTR", NULL);
  159|       |
  160|      2|	INSIST(evp_aes_256_ctr == NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  161|      2|	evp_aes_256_ctr = EVP_CIPHER_fetch(NULL, "AES-256-CTR", NULL);
  162|       |
  163|       |	/* We _must_ have HMAC */
  164|      2|	evp_hmac = EVP_MAC_fetch(NULL, "HMAC", NULL);
  165|      2|	if (evp_hmac == NULL) {
  ------------------
  |  Branch (165:6): [True: 0, False: 2]
  ------------------
  166|      0|		FATAL_ERROR("OpenSSL failed to find an HMAC implementation. "
  ------------------
  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
  167|      0|			    "Please make sure the default provider has an "
  168|      0|			    "EVP_MAC-HMAC implementation");
  169|      0|	}
  170|       |
  171|      2|	evp_tls_1_3_kdf = EVP_KDF_fetch(NULL, OSSL_KDF_NAME_TLS1_3_KDF, NULL);
  172|      2|	if (evp_tls_1_3_kdf == NULL) {
  ------------------
  |  Branch (172:6): [True: 0, False: 2]
  ------------------
  173|      0|		FATAL_ERROR(
  ------------------
  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
  174|      0|			"OpenSSL failed to find an TLS 1.3 KDF implementation."
  175|      0|			"Please make sure the default provider has an "
  176|      0|			"EVP_KDF-TLS13_KDF implementation");
  177|      0|	}
  178|       |
  179|      2|	evp_hkdf = EVP_KDF_fetch(NULL, OSSL_KDF_NAME_HKDF, NULL);
  180|      2|	if (evp_hkdf == NULL) {
  ------------------
  |  Branch (180:6): [True: 0, False: 2]
  ------------------
  181|      0|		FATAL_ERROR("OpenSSL failed to find an HKDF implementation. "
  ------------------
  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
  182|      0|			    "Please make sure the default provider has an "
  183|      0|			    "EVP_KDF-HKDF implementation");
  184|      0|	}
  185|       |
  186|      2|	ERR_clear_error();
  187|       |
  188|      2|	return ISC_R_SUCCESS;
  189|      2|}

isc__hash_initialize:
   30|      2|isc__hash_initialize(void) {
   31|       |	/*
   32|       |	 * Set a constant key to help in problem reproduction should
   33|       |	 * fuzzing find a crash or a hang.
   34|       |	 */
   35|      2|	uint8_t key[16] = { 1 };
   36|       |#if !FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
   37|       |	isc_random_buf(key, sizeof(key));
   38|       |#endif /* if FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION */
   39|      2|	STATIC_ASSERT(sizeof(key) >= sizeof(isc_hash_key),
  ------------------
  |  |  154|      2|#define STATIC_ASSERT(cond, msg) _Static_assert(cond, msg)
  ------------------
   40|      2|		      "sizeof(key) < sizeof(isc_hash_key)");
   41|      2|	memmove(isc_hash_key, key, sizeof(isc_hash_key));
   42|      2|}
isc_hash32_init:
   57|   459k|isc_hash32_init(isc_hash32_t *restrict state) {
   58|   459k|	isc_halfsiphash13_init(state, isc_hash_key);
   59|   459k|}
isc_hash32_hash:
   63|   901k|		const size_t length, const bool case_sensitive) {
   64|   901k|	REQUIRE(length == 0 || data != NULL);
  ------------------
  |  |  198|   901k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.80M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 901k]
  |  |  |  |  |  Branch (42:11): [True: 901k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   901k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   65|       |
   66|   901k|	isc_halfsiphash13_hash(state, data, length, case_sensitive);
   67|   901k|}
isc_hash32_finalize:
   70|   459k|isc_hash32_finalize(isc_hash32_t *restrict state) {
   71|   459k|	uint32_t hval;
   72|       |
   73|   459k|	isc_halfsiphash13_finalize(state, (uint8_t *)&hval);
   74|       |
   75|   459k|	return hval;
   76|   459k|}

isc_hashmap_create:
  209|  27.5k|isc_hashmap_create(isc_mem_t *mctx, uint8_t bits, isc_hashmap_t **hashmapp) {
  210|  27.5k|	isc_hashmap_t *hashmap = isc_mem_get(mctx, sizeof(*hashmap));
  ------------------
  |  |  144|  27.5k|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
  211|       |
  212|  27.5k|	REQUIRE(hashmapp != NULL && *hashmapp == NULL);
  ------------------
  |  |  198|  27.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  55.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  27.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  213|  27.5k|	REQUIRE(mctx != NULL);
  ------------------
  |  |  198|  27.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  27.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 27.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  27.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  214|  27.5k|	REQUIRE(bits >= HASHMAP_MIN_BITS && bits <= HASHMAP_MAX_BITS);
  ------------------
  |  |  198|  27.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  55.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  27.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  215|       |
  216|  27.5k|	*hashmap = (isc_hashmap_t){
  217|  27.5k|		.magic = ISC_HASHMAP_MAGIC,
  ------------------
  |  |   57|  27.5k|#define ISC_HASHMAP_MAGIC	   ISC_MAGIC('H', 'M', 'a', 'p')
  |  |  ------------------
  |  |  |  |   31|  27.5k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  218|  27.5k|	};
  219|  27.5k|	isc_mem_attach(mctx, &hashmap->mctx);
  220|       |
  221|  27.5k|	hashmap_create_table(hashmap, 0, bits);
  222|       |
  223|  27.5k|	hashmap->magic = ISC_HASHMAP_MAGIC;
  ------------------
  |  |   57|  27.5k|#define ISC_HASHMAP_MAGIC	   ISC_MAGIC('H', 'M', 'a', 'p')
  |  |  ------------------
  |  |  |  |   31|  27.5k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  224|       |
  225|  27.5k|	*hashmapp = hashmap;
  226|  27.5k|}
isc_hashmap_destroy:
  229|  27.5k|isc_hashmap_destroy(isc_hashmap_t **hashmapp) {
  230|  27.5k|	isc_hashmap_t *hashmap;
  231|       |
  232|  27.5k|	REQUIRE(hashmapp != NULL && *hashmapp != NULL);
  ------------------
  |  |  198|  27.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  55.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  27.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  233|  27.5k|	REQUIRE(ISC_HASHMAP_VALID(*hashmapp));
  ------------------
  |  |  198|  27.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  55.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 27.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  27.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  234|       |
  235|  27.5k|	hashmap = *hashmapp;
  236|  27.5k|	*hashmapp = NULL;
  237|       |
  238|  27.5k|	hashmap->magic = 0;
  239|       |
  240|  82.7k|	for (size_t i = 0; i < HASHMAP_NUM_TABLES; i++) {
  ------------------
  |  |   61|  82.7k|#define HASHMAP_NUM_TABLES 2
  ------------------
  |  Branch (240:21): [True: 55.1k, False: 27.5k]
  ------------------
  241|  55.1k|		if (hashmap->tables[i].table != NULL) {
  ------------------
  |  Branch (241:7): [True: 31.6k, False: 23.4k]
  ------------------
  242|  31.6k|			hashmap_free_table(hashmap, i, true);
  243|  31.6k|		}
  244|  55.1k|	}
  245|  27.5k|	INSIST(hashmap->count == 0);
  ------------------
  |  |  202|  27.5k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  27.5k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 27.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  27.5k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  246|       |
  247|       |	isc_mem_putanddetach(&hashmap->mctx, hashmap, sizeof(*hashmap));
  ------------------
  |  |  187|  27.5k|	do {                                                               \
  |  |  188|  27.5k|		isc__mem_putanddetach((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  189|  27.5k|		(p) = NULL;                                                \
  |  |  190|  27.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (190:11): [Folded, False: 27.5k]
  |  |  ------------------
  ------------------
  248|  27.5k|}
isc_hashmap_add:
  568|   459k|		void **foundp) {
  569|   459k|	REQUIRE(ISC_HASHMAP_VALID(hashmap));
  ------------------
  |  |  198|   459k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   918k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 459k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 459k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   459k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  570|   459k|	REQUIRE(key != NULL);
  ------------------
  |  |  198|   459k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   459k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 459k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   459k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  571|       |
  572|   459k|	if (rehashing_in_progress(hashmap)) {
  ------------------
  |  Branch (572:6): [True: 42.4k, False: 416k]
  ------------------
  573|  42.4k|		hashmap_rehash_one(hashmap);
  574|   416k|	} else if (over_threshold(hashmap)) {
  ------------------
  |  Branch (574:13): [True: 12.9k, False: 403k]
  ------------------
  575|  12.9k|		hashmap_rehash_start_grow(hashmap);
  576|  12.9k|		hashmap_rehash_one(hashmap);
  577|  12.9k|	}
  578|       |
  579|   459k|	if (rehashing_in_progress(hashmap)) {
  ------------------
  |  Branch (579:6): [True: 46.4k, False: 412k]
  ------------------
  580|  46.4k|		uint8_t fidx = hashmap_nexttable(hashmap->hindex);
  581|  46.4k|		uint32_t psl;
  582|       |
  583|       |		/* Look for the value in the old table */
  584|  46.4k|		hashmap_node_t *found = hashmap_find(hashmap, hashval, match,
  585|  46.4k|						     key, &psl, &fidx);
  586|  46.4k|		if (found != NULL) {
  ------------------
  |  Branch (586:7): [True: 10.3k, False: 36.1k]
  ------------------
  587|  10.3k|			INSIST(found->key != NULL);
  ------------------
  |  |  202|  10.3k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  10.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 10.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  10.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  588|  10.3k|			SET_IF_NOT_NULL(foundp, found->value);
  ------------------
  |  |  104|  10.3k|	if ((obj) != NULL) {      \
  |  |  ------------------
  |  |  |  Branch (104:6): [True: 10.3k, False: 0]
  |  |  ------------------
  |  |  105|  10.3k|		*(obj) = (val);   \
  |  |  106|  10.3k|	}
  ------------------
  589|  10.3k|			return ISC_R_EXISTS;
  590|  10.3k|		}
  591|  46.4k|	}
  592|       |
  593|   448k|	return hashmap_add(hashmap, hashval, match, key, value, foundp,
  594|   448k|			   hashmap->hindex);
  595|   459k|}
hashmap.c:hashmap_create_table:
  168|  40.5k|		     const uint8_t bits) {
  169|  40.5k|	REQUIRE(hashmap->tables[idx].hashbits == HASHMAP_NO_BITS);
  ------------------
  |  |  198|  40.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  40.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 40.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  40.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  170|  40.5k|	REQUIRE(hashmap->tables[idx].table == NULL);
  ------------------
  |  |  198|  40.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  40.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 40.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  40.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  171|  40.5k|	REQUIRE(bits >= HASHMAP_MIN_BITS);
  ------------------
  |  |  198|  40.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  40.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 40.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  40.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  172|  40.5k|	REQUIRE(bits <= HASHMAP_MAX_BITS);
  ------------------
  |  |  198|  40.5k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  40.5k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 40.5k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  40.5k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  173|       |
  174|  40.5k|	hashmap->tables[idx] = (hashmap_table_t){
  175|  40.5k|		.hashbits = bits,
  176|  40.5k|		.hashmask = HASHSIZE(bits) - 1,
  ------------------
  |  |   63|  40.5k|#define HASHSIZE(bits) (UINT64_C(1) << (bits))
  ------------------
  177|  40.5k|		.size = HASHSIZE(bits),
  ------------------
  |  |   63|  40.5k|#define HASHSIZE(bits) (UINT64_C(1) << (bits))
  ------------------
  178|  40.5k|	};
  179|       |
  180|  40.5k|	hashmap->tables[idx].table =
  181|       |		isc_mem_cget(hashmap->mctx, hashmap->tables[idx].size,
  ------------------
  |  |  146|  40.5k|	isc__mem_get((c), ISC_CHECKED_MUL((n), (s)), \
  |  |  ------------------
  |  |  |  |   32|  40.5k|	({                                                \
  |  |  |  |   33|  40.5k|		typeof(a) _c;                             \
  |  |  |  |   34|  40.5k|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|  40.5k|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|  40.5k|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  40.5k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 40.5k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  40.5k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|  40.5k|		_c;                                       \
  |  |  |  |   37|  40.5k|	})
  |  |  ------------------
  |  |  147|  40.5k|		     ISC_MEM_ZERO _ISC_MEM_FILELINE)
  |  |  ------------------
  |  |  |  |  142|  40.5k|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  ------------------
  182|  40.5k|			     sizeof(hashmap->tables[idx].table[0]));
  183|  40.5k|}
hashmap.c:hashmap_free_table:
  186|  40.5k|hashmap_free_table(isc_hashmap_t *hashmap, const uint8_t idx, bool cleanup) {
  187|  40.5k|	size_t size;
  188|       |
  189|  40.5k|	if (cleanup) {
  ------------------
  |  Branch (189:6): [True: 31.6k, False: 8.89k]
  ------------------
  190|   277k|		for (size_t i = 0; i < hashmap->tables[idx].size; i++) {
  ------------------
  |  Branch (190:22): [True: 245k, False: 31.6k]
  ------------------
  191|   245k|			hashmap_node_t *node = &hashmap->tables[idx].table[i];
  192|   245k|			if (node->key != NULL) {
  ------------------
  |  Branch (192:8): [True: 95.3k, False: 150k]
  ------------------
  193|  95.3k|				*node = (hashmap_node_t){ 0 };
  194|  95.3k|				hashmap->count--;
  195|  95.3k|			}
  196|   245k|		}
  197|  31.6k|	}
  198|       |
  199|  40.5k|	size = hashmap->tables[idx].size *
  200|  40.5k|	       sizeof(hashmap->tables[idx].table[0]);
  201|  40.5k|	isc_mem_put(hashmap->mctx, hashmap->tables[idx].table, size);
  ------------------
  |  |  171|  40.5k|	do {                                                      \
  |  |  172|  40.5k|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|  40.5k|		(p) = NULL;                                       \
  |  |  174|  40.5k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 40.5k]
  |  |  ------------------
  ------------------
  202|       |
  203|  40.5k|	hashmap->tables[idx] = (hashmap_table_t){
  204|  40.5k|		.hashbits = HASHMAP_NO_BITS,
  ------------------
  |  |   65|  40.5k|#define HASHMAP_NO_BITS	 0U
  ------------------
  205|  40.5k|	};
  206|  40.5k|}
hashmap.c:hashmap_find:
  253|  46.4k|	     uint8_t *idxp) {
  254|  46.4k|	uint32_t hash;
  255|  46.4k|	uint32_t psl;
  256|  46.4k|	uint8_t idx = *idxp;
  257|  46.4k|	uint32_t pos;
  258|       |
  259|  46.4k|nexttable:
  260|  46.4k|	psl = 0;
  261|  46.4k|	hash = isc_hash_bits32(hashval, hashmap->tables[idx].hashbits);
  262|       |
  263|  72.8k|	while (true) {
  ------------------
  |  Branch (263:9): [True: 72.8k, Folded]
  ------------------
  264|  72.8k|		hashmap_node_t *node = NULL;
  265|       |
  266|  72.8k|		pos = (hash + psl) & hashmap->tables[idx].hashmask;
  267|       |
  268|  72.8k|		node = &hashmap->tables[idx].table[pos];
  269|       |
  270|  72.8k|		if (node->key == NULL || psl > node->psl) {
  ------------------
  |  Branch (270:7): [True: 31.4k, False: 41.4k]
  |  Branch (270:28): [True: 4.68k, False: 36.7k]
  ------------------
  271|  36.1k|			break;
  272|  36.1k|		}
  273|       |
  274|  36.7k|		if (node->hashval == hashval) {
  ------------------
  |  Branch (274:7): [True: 10.3k, False: 26.3k]
  ------------------
  275|  10.3k|			if (match(node->value, key)) {
  ------------------
  |  Branch (275:8): [True: 10.3k, False: 23]
  ------------------
  276|  10.3k|				*pslp = psl;
  277|  10.3k|				*idxp = idx;
  278|  10.3k|				return node;
  279|  10.3k|			}
  280|  10.3k|		}
  281|       |
  282|  26.3k|		psl++;
  283|  26.3k|	}
  284|  36.1k|	if (try_nexttable(hashmap, idx)) {
  ------------------
  |  Branch (284:6): [True: 0, False: 36.1k]
  ------------------
  285|      0|		idx = hashmap_nexttable(idx);
  286|      0|		goto nexttable;
  287|      0|	}
  288|       |
  289|  36.1k|	return NULL;
  290|  36.1k|}
hashmap.c:try_nexttable:
  129|  36.1k|try_nexttable(const isc_hashmap_t *hashmap, uint8_t idx) {
  130|  36.1k|	return idx == hashmap->hindex && rehashing_in_progress(hashmap);
  ------------------
  |  Branch (130:9): [True: 0, False: 36.1k]
  |  Branch (130:35): [True: 0, False: 0]
  ------------------
  131|  36.1k|}
hashmap.c:rehashing_in_progress:
  123|   931k|rehashing_in_progress(const isc_hashmap_t *hashmap) {
  124|   931k|	return hashmap->tables[hashmap_nexttable(hashmap->hindex)].table !=
  125|       |	       NULL;
  126|   931k|}
hashmap.c:hashmap_rehash_one:
  349|  55.3k|hashmap_rehash_one(isc_hashmap_t *hashmap) {
  350|  55.3k|	uint8_t oldidx = hashmap_nexttable(hashmap->hindex);
  351|  55.3k|	uint32_t oldsize = hashmap->tables[oldidx].size;
  352|  55.3k|	hashmap_node_t *oldtable = hashmap->tables[oldidx].table;
  353|  55.3k|	hashmap_node_t node;
  354|       |
  355|       |	/* Don't rehash when iterating */
  356|  55.3k|	INSIST(atomic_load_acquire(&hashmap->iterators) == 0);
  ------------------
  |  |  202|  55.3k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  55.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 55.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  55.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  357|       |
  358|       |	/* Find first non-empty node */
  359|  97.5k|	while (hashmap->hiter < oldsize && oldtable[hashmap->hiter].key == NULL)
  ------------------
  |  Branch (359:9): [True: 88.6k, False: 8.89k]
  |  Branch (359:37): [True: 42.1k, False: 46.4k]
  ------------------
  360|  42.1k|	{
  361|  42.1k|		hashmap->hiter++;
  362|  42.1k|	}
  363|       |
  364|       |	/* Rehashing complete */
  365|  55.3k|	if (hashmap->hiter == oldsize) {
  ------------------
  |  Branch (365:6): [True: 8.89k, False: 46.4k]
  ------------------
  366|  8.89k|		hashmap_free_table(hashmap, hashmap_nexttable(hashmap->hindex),
  367|  8.89k|				   false);
  368|  8.89k|		hashmap->hiter = 0;
  369|  8.89k|		return;
  370|  8.89k|	}
  371|       |
  372|       |	/* Move the first non-empty node from old table to new table */
  373|  46.4k|	node = oldtable[hashmap->hiter];
  374|       |
  375|  46.4k|	(void)hashmap_delete_node(hashmap, &oldtable[hashmap->hiter],
  376|  46.4k|				  node.hashval, node.psl, oldidx, UINT32_MAX);
  377|       |
  378|  46.4k|	isc_result_t result = hashmap_add(hashmap, node.hashval, NULL, node.key,
  379|  46.4k|					  node.value, NULL, hashmap->hindex);
  380|  46.4k|	INSIST(result == ISC_R_SUCCESS);
  ------------------
  |  |  202|  46.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  46.4k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 46.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  46.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  381|       |
  382|       |	/*
  383|       |	 * we don't increase the hiter here because the table has been reordered
  384|       |	 * when we deleted the old node
  385|       |	 */
  386|  46.4k|}
hashmap.c:hashmap_delete_node:
  313|  46.4k|		    size_t size) {
  314|  46.4k|	uint32_t pos;
  315|  46.4k|	uint32_t hash;
  316|  46.4k|	bool last = false;
  317|       |
  318|  46.4k|	hashmap->count--;
  319|       |
  320|  46.4k|	hash = isc_hash_bits32(hashval, hashmap->tables[idx].hashbits);
  321|  46.4k|	pos = (hash + psl) & hashmap->tables[idx].hashmask;
  322|       |
  323|  87.4k|	while (true) {
  ------------------
  |  Branch (323:9): [True: 87.4k, Folded]
  ------------------
  324|  87.4k|		hashmap_node_t *node = NULL;
  325|       |
  326|  87.4k|		pos = (pos + 1) & hashmap->tables[idx].hashmask;
  327|  87.4k|		INSIST(pos < hashmap->tables[idx].size);
  ------------------
  |  |  202|  87.4k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  87.4k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 87.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  87.4k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  328|       |
  329|  87.4k|		node = &hashmap->tables[idx].table[pos];
  330|       |
  331|  87.4k|		if (node->key == NULL || node->psl == 0) {
  ------------------
  |  Branch (331:7): [True: 21.3k, False: 66.1k]
  |  Branch (331:28): [True: 25.1k, False: 40.9k]
  ------------------
  332|  46.4k|			break;
  333|  46.4k|		}
  334|       |
  335|  40.9k|		if ((pos % size) == 0) {
  ------------------
  |  Branch (335:7): [True: 0, False: 40.9k]
  ------------------
  336|      0|			last = true;
  337|      0|		}
  338|       |
  339|  40.9k|		node->psl--;
  340|  40.9k|		*entry = *node;
  341|  40.9k|		entry = &hashmap->tables[idx].table[pos];
  342|  40.9k|	}
  343|       |
  344|  46.4k|	*entry = (hashmap_node_t){ 0 };
  345|  46.4k|	return last;
  346|  46.4k|}
hashmap.c:over_threshold:
  482|   416k|over_threshold(isc_hashmap_t *hashmap) {
  483|   416k|	uint32_t bits = hashmap->tables[hashmap->hindex].hashbits;
  484|   416k|	if (bits == HASHMAP_MAX_BITS) {
  ------------------
  |  |   67|   416k|#define HASHMAP_MAX_BITS 32U
  ------------------
  |  Branch (484:6): [True: 0, False: 416k]
  ------------------
  485|      0|		return false;
  486|      0|	}
  487|   416k|	size_t threshold = APPROX_90_PERCENT(HASHSIZE(bits));
  ------------------
  |  |   45|   416k|#define APPROX_90_PERCENT(x) (((x) * 921) >> 10)
  ------------------
  488|   416k|	return hashmap->count > threshold;
  489|   416k|}
hashmap.c:hashmap_rehash_start_grow:
  416|  12.9k|hashmap_rehash_start_grow(isc_hashmap_t *hashmap) {
  417|  12.9k|	uint32_t newbits;
  418|  12.9k|	uint8_t oldindex = hashmap->hindex;
  419|  12.9k|	uint32_t oldbits = hashmap->tables[oldindex].hashbits;
  420|  12.9k|	uint8_t newindex = hashmap_nexttable(oldindex);
  421|       |
  422|  12.9k|	REQUIRE(!rehashing_in_progress(hashmap));
  ------------------
  |  |  198|  12.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  12.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 12.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  12.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  423|       |
  424|  12.9k|	newbits = grow_bits(hashmap);
  425|       |
  426|  12.9k|	if (newbits > oldbits) {
  ------------------
  |  Branch (426:6): [True: 12.9k, False: 0]
  ------------------
  427|  12.9k|		hashmap_create_table(hashmap, newindex, newbits);
  428|  12.9k|		hashmap->hindex = newindex;
  429|  12.9k|	}
  430|  12.9k|}
hashmap.c:grow_bits:
  389|  12.9k|grow_bits(isc_hashmap_t *hashmap) {
  390|  12.9k|	uint32_t newbits = hashmap->tables[hashmap->hindex].hashbits + 1;
  391|  12.9k|	size_t newsize = HASHSIZE(newbits);
  ------------------
  |  |   63|  12.9k|#define HASHSIZE(bits) (UINT64_C(1) << (bits))
  ------------------
  392|       |
  393|  25.9k|	while (hashmap->count > APPROX_40_PERCENT(newsize)) {
  ------------------
  |  |   47|  25.9k|#define APPROX_40_PERCENT(x) (((x) * 409) >> 10)
  ------------------
  |  Branch (393:9): [True: 12.9k, False: 12.9k]
  ------------------
  394|  12.9k|		newbits += 1;
  395|  12.9k|		newsize = HASHSIZE(newbits);
  ------------------
  |  |   63|  12.9k|#define HASHSIZE(bits) (UINT64_C(1) << (bits))
  ------------------
  396|  12.9k|	}
  397|  12.9k|	if (newbits > HASHMAP_MAX_BITS) {
  ------------------
  |  |   67|  12.9k|#define HASHMAP_MAX_BITS 32U
  ------------------
  |  Branch (397:6): [True: 0, False: 12.9k]
  ------------------
  398|      0|		newbits = HASHMAP_MAX_BITS;
  ------------------
  |  |   67|      0|#define HASHMAP_MAX_BITS 32U
  ------------------
  399|      0|	}
  400|       |
  401|  12.9k|	return newbits;
  402|  12.9k|}
hashmap.c:hashmap_nexttable:
  118|  1.05M|hashmap_nexttable(uint8_t idx) {
  119|  1.05M|	return (idx == 0) ? 1 : 0;
  ------------------
  |  Branch (119:9): [True: 585k, False: 469k]
  ------------------
  120|  1.05M|}
hashmap.c:hashmap_add:
  504|   495k|	    void **foundp, uint8_t idx) {
  505|   495k|	uint32_t hash;
  506|   495k|	uint32_t psl = 0;
  507|   495k|	hashmap_node_t node;
  508|   495k|	hashmap_node_t *current = NULL;
  509|   495k|	uint32_t pos;
  510|       |
  511|   495k|	INSIST(atomic_load_acquire(&hashmap->iterators) == 0);
  ------------------
  |  |  202|   495k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   495k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 495k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   495k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  512|       |
  513|   495k|	hash = isc_hash_bits32(hashval, hashmap->tables[idx].hashbits);
  514|       |
  515|       |	/* Initialize the node to be store to 'node' */
  516|   495k|	hashmap_node_init(&node, hashval, key, value);
  517|       |
  518|   495k|	psl = 0;
  519|   663k|	while (true) {
  ------------------
  |  Branch (519:9): [True: 663k, Folded]
  ------------------
  520|   663k|		pos = (hash + psl) & hashmap->tables[idx].hashmask;
  521|       |
  522|   663k|		current = &hashmap->tables[idx].table[pos];
  523|       |
  524|       |		/* Found an empty node */
  525|   663k|		if (current->key == NULL) {
  ------------------
  |  Branch (525:7): [True: 141k, False: 521k]
  ------------------
  526|   141k|			break;
  527|   141k|		}
  528|       |
  529|   521k|		if (current->hashval == hashval) {
  ------------------
  |  Branch (529:7): [True: 353k, False: 167k]
  ------------------
  530|   353k|			if (match != NULL && match(current->value, key)) {
  ------------------
  |  Branch (530:8): [True: 353k, False: 18]
  |  Branch (530:25): [True: 353k, False: 79]
  ------------------
  531|   353k|				SET_IF_NOT_NULL(foundp, current->value);
  ------------------
  |  |  104|   353k|	if ((obj) != NULL) {      \
  |  |  ------------------
  |  |  |  Branch (104:6): [True: 353k, False: 0]
  |  |  ------------------
  |  |  105|   353k|		*(obj) = (val);   \
  |  |  106|   353k|	}
  ------------------
  532|   353k|				return ISC_R_EXISTS;
  533|   353k|			}
  534|   353k|		}
  535|       |
  536|       |		/* Found rich node */
  537|   168k|		if (node.psl > current->psl) {
  ------------------
  |  Branch (537:7): [True: 30.0k, False: 138k]
  ------------------
  538|       |			/* Swap the poor with the rich node */
  539|  30.0k|			ISC_SWAP(*current, node);
  ------------------
  |  |  305|  30.0k|	{                                 \
  |  |  306|  30.0k|		typeof(a) __tmp_swap = a; \
  |  |  307|  30.0k|		a = b;                    \
  |  |  308|  30.0k|		b = __tmp_swap;           \
  |  |  309|  30.0k|	}
  ------------------
  540|  30.0k|		}
  541|       |
  542|   168k|		node.psl++;
  543|   168k|		psl++;
  544|   168k|	}
  545|       |
  546|       |	/*
  547|       |	 * Possible optimalization - start growing when the poor node is too far
  548|       |	 */
  549|       |#if ISC_HASHMAP_GROW_FAST
  550|       |	if (psl > hashmap->hashbits[idx]) {
  551|       |		if (!rehashing_in_progress(hashmap)) {
  552|       |			hashmap_rehash_start_grow(hashmap);
  553|       |		}
  554|       |	}
  555|       |#endif
  556|       |
  557|   141k|	hashmap->count++;
  558|       |
  559|       |	/* We found an empty place, store entry into current node */
  560|   141k|	*current = node;
  561|       |
  562|   141k|	return ISC_R_SUCCESS;
  563|   495k|}
hashmap.c:hashmap_node_init:
  135|   495k|		  const uint8_t *key, void *value) {
  136|   495k|	*node = (hashmap_node_t){
  137|   495k|		.value = value,
  138|   495k|		.hashval = hashval,
  139|   495k|		.key = key,
  140|   495k|		.psl = 0,
  141|   495k|	};
  142|   495k|}

isc_hex_totext:
   82|  73.4k|	       isc_buffer_t *target) {
   83|  73.4k|	return hex_totext(source, wordlength, wordbreak, upperhex, target);
   84|  73.4k|}
hex.c:hex_totext:
   55|  73.4k|	   const char *hex, isc_buffer_t *target) {
   56|  73.4k|	char buf[3];
   57|  73.4k|	unsigned int loops = 0;
   58|       |
   59|  73.4k|	if (wordlength < 2) {
  ------------------
  |  Branch (59:6): [True: 9.69k, False: 63.7k]
  ------------------
   60|  9.69k|		wordlength = 2;
   61|  9.69k|	}
   62|       |
   63|  73.4k|	memset(buf, 0, sizeof(buf));
   64|  1.80M|	while (source->length > 0) {
  ------------------
  |  Branch (64:9): [True: 1.73M, False: 73.4k]
  ------------------
   65|  1.73M|		buf[0] = hex[(source->base[0] >> 4) & 0xf];
   66|  1.73M|		buf[1] = hex[(source->base[0]) & 0xf];
   67|  1.73M|		RETERR(str_totext(buf, target));
  ------------------
  |  |  276|  1.73M|	{                                  \
  |  |  277|  1.73M|		isc_result_t _r = (x);     \
  |  |  278|  1.73M|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 1, False: 1.73M]
  |  |  ------------------
  |  |  279|      1|			return ((_r));     \
  |  |  280|      1|		}                          \
  |  |  281|  1.73M|	}
  ------------------
   68|  1.73M|		isc_region_consume(source, 1);
  ------------------
  |  |   51|  1.73M|	do {                              \
  |  |   52|  1.73M|		isc_region_t *_r = (r);   \
  |  |   53|  1.73M|		unsigned int  _l = (l);   \
  |  |   54|  1.73M|		INSIST(_r->length >= _l); \
  |  |  ------------------
  |  |  |  |  202|  1.73M|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  1.73M|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 1.73M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  1.73M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   55|  1.73M|		_r->base += _l;           \
  |  |   56|  1.73M|		_r->length -= _l;         \
  |  |   57|  1.73M|	} while (0)
  |  |  ------------------
  |  |  |  Branch (57:11): [Folded, False: 1.73M]
  |  |  ------------------
  ------------------
   69|       |
   70|  1.73M|		loops++;
   71|  1.73M|		if (source->length != 0 && (int)((loops + 1) * 2) >= wordlength)
  ------------------
  |  Branch (71:7): [True: 1.65M, False: 73.4k]
  |  Branch (71:30): [True: 98.3k, False: 1.55M]
  ------------------
   72|  98.3k|		{
   73|  98.3k|			loops = 0;
   74|  98.3k|			RETERR(str_totext(wordbreak, target));
  ------------------
  |  |  276|  98.3k|	{                                  \
  |  |  277|  98.3k|		isc_result_t _r = (x);     \
  |  |  278|  98.3k|		if (_r != ISC_R_SUCCESS) { \
  |  |  ------------------
  |  |  |  Branch (278:7): [True: 0, False: 98.3k]
  |  |  ------------------
  |  |  279|      0|			return ((_r));     \
  |  |  280|      0|		}                          \
  |  |  281|  98.3k|	}
  ------------------
   75|  98.3k|		}
   76|  1.73M|	}
   77|  73.4k|	return ISC_R_SUCCESS;
   78|  73.4k|}
hex.c:str_totext:
  198|  1.82M|str_totext(const char *source, isc_buffer_t *target) {
  199|  1.82M|	unsigned int l;
  200|  1.82M|	isc_region_t region;
  201|       |
  202|  1.82M|	isc_buffer_availableregion(target, &region);
  203|  1.82M|	l = strlen(source);
  204|       |
  205|  1.82M|	if (l > region.length) {
  ------------------
  |  Branch (205:6): [True: 1, False: 1.82M]
  ------------------
  206|      1|		return ISC_R_NOSPACE;
  207|      1|	}
  208|       |
  209|  1.82M|	memmove(region.base, source, l);
  210|  1.82M|	isc_buffer_add(target, l);
  211|  1.82M|	return ISC_R_SUCCESS;
  212|  1.82M|}

compress.c:isc__ascii_tolower1:
   39|  6.87M|isc__ascii_tolower1(uint8_t c) {
   40|  6.87M|	return c + ('a' - 'A') * ('A' <= c && c <= 'Z');
  ------------------
  |  Branch (40:28): [True: 514k, False: 6.36M]
  |  Branch (40:40): [True: 36.4k, False: 478k]
  ------------------
   41|  6.87M|}
compress.c:isc_ascii_lowerequal:
  135|   444k|		     unsigned int len) {
  136|   444k|	uint64_t a8 = 0, b8 = 0;
  137|   444k|	if (len >= 8) {
  ------------------
  |  Branch (137:6): [True: 136k, False: 308k]
  ------------------
  138|   136k|		const uint8_t *a_tail = a + len - 8;
  139|   136k|		const uint8_t *b_tail = b + len - 8;
  140|   749k|		while (len >= 8) {
  ------------------
  |  Branch (140:10): [True: 627k, False: 121k]
  ------------------
  141|   627k|			a8 = isc_ascii_tolower8(isc__ascii_load8(a));
  142|   627k|			b8 = isc_ascii_tolower8(isc__ascii_load8(b));
  143|   627k|			if (a8 != b8) {
  ------------------
  |  Branch (143:8): [True: 14.9k, False: 612k]
  ------------------
  144|  14.9k|				return false;
  145|  14.9k|			}
  146|   612k|			len -= 8;
  147|   612k|			a += 8;
  148|   612k|			b += 8;
  149|   612k|		}
  150|       |
  151|   121k|		a8 = isc_ascii_tolower8(isc__ascii_load8(a_tail));
  152|   121k|		b8 = isc_ascii_tolower8(isc__ascii_load8(b_tail));
  153|   121k|		return a8 == b8;
  154|   136k|	}
  155|       |
  156|  1.54M|	while (len-- > 0) {
  ------------------
  |  Branch (156:9): [True: 1.23M, False: 304k]
  ------------------
  157|  1.23M|		if (isc_ascii_tolower(*a++) != isc_ascii_tolower(*b++)) {
  ------------------
  |  |   31|  1.23M|#define isc_ascii_tolower(c) isc__ascii_tolower[(uint8_t)(c)]
  ------------------
              		if (isc_ascii_tolower(*a++) != isc_ascii_tolower(*b++)) {
  ------------------
  |  |   31|  1.23M|#define isc_ascii_tolower(c) isc__ascii_tolower[(uint8_t)(c)]
  ------------------
  |  Branch (157:7): [True: 4.13k, False: 1.23M]
  ------------------
  158|  4.13k|			return false;
  159|  4.13k|		}
  160|  1.23M|	}
  161|   304k|	return true;
  162|   308k|}
compress.c:isc_ascii_tolower8:
   71|  1.49M|isc_ascii_tolower8(uint64_t octets) {
   72|       |	/*
   73|       |	 * Multiply a single-byte constant by `all_bytes` to replicate
   74|       |	 * it to all eight bytes in a word.
   75|       |	 */
   76|  1.49M|	uint64_t all_bytes = 0x0101010101010101;
   77|       |	/*
   78|       |	 * Clear the top bit of each byte to make space for a per-byte flag.
   79|       |	 */
   80|  1.49M|	uint64_t heptets = octets & (0x7F * all_bytes);
   81|       |	/*
   82|       |	 * We will need to avoid going wrong if our flag bits were originally
   83|       |	 * set, and clear calculation leftovers in our non-flag bits
   84|       |	 */
   85|  1.49M|	uint64_t is_ascii = ~octets & (0x80 * all_bytes);
   86|       |	/*
   87|       |	 * To compare a heptet to `N`, we can add `0x7F - N` so that carry
   88|       |	 * propagation will set the flag when our heptet is greater than `N`
   89|       |	 */
   90|  1.49M|	uint64_t is_gt_Z = heptets + (0x7F - 'Z') * all_bytes;
   91|       |	/*
   92|       |	 * Add one for greater-than-or-equal comparison
   93|       |	 */
   94|  1.49M|	uint64_t is_ge_A = heptets + (0x80 - 'A') * all_bytes;
   95|       |	/*
   96|       |	 * Now we have what we need to identify the ascii uppercase bytes
   97|       |	 */
   98|  1.49M|	uint64_t is_upper = (is_ge_A ^ is_gt_Z) & is_ascii;
   99|       |	/*
  100|       |	 * Move the is_upper flag bits to bit 0x20 (which is 'a' - 'A')
  101|       |	 * and use them to adjust each byte as required
  102|       |	 */
  103|  1.49M|	return octets | (is_upper >> 2);
  104|  1.49M|}
compress.c:isc__ascii_load8:
  124|  1.49M|isc__ascii_load8(const uint8_t *ptr) {
  125|  1.49M|	uint64_t bytes = 0;
  126|  1.49M|	memmove(&bytes, ptr, sizeof(bytes));
  127|  1.49M|	return bytes;
  128|  1.49M|}
name.c:isc_ascii_lowercmp:
  171|  8.16k|isc_ascii_lowercmp(const uint8_t *a, const uint8_t *b, unsigned int len) {
  172|  8.16k|	uint64_t a8 = 0, b8 = 0;
  173|  67.3k|	while (len >= 8) {
  ------------------
  |  Branch (173:9): [True: 60.3k, False: 7.05k]
  ------------------
  174|  60.3k|		a8 = isc_ascii_tolower8(htobe64(isc__ascii_load8(a)));
  175|  60.3k|		b8 = isc_ascii_tolower8(htobe64(isc__ascii_load8(b)));
  176|  60.3k|		if (a8 != b8) {
  ------------------
  |  Branch (176:7): [True: 1.10k, False: 59.2k]
  ------------------
  177|  1.10k|			goto ret;
  178|  1.10k|		}
  179|  59.2k|		len -= 8;
  180|  59.2k|		a += 8;
  181|  59.2k|		b += 8;
  182|  59.2k|	}
  183|  20.3k|	while (len-- > 0) {
  ------------------
  |  Branch (183:9): [True: 14.3k, False: 5.94k]
  ------------------
  184|  14.3k|		a8 = isc_ascii_tolower(*a++);
  ------------------
  |  |   31|  14.3k|#define isc_ascii_tolower(c) isc__ascii_tolower[(uint8_t)(c)]
  ------------------
  185|  14.3k|		b8 = isc_ascii_tolower(*b++);
  ------------------
  |  |   31|  14.3k|#define isc_ascii_tolower(c) isc__ascii_tolower[(uint8_t)(c)]
  ------------------
  186|  14.3k|		if (a8 != b8) {
  ------------------
  |  Branch (186:7): [True: 1.10k, False: 13.2k]
  ------------------
  187|  1.10k|			goto ret;
  188|  1.10k|		}
  189|  14.3k|	}
  190|  8.16k|ret:
  191|  8.16k|	if (a8 < b8) {
  ------------------
  |  Branch (191:6): [True: 970, False: 7.19k]
  ------------------
  192|    970|		return -1;
  193|    970|	}
  194|  7.19k|	if (a8 > b8) {
  ------------------
  |  Branch (194:6): [True: 1.24k, False: 5.94k]
  ------------------
  195|  1.24k|		return +1;
  196|  1.24k|	}
  197|  5.94k|	return 0;
  198|  7.19k|}
name.c:isc_ascii_tolower8:
   71|   346k|isc_ascii_tolower8(uint64_t octets) {
   72|       |	/*
   73|       |	 * Multiply a single-byte constant by `all_bytes` to replicate
   74|       |	 * it to all eight bytes in a word.
   75|       |	 */
   76|   346k|	uint64_t all_bytes = 0x0101010101010101;
   77|       |	/*
   78|       |	 * Clear the top bit of each byte to make space for a per-byte flag.
   79|       |	 */
   80|   346k|	uint64_t heptets = octets & (0x7F * all_bytes);
   81|       |	/*
   82|       |	 * We will need to avoid going wrong if our flag bits were originally
   83|       |	 * set, and clear calculation leftovers in our non-flag bits
   84|       |	 */
   85|   346k|	uint64_t is_ascii = ~octets & (0x80 * all_bytes);
   86|       |	/*
   87|       |	 * To compare a heptet to `N`, we can add `0x7F - N` so that carry
   88|       |	 * propagation will set the flag when our heptet is greater than `N`
   89|       |	 */
   90|   346k|	uint64_t is_gt_Z = heptets + (0x7F - 'Z') * all_bytes;
   91|       |	/*
   92|       |	 * Add one for greater-than-or-equal comparison
   93|       |	 */
   94|   346k|	uint64_t is_ge_A = heptets + (0x80 - 'A') * all_bytes;
   95|       |	/*
   96|       |	 * Now we have what we need to identify the ascii uppercase bytes
   97|       |	 */
   98|   346k|	uint64_t is_upper = (is_ge_A ^ is_gt_Z) & is_ascii;
   99|       |	/*
  100|       |	 * Move the is_upper flag bits to bit 0x20 (which is 'a' - 'A')
  101|       |	 * and use them to adjust each byte as required
  102|       |	 */
  103|   346k|	return octets | (is_upper >> 2);
  104|   346k|}
name.c:isc__ascii_load8:
  124|   346k|isc__ascii_load8(const uint8_t *ptr) {
  125|   346k|	uint64_t bytes = 0;
  126|   346k|	memmove(&bytes, ptr, sizeof(bytes));
  127|   346k|	return bytes;
  128|   346k|}
name.c:isc_ascii_lowerequal:
  135|   206k|		     unsigned int len) {
  136|   206k|	uint64_t a8 = 0, b8 = 0;
  137|   206k|	if (len >= 8) {
  ------------------
  |  Branch (137:6): [True: 14.3k, False: 192k]
  ------------------
  138|  14.3k|		const uint8_t *a_tail = a + len - 8;
  139|  14.3k|		const uint8_t *b_tail = b + len - 8;
  140|   112k|		while (len >= 8) {
  ------------------
  |  Branch (140:10): [True: 98.6k, False: 14.3k]
  ------------------
  141|  98.6k|			a8 = isc_ascii_tolower8(isc__ascii_load8(a));
  142|  98.6k|			b8 = isc_ascii_tolower8(isc__ascii_load8(b));
  143|  98.6k|			if (a8 != b8) {
  ------------------
  |  Branch (143:8): [True: 0, False: 98.6k]
  ------------------
  144|      0|				return false;
  145|      0|			}
  146|  98.6k|			len -= 8;
  147|  98.6k|			a += 8;
  148|  98.6k|			b += 8;
  149|  98.6k|		}
  150|       |
  151|  14.3k|		a8 = isc_ascii_tolower8(isc__ascii_load8(a_tail));
  152|  14.3k|		b8 = isc_ascii_tolower8(isc__ascii_load8(b_tail));
  153|  14.3k|		return a8 == b8;
  154|  14.3k|	}
  155|       |
  156|   438k|	while (len-- > 0) {
  ------------------
  |  Branch (156:9): [True: 245k, False: 192k]
  ------------------
  157|   245k|		if (isc_ascii_tolower(*a++) != isc_ascii_tolower(*b++)) {
  ------------------
  |  |   31|   245k|#define isc_ascii_tolower(c) isc__ascii_tolower[(uint8_t)(c)]
  ------------------
              		if (isc_ascii_tolower(*a++) != isc_ascii_tolower(*b++)) {
  ------------------
  |  |   31|   245k|#define isc_ascii_tolower(c) isc__ascii_tolower[(uint8_t)(c)]
  ------------------
  |  Branch (157:7): [True: 0, False: 245k]
  ------------------
  158|      0|			return false;
  159|      0|		}
  160|   245k|	}
  161|   192k|	return true;
  162|   192k|}
hash.c:isc__ascii_tolower1:
   39|   272k|isc__ascii_tolower1(uint8_t c) {
   40|   272k|	return c + ('a' - 'A') * ('A' <= c && c <= 'Z');
  ------------------
  |  Branch (40:28): [True: 7.91k, False: 264k]
  |  Branch (40:40): [True: 589, False: 7.32k]
  ------------------
   41|   272k|}
hash.c:isc_ascii_tolower4:
  110|   414k|isc_ascii_tolower4(uint32_t octets) {
  111|   414k|	uint32_t all_bytes = 0x01010101;
  112|   414k|	uint32_t heptets = octets & (0x7F * all_bytes);
  113|   414k|	uint32_t is_ascii = ~octets & (0x80 * all_bytes);
  114|   414k|	uint32_t is_gt_Z = heptets + (0x7F - 'Z') * all_bytes;
  115|   414k|	uint32_t is_ge_A = heptets + (0x80 - 'A') * all_bytes;
  116|   414k|	uint32_t is_upper = (is_ge_A ^ is_gt_Z) & is_ascii;
  117|   414k|	return octets | (is_upper >> 2);
  118|   414k|}

hash.c:isc_rotate_left32:
   82|  14.8M|isc_rotate_left32(const uint32_t x, uint32_t n) {
   83|  14.8M|	return (x << n) | (x >> (32 - n));
   84|  14.8M|}

dns_message_parse.c:isc_buffer_init:
  583|  40.3k|		const unsigned int length) {
  584|  40.3k|	REQUIRE(b != NULL);
  ------------------
  |  |  198|  40.3k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  40.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 40.3k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  40.3k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  585|       |
  586|  40.3k|	*b = (isc_buffer_t){
  587|  40.3k|		.base = base,
  588|  40.3k|		.length = length,
  589|  40.3k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|  40.3k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|  40.3k|	{                                         \
  |  |  |  |   27|  40.3k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  40.3k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|  40.3k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  40.3k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|  40.3k|	}
  |  |  ------------------
  ------------------
  590|  40.3k|		.magic = ISC_BUFFER_MAGIC,
  ------------------
  |  |  122|  40.3k|#define ISC_BUFFER_MAGIC    0x42756621U /* Buf!. */
  ------------------
  591|  40.3k|	};
  592|  40.3k|}
dns_message_parse.c:isc_buffer_add:
  698|  13.4k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  13.4k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  13.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  26.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 13.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 13.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  13.4k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  13.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  13.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 13.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  13.4k|	b->used += n;
  703|  13.4k|}
dns_message_parse.c:isc_buffer_setactive:
  808|  13.4k|isc_buffer_setactive(isc_buffer_t *restrict b, const unsigned int n) {
  809|  13.4k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  13.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  26.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 13.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 13.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  810|  13.4k|	REQUIRE(b->current + n <= b->used);
  ------------------
  |  |  198|  13.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  13.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 13.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  13.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  811|       |
  812|  13.4k|	b->active = b->current + n;
  813|  13.4k|}
masterdump.c:isc_buffer_availableregion:
  689|  2.31M|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  2.31M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  2.31M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.62M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.31M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.31M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.31M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  2.31M|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  2.31M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.31M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.31M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.31M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  2.31M|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  2.31M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  2.31M|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  2.31M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  2.31M|}
masterdump.c:isc_buffer_add:
  698|  2.31M|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  2.31M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  2.31M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.62M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.31M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.31M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.31M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  2.31M|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  2.31M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.31M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.31M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.31M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  2.31M|	b->used += n;
  703|  2.31M|}
message.c:isc_buffer_allocate:
 1096|  85.1k|		    const unsigned int length) {
 1097|  85.1k|	REQUIRE(dbufp != NULL && *dbufp == NULL);
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   170k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1098|       |
 1099|  85.1k|	isc_buffer_t *dbuf = isc_mem_get(mctx, sizeof(*dbuf) + length);
  ------------------
  |  |  144|  85.1k|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
 1100|  85.1k|	uint8_t	     *bdata = (uint8_t *)dbuf + sizeof(*dbuf);
 1101|       |
 1102|  85.1k|	isc_buffer_init(dbuf, bdata, length);
 1103|  85.1k|	dbuf->extra = length;
 1104|  85.1k|	isc_buffer_setmctx(dbuf, mctx);
 1105|       |
 1106|  85.1k|	*dbufp = dbuf;
 1107|  85.1k|}
message.c:isc_buffer_setmctx:
 1110|  85.1k|isc_buffer_setmctx(isc_buffer_t *restrict b, isc_mem_t *mctx) {
 1111|  85.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   170k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1112|       |
 1113|  85.1k|	b->mctx = mctx;
 1114|  85.1k|}
message.c:isc_buffer_free:
 1173|  85.1k|isc_buffer_free(isc_buffer_t **restrict dbufp) {
 1174|  85.1k|	REQUIRE(dbufp != NULL && ISC_BUFFER_VALID(*dbufp));
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   340k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1175|  85.1k|	REQUIRE((*dbufp)->mctx != NULL);
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  85.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1176|       |
 1177|  85.1k|	isc_buffer_t *dbuf = *dbufp;
 1178|  85.1k|	isc_mem_t    *mctx = dbuf->mctx;
 1179|  85.1k|	unsigned int  extra = dbuf->extra;
 1180|       |
 1181|  85.1k|	*dbufp = NULL; /* destroy external reference */
 1182|       |
 1183|  85.1k|	isc_buffer_clearmctx(dbuf);
 1184|       |
 1185|  85.1k|	isc_buffer_invalidate(dbuf);
 1186|       |	isc_mem_put(mctx, dbuf, sizeof(*dbuf) + extra);
  ------------------
  |  |  171|  85.1k|	do {                                                      \
  |  |  172|  85.1k|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|  85.1k|		(p) = NULL;                                       \
  |  |  174|  85.1k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 85.1k]
  |  |  ------------------
  ------------------
 1187|  85.1k|}
message.c:isc_buffer_clearmctx:
 1117|  85.1k|isc_buffer_clearmctx(isc_buffer_t *restrict b) {
 1118|  85.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   170k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1119|       |
 1120|  85.1k|	if (b->dynamic) {
  ------------------
  |  Branch (1120:6): [True: 0, False: 85.1k]
  ------------------
 1121|      0|		isc_mem_put(b->mctx, b->base, b->length);
  ------------------
  |  |  171|      0|	do {                                                      \
  |  |  172|      0|		isc__mem_put((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  173|      0|		(p) = NULL;                                       \
  |  |  174|      0|	} while (0)
  |  |  ------------------
  |  |  |  Branch (174:11): [Folded, False: 0]
  |  |  ------------------
  ------------------
 1122|      0|		b->dynamic = false;
 1123|      0|	}
 1124|       |
 1125|       |	b->mctx = NULL;
 1126|  85.1k|}
message.c:isc_buffer_invalidate:
  632|  85.1k|isc_buffer_invalidate(isc_buffer_t *restrict b) {
  633|  85.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   170k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  634|  85.1k|	REQUIRE(!ISC_LINK_LINKED(b, link));
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  85.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  635|  85.1k|	REQUIRE(b->mctx == NULL);
  ------------------
  |  |  198|  85.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  85.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 85.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  85.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  636|       |
  637|  85.1k|	*b = (isc_buffer_t){
  638|  85.1k|		.magic = 0,
  639|  85.1k|	};
  640|  85.1k|}
message.c:isc_buffer_usedregion:
  671|  31.2k|		      isc_region_t *restrict r) {
  672|  31.2k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  31.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  62.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 31.2k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 31.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  31.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  673|  31.2k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  31.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  31.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 31.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  31.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  674|       |
  675|  31.2k|	r->base = b->base;
  676|  31.2k|	r->length = b->used;
  677|  31.2k|}
message.c:isc_buffer_remainingregion:
  767|   819k|isc_buffer_remainingregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  768|   819k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   819k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.63M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 819k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 819k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   819k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  769|   819k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   819k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   819k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 819k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   819k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  770|       |
  771|   819k|	r->base = isc_buffer_current(b);
  ------------------
  |  |  146|   819k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
  772|   819k|	r->length = isc_buffer_remaininglength(b);
  ------------------
  |  |  160|   819k|#define isc_buffer_remaininglength(b) ((b)->used - (b)->current)   /* d-b */
  ------------------
  773|   819k|}
message.c:isc_buffer_getuint16:
  907|  1.90M|isc_buffer_getuint16(isc_buffer_t *restrict b) {
  908|  1.90M|	uint16_t     val = 0;
  909|  1.90M|	isc_result_t result = isc_buffer_peekuint16(b, &val);
  910|  1.90M|	ENSURE(result == ISC_R_SUCCESS);
  ------------------
  |  |  200|  1.90M|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|  1.90M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 1.90M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|  1.90M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
  911|  1.90M|	b->current += sizeof(val);
  912|  1.90M|	return val;
  913|  1.90M|}
message.c:isc_buffer_peekuint16:
  897|  1.90M|isc_buffer_peekuint16(const isc_buffer_t *restrict b, uint16_t *valp) {
  898|  1.90M|	ISC_BUFFER_PEEK_CHECK(b, sizeof(*valp));
  ------------------
  |  |  850|  1.90M|	{                                           \
  |  |  851|  1.90M|		REQUIRE(ISC_BUFFER_VALID(b));       \
  |  |  ------------------
  |  |  |  |  198|  1.90M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  3.80M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 1.90M, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 1.90M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  1.90M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  852|  1.90M|		if ((b)->used - (b)->current < s) { \
  |  |  ------------------
  |  |  |  Branch (852:7): [True: 0, False: 1.90M]
  |  |  ------------------
  |  |  853|      0|			return (ISC_R_NOMORE);      \
  |  |  854|      0|		}                                   \
  |  |  855|  1.90M|	}
  ------------------
  899|       |
  900|  1.90M|	uint8_t *cp = isc_buffer_current(b);
  ------------------
  |  |  146|  1.90M|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
  901|       |
  902|       |	SET_IF_NOT_NULL(valp, ISC_U8TO16_BE(cp));
  ------------------
  |  |  104|  1.90M|	if ((obj) != NULL) {      \
  |  |  ------------------
  |  |  |  Branch (104:6): [True: 1.90M, False: 0]
  |  |  ------------------
  |  |  105|  1.90M|		*(obj) = (val);   \
  |  |  106|  1.90M|	}
  ------------------
  903|  1.90M|	return ISC_R_SUCCESS;
  904|  1.90M|}
message.c:isc_buffer_clear:
  731|  26.6k|isc_buffer_clear(isc_buffer_t *restrict b) {
  732|  26.6k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  26.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  53.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 26.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 26.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  26.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  733|       |
  734|  26.6k|	b->used = 0;
  735|  26.6k|	b->current = 0;
  736|  26.6k|	b->active = 0;
  737|  26.6k|}
message.c:isc_buffer_availableregion:
  689|  17.8k|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  17.8k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  17.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  35.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 17.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  17.8k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  17.8k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  17.8k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 17.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  17.8k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  17.8k|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  17.8k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  17.8k|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  17.8k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  17.8k|}
message.c:isc_buffer_add:
  698|  26.9k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  26.9k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  26.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  53.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 26.9k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 26.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  26.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  26.9k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  26.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  26.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 26.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  26.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  26.9k|	b->used += n;
  703|  26.9k|}
message.c:isc_buffer_putuint16:
  916|  53.2k|isc_buffer_putuint16(isc_buffer_t *restrict b, const uint16_t val) {
  917|  53.2k|	ISC_BUFFER_PUT_RESERVE(b, val, sizeof(val));
  ------------------
  |  |  876|  53.2k|	{                                                               \
  |  |  877|  53.2k|		REQUIRE(ISC_BUFFER_VALID(b));                           \
  |  |  ------------------
  |  |  |  |  198|  53.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   106k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 53.2k, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 53.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  53.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  878|  53.2k|                                                                        \
  |  |  879|  53.2k|		if (b->mctx) {                                          \
  |  |  ------------------
  |  |  |  Branch (879:7): [True: 0, False: 53.2k]
  |  |  ------------------
  |  |  880|      0|			isc_result_t result = isc_buffer_reserve(b, s); \
  |  |  881|      0|			ENSURE(result == ISC_R_SUCCESS);                \
  |  |  ------------------
  |  |  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |  |  |   51|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|      0|		}                                                       \
  |  |  883|  53.2k|                                                                        \
  |  |  884|  53.2k|		REQUIRE(isc_buffer_availablelength(b) >= s);            \
  |  |  ------------------
  |  |  |  |  198|  53.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  53.2k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 53.2k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  53.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  885|  53.2k|	}
  ------------------
  918|       |
  919|  53.2k|	uint8_t *cp = isc_buffer_used(b);
  ------------------
  |  |  150|  53.2k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  920|  53.2k|	b->used += sizeof(val);
  921|  53.2k|	ISC_U16TO8_BE(cp, val);
  ------------------
  |  |  223|  53.2k|	(p)[0] = (uint8_t)((v) >> 8); \
  |  |  224|  53.2k|	(p)[1] = (uint8_t)((v));
  ------------------
  922|  53.2k|}
message.c:isc_buffer_init:
  583|   110k|		const unsigned int length) {
  584|   110k|	REQUIRE(b != NULL);
  ------------------
  |  |  198|   110k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   110k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 110k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   110k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  585|       |
  586|   110k|	*b = (isc_buffer_t){
  587|   110k|		.base = base,
  588|   110k|		.length = length,
  589|   110k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|   110k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|   110k|	{                                         \
  |  |  |  |   27|   110k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   110k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|   110k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   110k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|   110k|	}
  |  |  ------------------
  ------------------
  590|   110k|		.magic = ISC_BUFFER_MAGIC,
  ------------------
  |  |  122|   110k|#define ISC_BUFFER_MAGIC    0x42756621U /* Buf!. */
  ------------------
  591|   110k|	};
  592|   110k|}
message.c:isc_buffer_putmem:
  984|  16.9M|		  const unsigned int length) {
  985|  16.9M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  16.9M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  33.9M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 16.9M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 16.9M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.9M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  986|       |
  987|  16.9M|	if (b->mctx) {
  ------------------
  |  Branch (987:6): [True: 0, False: 16.9M]
  ------------------
  988|      0|		isc_result_t result = isc_buffer_reserve(b, length);
  989|      0|		REQUIRE(result == ISC_R_SUCCESS);
  ------------------
  |  |  198|      0|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      0|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      0|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  990|      0|	}
  991|       |
  992|  16.9M|	REQUIRE(isc_buffer_availablelength(b) >= (unsigned int)length);
  ------------------
  |  |  198|  16.9M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  16.9M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 16.9M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.9M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  993|       |
  994|  16.9M|	if (length > 0U) {
  ------------------
  |  Branch (994:6): [True: 16.9M, False: 0]
  ------------------
  995|  16.9M|		memmove(isc_buffer_used(b), base, length);
  ------------------
  |  |  150|  16.9M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  996|  16.9M|		b->used += length;
  997|  16.9M|	}
  998|  16.9M|}
message.c:isc_buffer_putstr:
 1015|   427M|isc_buffer_putstr(isc_buffer_t *restrict b, const char *restrict source) {
 1016|   427M|	unsigned int   length;
 1017|   427M|	unsigned char *cp;
 1018|       |
 1019|   427M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   427M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   854M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 427M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 427M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   427M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1020|   427M|	REQUIRE(source != NULL);
  ------------------
  |  |  198|   427M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   427M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 427M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   427M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1021|       |
 1022|   427M|	length = (unsigned int)strlen(source);
 1023|   427M|	if (b->mctx) {
  ------------------
  |  Branch (1023:6): [True: 0, False: 427M]
  ------------------
 1024|      0|		isc_result_t result = isc_buffer_reserve(b, length);
 1025|      0|		ENSURE(result == ISC_R_SUCCESS);
  ------------------
  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
 1026|      0|	}
 1027|       |
 1028|   427M|	REQUIRE(isc_buffer_availablelength(b) >= length);
  ------------------
  |  |  198|   427M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   427M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 427M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   427M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1029|       |
 1030|   427M|	cp = isc_buffer_used(b);
  ------------------
  |  |  150|   427M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1031|   427M|	memmove(cp, source, length);
 1032|   427M|	b->used += length;
 1033|   427M|}
message.c:isc_buffer_getuint32:
  935|   318k|isc_buffer_getuint32(isc_buffer_t *restrict b) {
  936|   318k|	uint32_t     val = 0;
  937|   318k|	isc_result_t result = isc_buffer_peekuint32(b, &val);
  938|   318k|	ENSURE(result == ISC_R_SUCCESS);
  ------------------
  |  |  200|   318k|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|   318k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 318k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|   318k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
  939|   318k|	b->current += sizeof(val);
  940|   318k|	return val;
  941|   318k|}
message.c:isc_buffer_peekuint32:
  925|   318k|isc_buffer_peekuint32(const isc_buffer_t *restrict b, uint32_t *valp) {
  926|   318k|	ISC_BUFFER_PEEK_CHECK(b, sizeof(*valp));
  ------------------
  |  |  850|   318k|	{                                           \
  |  |  851|   318k|		REQUIRE(ISC_BUFFER_VALID(b));       \
  |  |  ------------------
  |  |  |  |  198|   318k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   637k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 318k, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 318k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|   318k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  852|   318k|		if ((b)->used - (b)->current < s) { \
  |  |  ------------------
  |  |  |  Branch (852:7): [True: 0, False: 318k]
  |  |  ------------------
  |  |  853|      0|			return (ISC_R_NOMORE);      \
  |  |  854|      0|		}                                   \
  |  |  855|   318k|	}
  ------------------
  927|       |
  928|   318k|	uint8_t *cp = isc_buffer_current(b);
  ------------------
  |  |  146|   318k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
  929|       |
  930|       |	SET_IF_NOT_NULL(valp, ISC_U8TO32_BE(cp));
  ------------------
  |  |  104|   318k|	if ((obj) != NULL) {      \
  |  |  ------------------
  |  |  |  Branch (104:6): [True: 318k, False: 0]
  |  |  ------------------
  |  |  105|   318k|		*(obj) = (val);   \
  |  |  106|   318k|	}
  ------------------
  931|   318k|	return ISC_R_SUCCESS;
  932|   318k|}
message.c:isc_buffer_getuint8:
  867|  86.6k|isc_buffer_getuint8(isc_buffer_t *restrict b) {
  868|  86.6k|	uint8_t	     val = 0;
  869|  86.6k|	isc_result_t result = isc_buffer_peekuint8(b, &val);
  870|  86.6k|	ENSURE(result == ISC_R_SUCCESS);
  ------------------
  |  |  200|  86.6k|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|  86.6k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 86.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|  86.6k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
  871|  86.6k|	b->current += sizeof(val);
  872|  86.6k|	return val;
  873|  86.6k|}
message.c:isc_buffer_peekuint8:
  858|  86.6k|isc_buffer_peekuint8(const isc_buffer_t *restrict b, uint8_t *valp) {
  859|  86.6k|	ISC_BUFFER_PEEK_CHECK(b, sizeof(*valp));
  ------------------
  |  |  850|  86.6k|	{                                           \
  |  |  851|  86.6k|		REQUIRE(ISC_BUFFER_VALID(b));       \
  |  |  ------------------
  |  |  |  |  198|  86.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   173k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 86.6k, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 86.6k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  86.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  852|  86.6k|		if ((b)->used - (b)->current < s) { \
  |  |  ------------------
  |  |  |  Branch (852:7): [True: 0, False: 86.6k]
  |  |  ------------------
  |  |  853|      0|			return (ISC_R_NOMORE);      \
  |  |  854|      0|		}                                   \
  |  |  855|  86.6k|	}
  ------------------
  860|       |
  861|  86.6k|	uint8_t *cp = isc_buffer_current(b);
  ------------------
  |  |  146|  86.6k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
  862|       |	SET_IF_NOT_NULL(valp, (uint8_t)(cp[0]));
  ------------------
  |  |  104|  86.6k|	if ((obj) != NULL) {      \
  |  |  ------------------
  |  |  |  Branch (104:6): [True: 86.6k, False: 0]
  |  |  ------------------
  |  |  105|  86.6k|		*(obj) = (val);   \
  |  |  106|  86.6k|	}
  ------------------
  863|  86.6k|	return ISC_R_SUCCESS;
  864|  86.6k|}
message.c:isc_buffer_forward:
  834|   110k|isc_buffer_forward(isc_buffer_t *restrict b, const unsigned int n) {
  835|   110k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   110k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   221k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 110k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 110k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   110k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  836|   110k|	REQUIRE(b->current + n <= b->used);
  ------------------
  |  |  198|   110k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   110k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 110k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   110k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  837|       |
  838|   110k|	b->current += n;
  839|   110k|}
message.c:isc_buffer_setactive:
  808|   700k|isc_buffer_setactive(isc_buffer_t *restrict b, const unsigned int n) {
  809|   700k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   700k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.40M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 700k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 700k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   700k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  810|   700k|	REQUIRE(b->current + n <= b->used);
  ------------------
  |  |  198|   700k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   700k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 700k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   700k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  811|       |
  812|   700k|	b->active = b->current + n;
  813|   700k|}
name.c:isc_buffer_clear:
  731|   251k|isc_buffer_clear(isc_buffer_t *restrict b) {
  732|   251k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   251k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   503k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 251k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 251k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   251k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  733|       |
  734|   251k|	b->used = 0;
  735|   251k|	b->current = 0;
  736|   251k|	b->active = 0;
  737|   251k|}
name.c:isc_buffer_add:
  698|  2.05M|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  2.05M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  2.05M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.11M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.05M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.05M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.05M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  2.05M|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  2.05M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.05M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.05M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.05M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  2.05M|	b->used += n;
  703|  2.05M|}
name.c:isc_buffer_reserve:
 1129|  68.9M|isc_buffer_reserve(isc_buffer_t *restrict dbuf, const unsigned int size) {
 1130|  68.9M|	REQUIRE(ISC_BUFFER_VALID(dbuf));
  ------------------
  |  |  198|  68.9M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   137M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 68.9M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 68.9M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  68.9M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1131|       |
 1132|  68.9M|	size_t len;
 1133|       |
 1134|  68.9M|	len = dbuf->length;
 1135|  68.9M|	if ((len - dbuf->used) >= size) {
  ------------------
  |  Branch (1135:6): [True: 68.9M, False: 7]
  ------------------
 1136|  68.9M|		return ISC_R_SUCCESS;
 1137|  68.9M|	}
 1138|       |
 1139|      7|	if (dbuf->mctx == NULL) {
  ------------------
  |  Branch (1139:6): [True: 7, False: 0]
  ------------------
 1140|      7|		return ISC_R_NOSPACE;
 1141|      7|	}
 1142|       |
 1143|       |	/* Round to nearest buffer size increment */
 1144|      0|	len = size + dbuf->used;
 1145|      0|	len = ISC_ALIGN(len, ISC_BUFFER_INCR);
  ------------------
  |  |  296|      0|#define ISC_ALIGN(x, a) (((x) + (a) - 1) & ~((typeof(x))(a) - 1))
  ------------------
 1146|       |
 1147|       |	/* Cap at UINT_MAX */
 1148|      0|	if (len > UINT_MAX) {
  ------------------
  |  Branch (1148:6): [True: 0, False: 0]
  ------------------
 1149|      0|		len = UINT_MAX;
 1150|      0|	}
 1151|       |
 1152|      0|	if ((len - dbuf->used) < size) {
  ------------------
  |  Branch (1152:6): [True: 0, False: 0]
  ------------------
 1153|      0|		return ISC_R_NOMEMORY;
 1154|      0|	}
 1155|       |
 1156|      0|	if (!dbuf->dynamic) {
  ------------------
  |  Branch (1156:6): [True: 0, False: 0]
  ------------------
 1157|      0|		void *old_base = dbuf->base;
 1158|      0|		dbuf->base = isc_mem_get(dbuf->mctx, len);
  ------------------
  |  |  144|      0|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
 1159|      0|		if (old_base != NULL) {
  ------------------
  |  Branch (1159:7): [True: 0, False: 0]
  ------------------
 1160|      0|			memmove(dbuf->base, old_base, dbuf->used);
 1161|      0|		}
 1162|      0|		dbuf->dynamic = true;
 1163|      0|	} else {
 1164|      0|		dbuf->base = isc_mem_creget(dbuf->mctx, dbuf->base,
  ------------------
  |  |  152|      0|	isc__mem_reget((c), (p), ISC_CHECKED_MUL((o), (s)), \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  153|      0|		       ISC_CHECKED_MUL((n), (s)),           \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  154|      0|		       ISC_MEM_ZERO _ISC_MEM_FILELINE)
  |  |  ------------------
  |  |  |  |  142|      0|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  ------------------
 1165|      0|					    dbuf->length, len, sizeof(char));
 1166|      0|	}
 1167|      0|	dbuf->length = (unsigned int)len;
 1168|       |
 1169|      0|	return ISC_R_SUCCESS;
 1170|      0|}
name.c:isc_buffer_putuint8:
  888|  9.14M|isc_buffer_putuint8(isc_buffer_t *restrict b, const uint8_t val) {
  889|  9.14M|	ISC_BUFFER_PUT_RESERVE(b, val, sizeof(val));
  ------------------
  |  |  876|  9.14M|	{                                                               \
  |  |  877|  9.14M|		REQUIRE(ISC_BUFFER_VALID(b));                           \
  |  |  ------------------
  |  |  |  |  198|  9.14M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  18.2M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 9.14M, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 9.14M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  9.14M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  878|  9.14M|                                                                        \
  |  |  879|  9.14M|		if (b->mctx) {                                          \
  |  |  ------------------
  |  |  |  Branch (879:7): [True: 0, False: 9.14M]
  |  |  ------------------
  |  |  880|      0|			isc_result_t result = isc_buffer_reserve(b, s); \
  |  |  881|      0|			ENSURE(result == ISC_R_SUCCESS);                \
  |  |  ------------------
  |  |  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |  |  |   51|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|      0|		}                                                       \
  |  |  883|  9.14M|                                                                        \
  |  |  884|  9.14M|		REQUIRE(isc_buffer_availablelength(b) >= s);            \
  |  |  ------------------
  |  |  |  |  198|  9.14M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  9.14M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 9.14M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  9.14M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  885|  9.14M|	}
  ------------------
  890|       |
  891|  9.14M|	uint8_t *cp = isc_buffer_used(b);
  ------------------
  |  |  150|  9.14M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  892|  9.14M|	b->used += sizeof(val);
  893|  9.14M|	cp[0] = val;
  894|  9.14M|}
name.c:isc_buffer_putuint16:
  916|  2.17M|isc_buffer_putuint16(isc_buffer_t *restrict b, const uint16_t val) {
  917|  2.17M|	ISC_BUFFER_PUT_RESERVE(b, val, sizeof(val));
  ------------------
  |  |  876|  2.17M|	{                                                               \
  |  |  877|  2.17M|		REQUIRE(ISC_BUFFER_VALID(b));                           \
  |  |  ------------------
  |  |  |  |  198|  2.17M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  4.35M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 2.17M, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 2.17M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  2.17M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  878|  2.17M|                                                                        \
  |  |  879|  2.17M|		if (b->mctx) {                                          \
  |  |  ------------------
  |  |  |  Branch (879:7): [True: 0, False: 2.17M]
  |  |  ------------------
  |  |  880|      0|			isc_result_t result = isc_buffer_reserve(b, s); \
  |  |  881|      0|			ENSURE(result == ISC_R_SUCCESS);                \
  |  |  ------------------
  |  |  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |  |  |   51|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|      0|		}                                                       \
  |  |  883|  2.17M|                                                                        \
  |  |  884|  2.17M|		REQUIRE(isc_buffer_availablelength(b) >= s);            \
  |  |  ------------------
  |  |  |  |  198|  2.17M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  2.17M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 2.17M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  2.17M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  885|  2.17M|	}
  ------------------
  918|       |
  919|  2.17M|	uint8_t *cp = isc_buffer_used(b);
  ------------------
  |  |  150|  2.17M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  920|  2.17M|	b->used += sizeof(val);
  921|  2.17M|	ISC_U16TO8_BE(cp, val);
  ------------------
  |  |  223|  2.17M|	(p)[0] = (uint8_t)((v) >> 8); \
  |  |  224|  2.17M|	(p)[1] = (uint8_t)((v));
  ------------------
  922|  2.17M|}
name.c:isc_buffer_putuint32:
  944|  57.6M|isc_buffer_putuint32(isc_buffer_t *restrict b, const uint32_t val) {
  945|  57.6M|	ISC_BUFFER_PUT_RESERVE(b, val, sizeof(val));
  ------------------
  |  |  876|  57.6M|	{                                                               \
  |  |  877|  57.6M|		REQUIRE(ISC_BUFFER_VALID(b));                           \
  |  |  ------------------
  |  |  |  |  198|  57.6M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   115M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 57.6M, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 57.6M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  57.6M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  878|  57.6M|                                                                        \
  |  |  879|  57.6M|		if (b->mctx) {                                          \
  |  |  ------------------
  |  |  |  Branch (879:7): [True: 0, False: 57.6M]
  |  |  ------------------
  |  |  880|      0|			isc_result_t result = isc_buffer_reserve(b, s); \
  |  |  881|      0|			ENSURE(result == ISC_R_SUCCESS);                \
  |  |  ------------------
  |  |  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |  |  |   51|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|      0|		}                                                       \
  |  |  883|  57.6M|                                                                        \
  |  |  884|  57.6M|		REQUIRE(isc_buffer_availablelength(b) >= s);            \
  |  |  ------------------
  |  |  |  |  198|  57.6M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|  57.6M|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 57.6M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|  57.6M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  885|  57.6M|	}
  ------------------
  946|       |
  947|  57.6M|	uint8_t *cp = isc_buffer_used(b);
  ------------------
  |  |  150|  57.6M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  948|  57.6M|	b->used += sizeof(val);
  949|       |
  950|  57.6M|	ISC_U32TO8_BE(cp, val);
  ------------------
  |  |  229|  57.6M|	(p)[0] = (uint8_t)((v) >> 24); \
  |  |  230|  57.6M|	(p)[1] = (uint8_t)((v) >> 16); \
  |  |  231|  57.6M|	(p)[2] = (uint8_t)((v) >> 8);  \
  |  |  232|  57.6M|	(p)[3] = (uint8_t)((v));
  ------------------
  951|  57.6M|}
name.c:isc_buffer_forward:
  834|  1.64M|isc_buffer_forward(isc_buffer_t *restrict b, const unsigned int n) {
  835|  1.64M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  1.64M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.28M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.64M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.64M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.64M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  836|  1.64M|	REQUIRE(b->current + n <= b->used);
  ------------------
  |  |  198|  1.64M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.64M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.64M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.64M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  837|       |
  838|  1.64M|	b->current += n;
  839|  1.64M|}
name.c:isc_buffer_init:
  583|  1.96k|		const unsigned int length) {
  584|  1.96k|	REQUIRE(b != NULL);
  ------------------
  |  |  198|  1.96k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.96k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.96k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.96k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  585|       |
  586|  1.96k|	*b = (isc_buffer_t){
  587|  1.96k|		.base = base,
  588|  1.96k|		.length = length,
  589|  1.96k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|  1.96k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|  1.96k|	{                                         \
  |  |  |  |   27|  1.96k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  1.96k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|  1.96k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  1.96k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|  1.96k|	}
  |  |  ------------------
  ------------------
  590|  1.96k|		.magic = ISC_BUFFER_MAGIC,
  ------------------
  |  |  122|  1.96k|#define ISC_BUFFER_MAGIC    0x42756621U /* Buf!. */
  ------------------
  591|  1.96k|	};
  592|  1.96k|}
rcode.c:isc_buffer_init:
  583|  6.00k|		const unsigned int length) {
  584|  6.00k|	REQUIRE(b != NULL);
  ------------------
  |  |  198|  6.00k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  6.00k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 6.00k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  6.00k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  585|       |
  586|  6.00k|	*b = (isc_buffer_t){
  587|  6.00k|		.base = base,
  588|  6.00k|		.length = length,
  589|  6.00k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|  6.00k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|  6.00k|	{                                         \
  |  |  |  |   27|  6.00k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  6.00k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|  6.00k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  6.00k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|  6.00k|	}
  |  |  ------------------
  ------------------
  590|  6.00k|		.magic = ISC_BUFFER_MAGIC,
  ------------------
  |  |  122|  6.00k|#define ISC_BUFFER_MAGIC    0x42756621U /* Buf!. */
  ------------------
  591|  6.00k|	};
  592|  6.00k|}
rcode.c:isc_buffer_availableregion:
  689|   373k|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|   373k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   373k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   747k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 373k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 373k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   373k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|   373k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   373k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   373k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 373k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   373k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|   373k|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|   373k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|   373k|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|   373k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|   373k|}
rcode.c:isc_buffer_add:
  698|   373k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|   373k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   373k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   747k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 373k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 373k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   373k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|   373k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|   373k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   373k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 373k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   373k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|   373k|	b->used += n;
  703|   373k|}
rdata.c:isc_buffer_activeregion:
  785|   322k|isc_buffer_activeregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  786|   322k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   322k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   644k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 322k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 322k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   322k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  787|   322k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   322k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   322k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 322k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   322k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  788|       |
  789|   322k|	if (b->current < b->active) {
  ------------------
  |  Branch (789:6): [True: 311k, False: 10.5k]
  ------------------
  790|   311k|		r->base = isc_buffer_current(b);
  ------------------
  |  |  146|   311k|	((void *)((unsigned char *)(b)->base + (b)->current)) /*b*/
  ------------------
  791|   311k|		r->length = isc_buffer_activelength(b);
  ------------------
  |  |  161|   311k|#define isc_buffer_activelength(b)    ((b)->active - (b)->current) /* c-b */
  ------------------
  792|   311k|	} else {
  793|       |		r->base = NULL;
  794|  10.5k|		r->length = 0;
  795|  10.5k|	}
  796|   322k|}
rdata.c:isc_buffer_setactive:
  808|  2.32k|isc_buffer_setactive(isc_buffer_t *restrict b, const unsigned int n) {
  809|  2.32k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  2.32k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.32k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.32k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.32k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  810|  2.32k|	REQUIRE(b->current + n <= b->used);
  ------------------
  |  |  198|  2.32k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.32k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.32k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.32k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  811|       |
  812|  2.32k|	b->active = b->current + n;
  813|  2.32k|}
rdata.c:isc_buffer_putmem:
  984|  95.4k|		  const unsigned int length) {
  985|  95.4k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  95.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   190k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 95.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 95.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  95.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  986|       |
  987|  95.4k|	if (b->mctx) {
  ------------------
  |  Branch (987:6): [True: 95.4k, False: 0]
  ------------------
  988|  95.4k|		isc_result_t result = isc_buffer_reserve(b, length);
  989|  95.4k|		REQUIRE(result == ISC_R_SUCCESS);
  ------------------
  |  |  198|  95.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  95.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 95.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  95.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  990|  95.4k|	}
  991|       |
  992|  95.4k|	REQUIRE(isc_buffer_availablelength(b) >= (unsigned int)length);
  ------------------
  |  |  198|  95.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  95.4k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 95.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  95.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  993|       |
  994|  95.4k|	if (length > 0U) {
  ------------------
  |  Branch (994:6): [True: 46.6k, False: 48.7k]
  ------------------
  995|  46.6k|		memmove(isc_buffer_used(b), base, length);
  ------------------
  |  |  150|  46.6k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  996|  46.6k|		b->used += length;
  997|  46.6k|	}
  998|  95.4k|}
rdata.c:isc_buffer_reserve:
 1129|  95.4k|isc_buffer_reserve(isc_buffer_t *restrict dbuf, const unsigned int size) {
 1130|  95.4k|	REQUIRE(ISC_BUFFER_VALID(dbuf));
  ------------------
  |  |  198|  95.4k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   190k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 95.4k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 95.4k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  95.4k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1131|       |
 1132|  95.4k|	size_t len;
 1133|       |
 1134|  95.4k|	len = dbuf->length;
 1135|  95.4k|	if ((len - dbuf->used) >= size) {
  ------------------
  |  Branch (1135:6): [True: 95.4k, False: 0]
  ------------------
 1136|  95.4k|		return ISC_R_SUCCESS;
 1137|  95.4k|	}
 1138|       |
 1139|      0|	if (dbuf->mctx == NULL) {
  ------------------
  |  Branch (1139:6): [True: 0, False: 0]
  ------------------
 1140|      0|		return ISC_R_NOSPACE;
 1141|      0|	}
 1142|       |
 1143|       |	/* Round to nearest buffer size increment */
 1144|      0|	len = size + dbuf->used;
 1145|      0|	len = ISC_ALIGN(len, ISC_BUFFER_INCR);
  ------------------
  |  |  296|      0|#define ISC_ALIGN(x, a) (((x) + (a) - 1) & ~((typeof(x))(a) - 1))
  ------------------
 1146|       |
 1147|       |	/* Cap at UINT_MAX */
 1148|      0|	if (len > UINT_MAX) {
  ------------------
  |  Branch (1148:6): [True: 0, False: 0]
  ------------------
 1149|      0|		len = UINT_MAX;
 1150|      0|	}
 1151|       |
 1152|      0|	if ((len - dbuf->used) < size) {
  ------------------
  |  Branch (1152:6): [True: 0, False: 0]
  ------------------
 1153|      0|		return ISC_R_NOMEMORY;
 1154|      0|	}
 1155|       |
 1156|      0|	if (!dbuf->dynamic) {
  ------------------
  |  Branch (1156:6): [True: 0, False: 0]
  ------------------
 1157|      0|		void *old_base = dbuf->base;
 1158|      0|		dbuf->base = isc_mem_get(dbuf->mctx, len);
  ------------------
  |  |  144|      0|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
 1159|      0|		if (old_base != NULL) {
  ------------------
  |  Branch (1159:7): [True: 0, False: 0]
  ------------------
 1160|      0|			memmove(dbuf->base, old_base, dbuf->used);
 1161|      0|		}
 1162|      0|		dbuf->dynamic = true;
 1163|      0|	} else {
 1164|      0|		dbuf->base = isc_mem_creget(dbuf->mctx, dbuf->base,
  ------------------
  |  |  152|      0|	isc__mem_reget((c), (p), ISC_CHECKED_MUL((o), (s)), \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  153|      0|		       ISC_CHECKED_MUL((n), (s)),           \
  |  |  ------------------
  |  |  |  |   32|      0|	({                                                \
  |  |  |  |   33|      0|		typeof(a) _c;                             \
  |  |  |  |   34|      0|		bool	  _overflow = ckd_mul(&_c, a, b); \
  |  |  |  |   35|      0|		INSIST(!_overflow);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      0|		_c;                                       \
  |  |  |  |   37|      0|	})
  |  |  ------------------
  |  |  154|      0|		       ISC_MEM_ZERO _ISC_MEM_FILELINE)
  |  |  ------------------
  |  |  |  |  142|      0|#define ISC_MEM_ZERO ((int)0x40)
  |  |  ------------------
  ------------------
 1165|      0|					    dbuf->length, len, sizeof(char));
 1166|      0|	}
 1167|      0|	dbuf->length = (unsigned int)len;
 1168|       |
 1169|      0|	return ISC_R_SUCCESS;
 1170|      0|}
rdata.c:isc_buffer_forward:
  834|   408k|isc_buffer_forward(isc_buffer_t *restrict b, const unsigned int n) {
  835|   408k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   408k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   817k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 408k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 408k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   408k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  836|   408k|	REQUIRE(b->current + n <= b->used);
  ------------------
  |  |  198|   408k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   408k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 408k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   408k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  837|       |
  838|   408k|	b->current += n;
  839|   408k|}
rdata.c:isc_buffer_availableregion:
  689|  2.39M|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  2.39M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  2.39M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.78M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.39M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.39M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.39M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  2.39M|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  2.39M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.39M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.39M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.39M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  2.39M|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  2.39M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  2.39M|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  2.39M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  2.39M|}
rdata.c:isc_buffer_add:
  698|  2.37M|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  2.37M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  2.37M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  4.74M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2.37M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2.37M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.37M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  2.37M|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  2.37M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.37M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.37M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.37M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  2.37M|	b->used += n;
  703|  2.37M|}
rdata.c:isc_buffer_putstr:
 1015|  9.03k|isc_buffer_putstr(isc_buffer_t *restrict b, const char *restrict source) {
 1016|  9.03k|	unsigned int   length;
 1017|  9.03k|	unsigned char *cp;
 1018|       |
 1019|  9.03k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  9.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  18.0k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 9.03k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 9.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1020|  9.03k|	REQUIRE(source != NULL);
  ------------------
  |  |  198|  9.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.03k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1021|       |
 1022|  9.03k|	length = (unsigned int)strlen(source);
 1023|  9.03k|	if (b->mctx) {
  ------------------
  |  Branch (1023:6): [True: 0, False: 9.03k]
  ------------------
 1024|      0|		isc_result_t result = isc_buffer_reserve(b, length);
 1025|      0|		ENSURE(result == ISC_R_SUCCESS);
  ------------------
  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  ------------------
  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |   51|      0|		 0)))
  |  |  ------------------
  ------------------
 1026|      0|	}
 1027|       |
 1028|  9.03k|	REQUIRE(isc_buffer_availablelength(b) >= length);
  ------------------
  |  |  198|  9.03k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  9.03k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 9.03k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  9.03k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1029|       |
 1030|  9.03k|	cp = isc_buffer_used(b);
  ------------------
  |  |  150|  9.03k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
 1031|  9.03k|	memmove(cp, source, length);
 1032|  9.03k|	b->used += length;
 1033|  9.03k|}
rdata.c:isc_buffer_subtract:
  706|  96.7k|isc_buffer_subtract(isc_buffer_t *restrict b, const unsigned int n) {
  707|  96.7k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  96.7k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   193k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 96.7k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 96.7k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  96.7k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  708|  96.7k|	REQUIRE(b->used >= n);
  ------------------
  |  |  198|  96.7k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  96.7k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 96.7k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  96.7k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  709|       |
  710|  96.7k|	b->used -= n;
  711|  96.7k|	if (b->current > b->used) {
  ------------------
  |  Branch (711:6): [True: 0, False: 96.7k]
  ------------------
  712|      0|		b->current = b->used;
  713|      0|	}
  714|  96.7k|	if (b->active > b->used) {
  ------------------
  |  Branch (714:6): [True: 0, False: 96.7k]
  ------------------
  715|      0|		b->active = b->used;
  716|      0|	}
  717|  96.7k|}
rdata.c:isc_buffer_init:
  583|  6.99k|		const unsigned int length) {
  584|  6.99k|	REQUIRE(b != NULL);
  ------------------
  |  |  198|  6.99k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  6.99k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 6.99k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  6.99k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  585|       |
  586|  6.99k|	*b = (isc_buffer_t){
  587|  6.99k|		.base = base,
  588|  6.99k|		.length = length,
  589|  6.99k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|  6.99k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|  6.99k|	{                                         \
  |  |  |  |   27|  6.99k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  6.99k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|  6.99k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|  6.99k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|  6.99k|	}
  |  |  ------------------
  ------------------
  590|  6.99k|		.magic = ISC_BUFFER_MAGIC,
  ------------------
  |  |  122|  6.99k|#define ISC_BUFFER_MAGIC    0x42756621U /* Buf!. */
  ------------------
  591|  6.99k|	};
  592|  6.99k|}
rdataset.c:isc_buffer_availableregion:
  689|   152k|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|   152k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   152k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   305k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 152k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 152k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   152k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|   152k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|   152k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   152k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 152k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   152k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|   152k|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|   152k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|   152k|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|   152k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|   152k|}
rdataset.c:isc_buffer_putuint16:
  916|   430k|isc_buffer_putuint16(isc_buffer_t *restrict b, const uint16_t val) {
  917|   430k|	ISC_BUFFER_PUT_RESERVE(b, val, sizeof(val));
  ------------------
  |  |  876|   430k|	{                                                               \
  |  |  877|   430k|		REQUIRE(ISC_BUFFER_VALID(b));                           \
  |  |  ------------------
  |  |  |  |  198|   430k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   860k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 430k, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 430k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|   430k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  878|   430k|                                                                        \
  |  |  879|   430k|		if (b->mctx) {                                          \
  |  |  ------------------
  |  |  |  Branch (879:7): [True: 0, False: 430k]
  |  |  ------------------
  |  |  880|      0|			isc_result_t result = isc_buffer_reserve(b, s); \
  |  |  881|      0|			ENSURE(result == ISC_R_SUCCESS);                \
  |  |  ------------------
  |  |  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |  |  |   51|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|      0|		}                                                       \
  |  |  883|   430k|                                                                        \
  |  |  884|   430k|		REQUIRE(isc_buffer_availablelength(b) >= s);            \
  |  |  ------------------
  |  |  |  |  198|   430k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   430k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 430k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|   430k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  885|   430k|	}
  ------------------
  918|       |
  919|   430k|	uint8_t *cp = isc_buffer_used(b);
  ------------------
  |  |  150|   430k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  920|   430k|	b->used += sizeof(val);
  921|   430k|	ISC_U16TO8_BE(cp, val);
  ------------------
  |  |  223|   430k|	(p)[0] = (uint8_t)((v) >> 8); \
  |  |  224|   430k|	(p)[1] = (uint8_t)((v));
  ------------------
  922|   430k|}
rdataset.c:isc_buffer_putuint32:
  944|   124k|isc_buffer_putuint32(isc_buffer_t *restrict b, const uint32_t val) {
  945|   124k|	ISC_BUFFER_PUT_RESERVE(b, val, sizeof(val));
  ------------------
  |  |  876|   124k|	{                                                               \
  |  |  877|   124k|		REQUIRE(ISC_BUFFER_VALID(b));                           \
  |  |  ------------------
  |  |  |  |  198|   124k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   249k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:11): [True: 124k, False: 0]
  |  |  |  |  |  |  |  Branch (42:11): [True: 124k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  878|   124k|                                                                        \
  |  |  879|   124k|		if (b->mctx) {                                          \
  |  |  ------------------
  |  |  |  Branch (879:7): [True: 0, False: 124k]
  |  |  ------------------
  |  |  880|      0|			isc_result_t result = isc_buffer_reserve(b, s); \
  |  |  881|      0|			ENSURE(result == ISC_R_SUCCESS);                \
  |  |  ------------------
  |  |  |  |  200|      0|#define ENSURE(e)    ISC_ENSURE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   48|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (48:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   49|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (49:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   50|      0|					isc_assertiontype_ensure, #cond), \
  |  |  |  |  |  |   51|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|      0|		}                                                       \
  |  |  883|   124k|                                                                        \
  |  |  884|   124k|		REQUIRE(isc_buffer_availablelength(b) >= s);            \
  |  |  ------------------
  |  |  |  |  198|   124k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   42|   124k|	((void)((cond) ||                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (42:10): [True: 124k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   43|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |  |  |   45|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  885|   124k|	}
  ------------------
  946|       |
  947|   124k|	uint8_t *cp = isc_buffer_used(b);
  ------------------
  |  |  150|   124k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  948|   124k|	b->used += sizeof(val);
  949|       |
  950|   124k|	ISC_U32TO8_BE(cp, val);
  ------------------
  |  |  229|   124k|	(p)[0] = (uint8_t)((v) >> 24); \
  |  |  230|   124k|	(p)[1] = (uint8_t)((v) >> 16); \
  |  |  231|   124k|	(p)[2] = (uint8_t)((v) >> 8);  \
  |  |  232|   124k|	(p)[3] = (uint8_t)((v));
  ------------------
  951|   124k|}
rdataset.c:isc_buffer_add:
  698|   124k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|   124k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|   124k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   249k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 124k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 124k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|   124k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|   124k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   124k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 124k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   124k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|   124k|	b->used += n;
  703|   124k|}
time.c:isc_buffer_availableregion:
  689|  16.1k|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  16.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  16.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  32.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  16.1k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  16.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  16.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  16.1k|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  16.1k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  16.1k|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  16.1k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  16.1k|}
time.c:isc_buffer_add:
  698|  16.1k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  16.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  16.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  32.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  16.1k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  16.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  16.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  16.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  16.1k|	b->used += n;
  703|  16.1k|}
ttl.c:isc_buffer_availableregion:
  689|  96.1k|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  96.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  96.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   192k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 96.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 96.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  96.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  96.1k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  96.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  96.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 96.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  96.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  96.1k|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  96.1k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  96.1k|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  96.1k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  96.1k|}
ttl.c:isc_buffer_add:
  698|  96.1k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  96.1k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  96.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   192k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 96.1k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 96.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  96.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  96.1k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  96.1k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  96.1k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 96.1k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  96.1k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  96.1k|	b->used += n;
  703|  96.1k|}
fixedname.c:isc_buffer_init:
  583|   854k|		const unsigned int length) {
  584|   854k|	REQUIRE(b != NULL);
  ------------------
  |  |  198|   854k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   854k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 854k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   854k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  585|       |
  586|   854k|	*b = (isc_buffer_t){
  587|   854k|		.base = base,
  588|   854k|		.length = length,
  589|   854k|		.link = ISC_LINK_INITIALIZER,
  ------------------
  |  |   30|   854k|#define ISC_LINK_INITIALIZER ISC_LINK_INITIALIZER_TYPE(void)
  |  |  ------------------
  |  |  |  |   26|   854k|	{                                         \
  |  |  |  |   27|   854k|		.prev = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   854k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   28|   854k|		.next = ISC_LINK_TOMBSTONE(type), \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|   854k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   29|   854k|	}
  |  |  ------------------
  ------------------
  590|   854k|		.magic = ISC_BUFFER_MAGIC,
  ------------------
  |  |  122|   854k|#define ISC_BUFFER_MAGIC    0x42756621U /* Buf!. */
  ------------------
  591|   854k|	};
  592|   854k|}
base32.c:isc_buffer_availableregion:
  689|  11.9k|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  11.9k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  11.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  23.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 11.9k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 11.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  11.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  11.9k|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  11.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  11.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 11.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  11.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  11.9k|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  11.9k|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  11.9k|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  11.9k|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  11.9k|}
base32.c:isc_buffer_add:
  698|  11.9k|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  11.9k|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  11.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  23.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 11.9k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 11.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  11.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  11.9k|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  11.9k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  11.9k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 11.9k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  11.9k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  11.9k|	b->used += n;
  703|  11.9k|}
base64.c:isc_buffer_availableregion:
  689|  1.03M|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  1.03M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  1.03M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.07M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.03M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.03M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.03M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  1.03M|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  1.03M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.03M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.03M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.03M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  1.03M|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  1.03M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  1.03M|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  1.03M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  1.03M|}
base64.c:isc_buffer_add:
  698|  1.03M|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  1.03M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  1.03M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.07M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.03M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.03M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.03M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  1.03M|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  1.03M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.03M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.03M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.03M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  1.03M|	b->used += n;
  703|  1.03M|}
hex.c:isc_buffer_availableregion:
  689|  1.82M|isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t *restrict r) {
  690|  1.82M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  1.82M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.65M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.82M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.82M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.82M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  691|  1.82M|	REQUIRE(r != NULL);
  ------------------
  |  |  198|  1.82M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.82M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.82M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.82M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  692|       |
  693|  1.82M|	r->base = isc_buffer_used(b);
  ------------------
  |  |  150|  1.82M|	((void *)((unsigned char *)(b)->base + (b)->used)) /*d*/
  ------------------
  694|  1.82M|	r->length = isc_buffer_availablelength(b);
  ------------------
  |  |  162|  1.82M|#define isc_buffer_availablelength(b) ((b)->length - (b)->used)	   /* e-d */
  ------------------
  695|  1.82M|}
hex.c:isc_buffer_add:
  698|  1.82M|isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n) {
  699|  1.82M|	REQUIRE(ISC_BUFFER_VALID(b));
  ------------------
  |  |  198|  1.82M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.65M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.82M, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.82M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.82M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  700|  1.82M|	REQUIRE(b->used + n <= b->length);
  ------------------
  |  |  198|  1.82M|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.82M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.82M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.82M|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  701|       |
  702|  1.82M|	b->used += n;
  703|  1.82M|}

compress.c:isc_hash_bits32:
  114|   491k|isc_hash_bits32(uint32_t val, unsigned int bits) {
  115|   491k|	ISC_REQUIRE(bits <= ISC_HASH_MAX_BITS);
  ------------------
  |  |   42|   491k|	((void)((cond) ||                                                  \
  |  |  ------------------
  |  |  |  Branch (42:10): [True: 491k, False: 0]
  |  |  ------------------
  |  |   43|   491k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  ------------------
  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  ------------------
  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |   45|      0|		 0)))
  ------------------
  116|       |	/* High bits are more random. */
  117|   491k|	return val * ISC_HASH_GOLDENRATIO_32 >> (32 - bits);
  ------------------
  |  |  111|   491k|#define ISC_HASH_GOLDENRATIO_32 0x61C88647
  ------------------
  118|   491k|}
name.c:isc_hash32:
   53|   237k|isc_hash32(const void *data, const size_t length, const bool case_sensitive) {
   54|   237k|	isc_hash32_t state;
   55|   237k|	isc_hash32_init(&state);
   56|   237k|	isc_hash32_hash(&state, data, length, case_sensitive);
   57|   237k|	return isc_hash32_finalize(&state);
   58|   237k|}
hashmap.c:isc_hash_bits32:
  114|   588k|isc_hash_bits32(uint32_t val, unsigned int bits) {
  115|   588k|	ISC_REQUIRE(bits <= ISC_HASH_MAX_BITS);
  ------------------
  |  |   42|   588k|	((void)((cond) ||                                                  \
  |  |  ------------------
  |  |  |  Branch (42:10): [True: 588k, False: 0]
  |  |  ------------------
  |  |   43|   588k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  ------------------
  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  ------------------
  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |   45|      0|		 0)))
  ------------------
  116|       |	/* High bits are more random. */
  117|   588k|	return val * ISC_HASH_GOLDENRATIO_32 >> (32 - bits);
  ------------------
  |  |  111|   588k|#define ISC_HASH_GOLDENRATIO_32 0x61C88647
  ------------------
  118|   588k|}

isc_lib_initialize:
   57|      2|isc_lib_initialize(void) {
   58|      2|	isc__lib_initialize();
   59|      2|}

isc_mem_attach:
  222|  94.6k|	stat void name##_attach(name##_t *ptr, name##_t **ptrp) {    \
  223|  94.6k|		REQUIRE(ptrp != NULL && *ptrp == NULL);              \
  ------------------
  |  |  198|  94.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   189k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 94.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 94.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  94.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  224|  94.6k|		name##_ref(ptr);                                     \
  225|  94.6k|		*ptrp = ptr;                                         \
  226|  94.6k|	}                                                            \

hash.c:isc_halfsiphash13_init:
  633|   459k|isc_halfsiphash13_init(isc_halfsiphash24_t *restrict state, const uint8_t *k) {
  634|   459k|	REQUIRE(k != NULL);
  ------------------
  |  |  198|   459k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   459k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 459k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   459k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  635|       |
  636|   459k|	uint32_t k0 = ISC_U8TO32_LE(k);
  ------------------
  |  |  188|   459k|	(((uint32_t)((p)[0])) | ((uint32_t)((p)[1]) << 8) | \
  |  |  189|   459k|	 ((uint32_t)((p)[2]) << 16) | ((uint32_t)((p)[3]) << 24))
  ------------------
  637|   459k|	uint32_t k1 = ISC_U8TO32_LE(k + 4);
  ------------------
  |  |  188|   459k|	(((uint32_t)((p)[0])) | ((uint32_t)((p)[1]) << 8) | \
  |  |  189|   459k|	 ((uint32_t)((p)[2]) << 16) | ((uint32_t)((p)[3]) << 24))
  ------------------
  638|       |
  639|   459k|	*state = (isc_halfsiphash24_t){
  640|   459k|		.k0 = k0,
  641|   459k|		.k1 = k1,
  642|   459k|		.v0 = UINT32_C(0x00000000) ^ k0,
  643|   459k|		.v1 = UINT32_C(0x00000000) ^ k1,
  644|   459k|		.v2 = UINT32_C(0x6c796765) ^ k0,
  645|       |		.v3 = UINT32_C(0x74656462) ^ k1,
  646|   459k|	};
  647|   459k|}
hash.c:isc_halfsiphash13_hash:
  662|   901k|		       const size_t inlen, const bool case_sensitive) {
  663|   901k|	REQUIRE(inlen == 0 || in != NULL);
  ------------------
  |  |  198|   901k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.80M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 0, False: 901k]
  |  |  |  |  |  Branch (42:11): [True: 901k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   901k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  664|       |
  665|   901k|	if (in == NULL || inlen == 0) {
  ------------------
  |  Branch (665:6): [True: 0, False: 901k]
  |  Branch (665:20): [True: 0, False: 901k]
  ------------------
  666|      0|		return;
  667|      0|	}
  668|       |
  669|   901k|	size_t	  len = inlen;
  670|   901k|	const int right = state->inlen & 3;
  671|       |
  672|   901k|	switch (right) {
  673|   680k|	case 0:
  ------------------
  |  Branch (673:2): [True: 680k, False: 221k]
  ------------------
  674|   680k|		break;
  675|      0|	case 1:
  ------------------
  |  Branch (675:2): [True: 0, False: 901k]
  ------------------
  676|      0|		state->b |= U8TO32_ONE(case_sensitive, in[0]) << 8;
  ------------------
  |  |   77|      0|	(uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
  |  |  ------------------
  |  |  |  Branch (77:13): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  677|      0|		state->inlen++;
  678|      0|		++in;
  679|       |
  680|      0|		if (--len == 0) {
  ------------------
  |  Branch (680:7): [True: 0, False: 0]
  ------------------
  681|      0|			return;
  682|      0|		}
  683|      0|		FALLTHROUGH;
  ------------------
  |  |  105|      0|#define FALLTHROUGH [[fallthrough]]
  ------------------
  684|   221k|	case 2:
  ------------------
  |  Branch (684:2): [True: 221k, False: 680k]
  ------------------
  685|   221k|		state->b |= U8TO32_ONE(case_sensitive, in[0]) << 16;
  ------------------
  |  |   77|   221k|	(uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
  |  |  ------------------
  |  |  |  Branch (77:13): [True: 221k, False: 0]
  |  |  ------------------
  ------------------
  686|   221k|		state->inlen++;
  687|   221k|		++in;
  688|       |
  689|   221k|		if (--len == 0) {
  ------------------
  |  Branch (689:7): [True: 0, False: 221k]
  ------------------
  690|      0|			return;
  691|      0|		}
  692|   221k|		FALLTHROUGH;
  ------------------
  |  |  105|   221k|#define FALLTHROUGH [[fallthrough]]
  ------------------
  693|   221k|	case 3:
  ------------------
  |  Branch (693:2): [True: 0, False: 901k]
  ------------------
  694|   221k|		state->b |= U8TO32_ONE(case_sensitive, in[0]) << 24;
  ------------------
  |  |   77|   221k|	(uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
  |  |  ------------------
  |  |  |  Branch (77:13): [True: 221k, False: 0]
  |  |  ------------------
  ------------------
  695|   221k|		state->inlen++;
  696|   221k|		++in;
  697|       |
  698|   221k|		isc_halfsiphash13_one(state, state->b);
  699|   221k|		state->b = 0; /* consumed */
  700|       |
  701|   221k|		if (--len == 0) {
  ------------------
  |  Branch (701:7): [True: 221k, False: 0]
  ------------------
  702|   221k|			return;
  703|   221k|		}
  704|      0|		break;
  705|      0|	default:
  ------------------
  |  Branch (705:2): [True: 0, False: 901k]
  ------------------
  706|      0|		UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  707|   901k|	}
  708|       |
  709|   680k|	const uint8_t *end = in + len - (len % sizeof(uint32_t));
  710|   680k|	const int      left = len & 3;
  711|       |
  712|  1.09M|	for (; in != end; in += 4) {
  ------------------
  |  Branch (712:9): [True: 414k, False: 680k]
  ------------------
  713|   414k|		uint32_t m = case_sensitive
  ------------------
  |  Branch (713:16): [True: 0, False: 414k]
  ------------------
  714|   414k|				     ? ISC_U8TO32_LE(in)
  ------------------
  |  |  188|      0|	(((uint32_t)((p)[0])) | ((uint32_t)((p)[1]) << 8) | \
  |  |  189|      0|	 ((uint32_t)((p)[2]) << 16) | ((uint32_t)((p)[3]) << 24))
  ------------------
  715|   414k|				     : isc_ascii_tolower4(ISC_U8TO32_LE(in));
  ------------------
  |  |  188|   414k|	(((uint32_t)((p)[0])) | ((uint32_t)((p)[1]) << 8) | \
  |  |  189|   414k|	 ((uint32_t)((p)[2]) << 16) | ((uint32_t)((p)[3]) << 24))
  ------------------
  716|       |
  717|   414k|		isc_halfsiphash13_one(state, m);
  718|   414k|	}
  719|       |
  720|   680k|	INSIST(state->b == 0);
  ------------------
  |  |  202|   680k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   680k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 680k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   680k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  721|   680k|	switch (left) {
  722|  18.7k|	case 3:
  ------------------
  |  Branch (722:2): [True: 18.7k, False: 661k]
  ------------------
  723|  18.7k|		state->b |= U8TO32_ONE(case_sensitive, in[2]) << 16;
  ------------------
  |  |   77|  18.7k|	(uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
  |  |  ------------------
  |  |  |  Branch (77:13): [True: 0, False: 18.7k]
  |  |  ------------------
  ------------------
  724|  18.7k|		FALLTHROUGH;
  ------------------
  |  |  105|  18.7k|#define FALLTHROUGH [[fallthrough]]
  ------------------
  725|   472k|	case 2:
  ------------------
  |  Branch (725:2): [True: 453k, False: 226k]
  ------------------
  726|   472k|		state->b |= U8TO32_ONE(case_sensitive, in[1]) << 8;
  ------------------
  |  |   77|   472k|	(uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
  |  |  ------------------
  |  |  |  Branch (77:13): [True: 442k, False: 29.8k]
  |  |  ------------------
  ------------------
  727|   472k|		FALLTHROUGH;
  ------------------
  |  |  105|   472k|#define FALLTHROUGH [[fallthrough]]
  ------------------
  728|   666k|	case 1:
  ------------------
  |  Branch (728:2): [True: 193k, False: 486k]
  ------------------
  729|   666k|		state->b |= U8TO32_ONE(case_sensitive, in[0]);
  ------------------
  |  |   77|   666k|	(uint32_t)(case_sensitive ? byte : isc__ascii_tolower1(byte))
  |  |  ------------------
  |  |  |  Branch (77:13): [True: 442k, False: 223k]
  |  |  ------------------
  ------------------
  730|   666k|		FALLTHROUGH;
  ------------------
  |  |  105|   666k|#define FALLTHROUGH [[fallthrough]]
  ------------------
  731|   680k|	case 0:
  ------------------
  |  Branch (731:2): [True: 14.0k, False: 666k]
  ------------------
  732|   680k|		break;
  733|      0|	default:
  ------------------
  |  Branch (733:2): [True: 0, False: 680k]
  ------------------
  734|      0|		UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  735|   680k|	}
  736|       |
  737|   680k|	state->inlen += len;
  738|   680k|}
hash.c:isc_halfsiphash13_one:
  650|  1.09M|isc_halfsiphash13_one(isc_halfsiphash13_t *restrict state, const uint32_t m) {
  651|  1.09M|	state->v3 ^= m;
  652|       |
  653|  2.18M|	for (size_t i = 0; i < cROUNDS_13; ++i) {
  ------------------
  |  |   47|  2.18M|#define cROUNDS_13 1
  ------------------
  |  Branch (653:21): [True: 1.09M, False: 1.09M]
  ------------------
  654|  1.09M|		HALFSIPROUND(state->v0, state->v1, state->v2, state->v3);
  ------------------
  |  |   74|  1.09M|#define HALFSIPROUND FULL_ROUND32
  |  |  ------------------
  |  |  |  |   71|  1.09M|	HALF_ROUND32(v0, v1, v2, v3, 5, 8); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|  1.09M|	a += b;                        \
  |  |  |  |  |  |   65|  1.09M|	c += d;                        \
  |  |  |  |  |  |   66|  1.09M|	b = ISC_ROTATE_LEFT(b, s) ^ a; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.09M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.09M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.09M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.09M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.09M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|  1.09M|	d = ISC_ROTATE_LEFT(d, t) ^ c; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.09M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.09M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.09M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.09M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.09M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   68|  1.09M|	a = ISC_ROTATE_LEFT(a, 16);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.09M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.09M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.09M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.09M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.09M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   72|  1.09M|	HALF_ROUND32(v2, v1, v0, v3, 13, 7);
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|  1.09M|	a += b;                        \
  |  |  |  |  |  |   65|  1.09M|	c += d;                        \
  |  |  |  |  |  |   66|  1.09M|	b = ISC_ROTATE_LEFT(b, s) ^ a; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.09M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.09M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.09M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.09M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.09M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|  1.09M|	d = ISC_ROTATE_LEFT(d, t) ^ c; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.09M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.09M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.09M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.09M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.09M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   68|  1.09M|	a = ISC_ROTATE_LEFT(a, 16);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.09M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.09M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.09M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.09M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.09M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  655|  1.09M|	}
  656|       |
  657|  1.09M|	state->v0 ^= m;
  658|  1.09M|}
hash.c:isc_halfsiphash13_finalize:
  741|   459k|isc_halfsiphash13_finalize(isc_halfsiphash13_t *restrict state, uint8_t *out) {
  742|   459k|	REQUIRE(out != NULL);
  ------------------
  |  |  198|   459k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   459k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 459k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   459k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  743|       |
  744|   459k|	uint32_t b = ((uint32_t)state->inlen) << 24 | state->b;
  745|       |
  746|   459k|	isc_halfsiphash13_one(state, b);
  747|       |
  748|   459k|	state->v2 ^= 0xff;
  749|       |
  750|  1.83M|	for (size_t i = 0; i < dROUNDS_13; ++i) {
  ------------------
  |  |   48|  1.83M|#define dROUNDS_13 3
  ------------------
  |  Branch (750:21): [True: 1.37M, False: 459k]
  ------------------
  751|  1.37M|		HALFSIPROUND(state->v0, state->v1, state->v2, state->v3);
  ------------------
  |  |   74|  1.37M|#define HALFSIPROUND FULL_ROUND32
  |  |  ------------------
  |  |  |  |   71|  1.37M|	HALF_ROUND32(v0, v1, v2, v3, 5, 8); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|  1.37M|	a += b;                        \
  |  |  |  |  |  |   65|  1.37M|	c += d;                        \
  |  |  |  |  |  |   66|  1.37M|	b = ISC_ROTATE_LEFT(b, s) ^ a; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.37M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.37M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.37M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.37M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.37M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|  1.37M|	d = ISC_ROTATE_LEFT(d, t) ^ c; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.37M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.37M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.37M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.37M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.37M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   68|  1.37M|	a = ISC_ROTATE_LEFT(a, 16);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.37M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.37M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.37M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.37M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.37M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   72|  1.37M|	HALF_ROUND32(v2, v1, v0, v3, 13, 7);
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|  1.37M|	a += b;                        \
  |  |  |  |  |  |   65|  1.37M|	c += d;                        \
  |  |  |  |  |  |   66|  1.37M|	b = ISC_ROTATE_LEFT(b, s) ^ a; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.37M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.37M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.37M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.37M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.37M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|  1.37M|	d = ISC_ROTATE_LEFT(d, t) ^ c; \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.37M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.37M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.37M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.37M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.37M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   68|  1.37M|	a = ISC_ROTATE_LEFT(a, 16);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  133|  1.37M|	_Generic((x),                        \
  |  |  |  |  |  |  |  |  134|  1.37M|		uint8_t: isc_rotate_left8,   \
  |  |  |  |  |  |  |  |  135|  1.37M|		uint16_t: isc_rotate_left16, \
  |  |  |  |  |  |  |  |  136|  1.37M|		uint32_t: isc_rotate_left32, \
  |  |  |  |  |  |  |  |  137|  1.37M|		uint64_t: isc_rotate_left64 EXTRA_ROTATE_LEFT)(x, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  752|  1.37M|	}
  753|       |
  754|   459k|	b = state->v1 ^ state->v3;
  755|   459k|	ISC_U32TO8_LE(out, b);
  ------------------
  |  |  182|   459k|	(p)[0] = (uint8_t)((v));       \
  |  |  183|   459k|	(p)[1] = (uint8_t)((v) >> 8);  \
  |  |  184|   459k|	(p)[2] = (uint8_t)((v) >> 16); \
  |  |  185|   459k|	(p)[3] = (uint8_t)((v) >> 24);
  ------------------
  756|   459k|}

mem.c:isc_tid:
   39|  87.6M|isc_tid(void) {
   40|  87.6M|	return isc__tid_local;
   41|  87.6M|}

isc__iterated_hash_initialize:
  144|      2|isc__iterated_hash_initialize(void) {
  145|      2|	if (initialized) {
  ------------------
  |  Branch (145:6): [True: 0, False: 2]
  ------------------
  146|      0|		return;
  147|      0|	}
  148|       |
  149|      2|	basectx = EVP_MD_CTX_new();
  150|      2|	INSIST(basectx != NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  151|      2|	mdctx = EVP_MD_CTX_new();
  152|      2|	INSIST(mdctx != NULL);
  ------------------
  |  |  202|      2|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      2|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      2|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  153|       |
  154|      2|	RUNTIME_CHECK(EVP_DigestInit_ex(basectx, isc__crypto_md[ISC_MD_SHA1],
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  155|      2|					NULL) == 1);
  156|       |	initialized = true;
  157|      2|}

mem.c:mallocx:
  109|  43.8M|mallocx(size_t size, int flags) {
  110|  43.8M|	size_t alignment = MALLOCX_ALIGN_GET(flags);
  ------------------
  |  |   74|  43.8M|	(((size_t)1) << (flags & MALLOCX_LG_ALIGN_MASK))
  |  |  ------------------
  |  |  |  |   64|  43.8M|#define MALLOCX_LG_ALIGN_MASK ((int)0x3f)
  |  |  ------------------
  ------------------
  111|  43.8M|	size_t header_size = get_header_size(flags);
  112|  43.8M|	size_info *si;
  113|       |
  114|  43.8M|	if (MALLOCX_NEEDS_ALIGN(flags)) {
  ------------------
  |  |   81|  43.8M|	(MALLOCX_ALIGN_GET(flags) > _Alignof(max_align_t))
  |  |  ------------------
  |  |  |  |   74|  43.8M|	(((size_t)1) << (flags & MALLOCX_LG_ALIGN_MASK))
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|  43.8M|#define MALLOCX_LG_ALIGN_MASK ((int)0x3f)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (81:2): [True: 10, False: 43.8M]
  |  |  ------------------
  ------------------
  115|     10|		size_t bytes = ISC_CHECKED_ADD(
  ------------------
  |  |   40|     10|	({                                                \
  |  |   41|     10|		typeof(a) _c;                             \
  |  |   42|     10|		bool	  _overflow = ckd_add(&_c, a, b); \
  |  |   43|     10|		INSIST(!_overflow);                       \
  |  |  ------------------
  |  |  |  |  202|     10|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|     10|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 10, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|     10|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   44|     10|		_c;                                       \
  |  |   45|     10|	})
  ------------------
  116|     10|			get_aligned_size(alignment, size), header_size);
  117|     10|		si = aligned_alloc(alignment, bytes);
  118|  43.8M|	} else {
  119|  43.8M|		si = malloc(ISC_CHECKED_ADD(size, header_size));
  ------------------
  |  |   40|  43.8M|	({                                                \
  |  |   41|  43.8M|		typeof(a) _c;                             \
  |  |   42|  43.8M|		bool	  _overflow = ckd_add(&_c, a, b); \
  |  |   43|  43.8M|		INSIST(!_overflow);                       \
  |  |  ------------------
  |  |  |  |  202|  43.8M|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  43.8M|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 43.8M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  43.8M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   44|  43.8M|		_c;                                       \
  |  |   45|  43.8M|	})
  ------------------
  120|  43.8M|	}
  121|  43.8M|	if (si == NULL) {
  ------------------
  |  Branch (121:6): [True: 0, False: 43.8M]
  ------------------
  122|      0|		return NULL;
  123|      0|	}
  124|  43.8M|	si->size = size;
  125|  43.8M|	si->flags = flags;
  126|       |
  127|  43.8M|	void *ptr = (uint8_t *)si + header_size;
  128|  43.8M|	if (MALLOCX_ZERO_GET(flags)) {
  ------------------
  |  |   62|  43.8M|#define MALLOCX_ZERO_GET(flags) ((bool)(flags & MALLOCX_ZERO))
  |  |  ------------------
  |  |  |  |   61|  43.8M|#define MALLOCX_ZERO		((int)0x40)
  |  |  ------------------
  |  |  |  Branch (62:33): [True: 40.5k, False: 43.7M]
  |  |  ------------------
  ------------------
  129|  40.5k|		memset(ptr, 0, size);
  130|  40.5k|	}
  131|       |
  132|  43.8M|	return ptr;
  133|  43.8M|}
mem.c:get_header_size:
   99|   131M|get_header_size(int flags) {
  100|   131M|	return get_aligned_size(MALLOCX_ALIGN_GET(flags), sizeof(size_info));
  ------------------
  |  |   74|   131M|	(((size_t)1) << (flags & MALLOCX_LG_ALIGN_MASK))
  |  |  ------------------
  |  |  |  |   64|   131M|#define MALLOCX_LG_ALIGN_MASK ((int)0x3f)
  |  |  ------------------
  ------------------
  101|   131M|}
mem.c:get_aligned_size:
   31|   131M|get_aligned_size(size_t alignment, size_t size) {
   32|       |	/*
   33|       |	 * C23 dropped the requirement that size be an integral multiple of
   34|       |	 * alignment, but some implementations still enforce it at runtime,
   35|       |	 * so round the size up.
   36|       |	 */
   37|       |	return ISC_CHECKED_ADD(size, alignment - 1) & ~(alignment - 1);
  ------------------
  |  |   40|   131M|	({                                                \
  |  |   41|   131M|		typeof(a) _c;                             \
  |  |   42|   131M|		bool	  _overflow = ckd_add(&_c, a, b); \
  |  |   43|   131M|		INSIST(!_overflow);                       \
  |  |  ------------------
  |  |  |  |  202|   131M|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|   131M|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 131M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|   131M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   44|   131M|		_c;                                       \
  |  |   45|   131M|	})
  ------------------
   38|   131M|}
mem.c:sdallocx:
  136|  43.8M|sdallocx(void *ptr, size_t size, int flags) {
  137|  43.8M|	size_info *si = get_size_info(ptr, flags);
  138|  43.8M|	size_t alignment = MALLOCX_ALIGN_GET(flags);
  ------------------
  |  |   74|  43.8M|	(((size_t)1) << (flags & MALLOCX_LG_ALIGN_MASK))
  |  |  ------------------
  |  |  |  |   64|  43.8M|#define MALLOCX_LG_ALIGN_MASK ((int)0x3f)
  |  |  ------------------
  ------------------
  139|  43.8M|	size_t header_size = get_header_size(flags);
  140|       |
  141|  43.8M|	INSIST((flags & MALLOCX_LG_ALIGN_MASK) ==
  ------------------
  |  |  202|  43.8M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  43.8M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 43.8M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  43.8M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  142|  43.8M|	       (si->flags & MALLOCX_LG_ALIGN_MASK));
  143|       |
  144|  43.8M|	if (MALLOCX_NEEDS_ALIGN(flags)) {
  ------------------
  |  |   81|  43.8M|	(MALLOCX_ALIGN_GET(flags) > _Alignof(max_align_t))
  |  |  ------------------
  |  |  |  |   74|  43.8M|	(((size_t)1) << (flags & MALLOCX_LG_ALIGN_MASK))
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|  43.8M|#define MALLOCX_LG_ALIGN_MASK ((int)0x3f)
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (81:2): [True: 0, False: 43.8M]
  |  |  ------------------
  ------------------
  145|      0|		size_t bytes = ISC_CHECKED_ADD(
  ------------------
  |  |   40|      0|	({                                                \
  |  |   41|      0|		typeof(a) _c;                             \
  |  |   42|      0|		bool	  _overflow = ckd_add(&_c, a, b); \
  |  |   43|      0|		INSIST(!_overflow);                       \
  |  |  ------------------
  |  |  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   44|      0|		_c;                                       \
  |  |   45|      0|	})
  ------------------
  146|      0|			get_aligned_size(alignment, size), header_size);
  147|      0|		free_aligned_sized(si, alignment, bytes);
  148|  43.8M|	} else {
  149|       |		free_sized(si, ISC_CHECKED_ADD(si->size, header_size));
  ------------------
  |  |   40|  43.8M|	({                                                \
  |  |   41|  43.8M|		typeof(a) _c;                             \
  |  |   42|  43.8M|		bool	  _overflow = ckd_add(&_c, a, b); \
  |  |   43|  43.8M|		INSIST(!_overflow);                       \
  |  |  ------------------
  |  |  |  |  202|  43.8M|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|  43.8M|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 43.8M, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|  43.8M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   44|  43.8M|		_c;                                       \
  |  |   45|  43.8M|	})
  ------------------
  150|  43.8M|	}
  151|  43.8M|}
mem.c:get_size_info:
  104|  43.8M|get_size_info(void *ptr, int flags) {
  105|  43.8M|	return (size_info *)((uint8_t *)ptr - get_header_size(flags));
  106|  43.8M|}
mem.c:free_sized:
   42|  43.8M|free_sized(void *ptr, size_t size ISC_ATTR_UNUSED) {
   43|  43.8M|	free(ptr);
   44|  43.8M|}
mem.c:sallocx:
  154|      8|sallocx(void *ptr, int flags) {
  155|      8|	size_info *si = get_size_info(ptr, flags);
  156|       |
  157|      8|	return si[0].size;
  158|      8|}

isc__lib_initialize:
   46|      4|isc__lib_initialize(void) {
   47|      4|	if (isc_refcount_increment0(&isc__lib_references) > 0) {
  ------------------
  |  |   68|      4|	({                                                 \
  |  |   69|      4|		uint_fast32_t __v;                         \
  |  |   70|      4|		__v = atomic_fetch_add_release(target, 1); \
  |  |  ------------------
  |  |  |  |   52|      4|	atomic_fetch_add_explicit((o), (v), memory_order_release)
  |  |  ------------------
  |  |   71|      4|		INSIST(__v < UINT32_MAX);                  \
  |  |  ------------------
  |  |  |  |  202|      4|#define INSIST(e)    ISC_INSIST(e)
  |  |  |  |  ------------------
  |  |  |  |  |  |   54|      4|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (54:10): [True: 4, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   55|      4|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   72|      4|		__v;                                       \
  |  |   73|      4|	})
  ------------------
  |  Branch (47:6): [True: 2, False: 2]
  ------------------
   48|      2|		return;
   49|      2|	}
   50|       |
   51|      4|	rcu_register_thread();
   52|      2|	isc__os_initialize();
   53|      2|	isc__mutex_initialize();
   54|      2|	isc__mem_initialize();
   55|      2|	isc__log_initialize();
   56|      2|	isc__crypto_initialize();
   57|      2|	isc__uv_initialize();
   58|      2|	isc__xml_initialize();
   59|      2|	isc__hash_initialize();
   60|      2|	isc__iterated_hash_initialize();
   61|      2|	(void)isc_os_ncpus();
   62|      2|}

isc_logconfig_create:
  328|      2|isc_logconfig_create(isc_logconfig_t **lcfgp) {
  329|      2|	REQUIRE(lcfgp != NULL && *lcfgp == NULL);
  ------------------
  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      4|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  330|      2|	REQUIRE(VALID_CONTEXT(isc__lctx));
  ------------------
  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      4|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  331|       |
  332|      2|	int level = ISC_LOG_INFO;
  ------------------
  |  |   42|      2|#define ISC_LOG_INFO	 (-1)
  ------------------
  333|       |
  334|      2|	isc_logconfig_t *lcfg = isc_mem_get(isc__lctx->mctx, sizeof(*lcfg));
  ------------------
  |  |  144|      2|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
  335|       |
  336|      2|	*lcfg = (isc_logconfig_t){
  337|      2|		.magic = LCFG_MAGIC,
  ------------------
  |  |   43|      2|#define LCFG_MAGIC	   ISC_MAGIC('L', 'c', 'f', 'g')
  |  |  ------------------
  |  |  |  |   31|      2|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  338|      2|		.lctx = isc__lctx,
  339|      2|		.channels = ISC_LIST_INITIALIZER,
  ------------------
  |  |   21|      2|	{                     \
  |  |   22|      2|		.head = NULL, \
  |  |   23|      2|		.tail = NULL, \
  |  |   24|      2|	}
  ------------------
  340|      2|		.highest_level = level,
  341|      2|	};
  342|       |
  343|       |	/*
  344|       |	 * Create the default channels:
  345|       |	 *      default_syslog, default_stderr, default_debug and null.
  346|       |	 */
  347|      2|	isc_log_createchannel(lcfg, "default_syslog", ISC_LOG_TOSYSLOG, level,
  ------------------
  |  |   54|      2|#define ISC_LOG_TOSYSLOG   2
  ------------------
  348|      2|			      ISC_LOGDESTINATION_SYSLOG(LOG_DAEMON), 0);
  ------------------
  |  |  287|      2|	(&(isc_logdestination_t){ .facility = (f) })
  ------------------
  349|       |
  350|      2|	isc_log_createchannel(lcfg, "default_stderr", ISC_LOG_TOFILEDESC, level,
  ------------------
  |  |   56|      2|#define ISC_LOG_TOFILEDESC 4
  ------------------
  351|      2|			      ISC_LOGDESTINATION_STDERR, ISC_LOG_PRINTTIME);
  ------------------
  |  |  284|      2|#define ISC_LOGDESTINATION_STDERR ISC_LOGDESTINATION_FILE(stderr)
  |  |  ------------------
  |  |  |  |  277|      2|	(&(isc_logdestination_t){                               \
  |  |  |  |  278|      2|		.file = {                                       \
  |  |  |  |  279|      2|			.stream = errout,                       \
  |  |  |  |  280|      2|			.versions = ISC_LOG_ROLLNEVER,          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   87|      2|#define ISC_LOG_ROLLNEVER    (-2)
  |  |  |  |  ------------------
  |  |  |  |  281|      2|			.suffix = isc_log_rollsuffix_increment, \
  |  |  |  |  282|      2|		} })
  |  |  ------------------
  ------------------
              			      ISC_LOGDESTINATION_STDERR, ISC_LOG_PRINTTIME);
  ------------------
  |  |   63|      2|#define ISC_LOG_PRINTTIME     0x00001
  ------------------
  352|       |
  353|       |	/*
  354|       |	 * Set the default category's channel to default_stderr,
  355|       |	 * which is at the head of the channels list because it was
  356|       |	 * just created.
  357|       |	 */
  358|      2|	default_channel.channel = ISC_LIST_HEAD(lcfg->channels);
  ------------------
  |  |   62|      2|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  359|       |
  360|      2|	isc_log_createchannel(lcfg, "default_debug", ISC_LOG_TOFILEDESC,
  ------------------
  |  |   56|      2|#define ISC_LOG_TOFILEDESC 4
  ------------------
  361|      2|			      ISC_LOG_DYNAMIC, ISC_LOGDESTINATION_STDERR,
  ------------------
  |  |   41|      2|#define ISC_LOG_DYNAMIC	 0
  ------------------
              			      ISC_LOG_DYNAMIC, ISC_LOGDESTINATION_STDERR,
  ------------------
  |  |  284|      2|#define ISC_LOGDESTINATION_STDERR ISC_LOGDESTINATION_FILE(stderr)
  |  |  ------------------
  |  |  |  |  277|      2|	(&(isc_logdestination_t){                               \
  |  |  |  |  278|      2|		.file = {                                       \
  |  |  |  |  279|      2|			.stream = errout,                       \
  |  |  |  |  280|      2|			.versions = ISC_LOG_ROLLNEVER,          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   87|      2|#define ISC_LOG_ROLLNEVER    (-2)
  |  |  |  |  ------------------
  |  |  |  |  281|      2|			.suffix = isc_log_rollsuffix_increment, \
  |  |  |  |  282|      2|		} })
  |  |  ------------------
  ------------------
  362|      2|			      ISC_LOG_PRINTTIME);
  ------------------
  |  |   63|      2|#define ISC_LOG_PRINTTIME     0x00001
  ------------------
  363|       |
  364|      2|	isc_log_createchannel(lcfg, "null", ISC_LOG_TONULL, ISC_LOG_DYNAMIC,
  ------------------
  |  |   53|      2|#define ISC_LOG_TONULL	   1
  ------------------
              	isc_log_createchannel(lcfg, "null", ISC_LOG_TONULL, ISC_LOG_DYNAMIC,
  ------------------
  |  |   41|      2|#define ISC_LOG_DYNAMIC	 0
  ------------------
  365|      2|			      NULL, 0);
  366|       |
  367|      2|	*lcfgp = lcfg;
  368|      2|}
isc_log_createchannel:
  473|      8|		      unsigned int flags) {
  474|      8|	isc_logchannel_t *channel;
  475|      8|	isc_mem_t *mctx;
  476|      8|	unsigned int permitted = ISC_LOG_PRINTALL | ISC_LOG_DEBUGONLY |
  ------------------
  |  |   69|      8|#define ISC_LOG_PRINTALL      0x0003F
  ------------------
              	unsigned int permitted = ISC_LOG_PRINTALL | ISC_LOG_DEBUGONLY |
  ------------------
  |  |   71|      8|#define ISC_LOG_DEBUGONLY     0x01000
  ------------------
  477|      8|				 ISC_LOG_BUFFERED | ISC_LOG_ISO8601 |
  ------------------
  |  |   70|      8|#define ISC_LOG_BUFFERED      0x00040
  ------------------
              				 ISC_LOG_BUFFERED | ISC_LOG_ISO8601 |
  ------------------
  |  |   73|      8|#define ISC_LOG_ISO8601	      0x10000 /* if PRINTTIME, use ISO8601 */
  ------------------
  478|      8|				 ISC_LOG_UTC | ISC_LOG_TZINFO;
  ------------------
  |  |   74|      8|#define ISC_LOG_UTC	      0x20000 /* if PRINTTIME, use UTC */
  ------------------
              				 ISC_LOG_UTC | ISC_LOG_TZINFO;
  ------------------
  |  |   75|      8|#define ISC_LOG_TZINFO	      0x40000 /* if PRINTTIME, output TZ info */
  ------------------
  479|       |
  480|      8|	REQUIRE(VALID_CONFIG(lcfg));
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     16|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  481|      8|	REQUIRE(name != NULL);
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  482|      8|	REQUIRE(type == ISC_LOG_TOSYSLOG || type == ISC_LOG_TOFILE ||
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     38|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2, False: 6]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 6]
  |  |  |  |  |  Branch (42:11): [True: 4, False: 2]
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  483|      8|		type == ISC_LOG_TOFILEDESC || type == ISC_LOG_TONULL);
  484|      8|	REQUIRE(destination != NULL || type == ISC_LOG_TONULL);
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     10|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 6, False: 2]
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  485|      8|	REQUIRE(level >= ISC_LOG_CRITICAL);
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  486|      8|	REQUIRE((flags & ~permitted) == 0);
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  487|      8|	REQUIRE(!(flags & ISC_LOG_UTC) || !(flags & ISC_LOG_TZINFO));
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  488|       |
  489|       |	/* FIXME: find duplicate names? */
  490|       |
  491|      8|	mctx = lcfg->lctx->mctx;
  492|       |
  493|      8|	channel = isc_mem_get(mctx, sizeof(*channel));
  ------------------
  |  |  144|      8|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
  494|       |
  495|      8|	channel->name = isc_mem_strdup(mctx, name);
  ------------------
  |  |  167|      8|#define isc_mem_strdup(c, p) isc__mem_strdup((c), (p)_ISC_MEM_FILELINE)
  ------------------
  496|       |
  497|      8|	channel->type = type;
  498|      8|	channel->level = level;
  499|      8|	channel->flags = flags;
  500|      8|	ISC_LINK_INIT(channel, link);
  ------------------
  |  |   57|      8|#define ISC_LINK_INIT(elt, link) ISC_LINK_INIT_TYPE(elt, link, void)
  |  |  ------------------
  |  |  |  |   53|      8|	do {                                                 \
  |  |  |  |   54|      8|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|      8|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   55|      8|		(elt)->link.next = ISC_LINK_TOMBSTONE(type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |   18|      8|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  ------------------
  |  |  |  |   56|      8|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (56:11): [Folded, False: 8]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  501|       |
  502|      8|	switch (type) {
  503|      2|	case ISC_LOG_TOSYSLOG:
  ------------------
  |  |   54|      2|#define ISC_LOG_TOSYSLOG   2
  ------------------
  |  Branch (503:2): [True: 2, False: 6]
  ------------------
  504|      2|		FACILITY(channel) = destination->facility;
  ------------------
  |  |  314|      2|#define FACILITY(channel)	 (channel->destination.facility)
  ------------------
  505|      2|		break;
  506|       |
  507|      0|	case ISC_LOG_TOFILE:
  ------------------
  |  |   55|      0|#define ISC_LOG_TOFILE	   3
  ------------------
  |  Branch (507:2): [True: 0, False: 8]
  ------------------
  508|       |		/*
  509|       |		 * The file name is copied because greatest_version wants
  510|       |		 * to scribble on it, so it needs to be definitely in
  511|       |		 * writable memory.
  512|       |		 */
  513|      0|		FILE_NAME(channel) = isc_mem_strdup(mctx,
  ------------------
  |  |  315|      0|#define FILE_NAME(channel)	 (channel->destination.file.name)
  ------------------
              		FILE_NAME(channel) = isc_mem_strdup(mctx,
  ------------------
  |  |  167|      0|#define isc_mem_strdup(c, p) isc__mem_strdup((c), (p)_ISC_MEM_FILELINE)
  ------------------
  514|      0|						    destination->file.name);
  515|      0|		FILE_STREAM(channel) = NULL;
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
  516|      0|		FILE_VERSIONS(channel) = destination->file.versions;
  ------------------
  |  |  317|      0|#define FILE_VERSIONS(channel)	 (channel->destination.file.versions)
  ------------------
  517|      0|		FILE_SUFFIX(channel) = destination->file.suffix;
  ------------------
  |  |  318|      0|#define FILE_SUFFIX(channel)	 (channel->destination.file.suffix)
  ------------------
  518|      0|		FILE_MAXSIZE(channel) = destination->file.maximum_size;
  ------------------
  |  |  319|      0|#define FILE_MAXSIZE(channel)	 (channel->destination.file.maximum_size)
  ------------------
  519|      0|		FILE_MAXREACHED(channel) = false;
  ------------------
  |  |  320|      0|#define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
  ------------------
  520|      0|		break;
  521|       |
  522|      4|	case ISC_LOG_TOFILEDESC:
  ------------------
  |  |   56|      4|#define ISC_LOG_TOFILEDESC 4
  ------------------
  |  Branch (522:2): [True: 4, False: 4]
  ------------------
  523|      4|		FILE_NAME(channel) = NULL;
  ------------------
  |  |  315|      4|#define FILE_NAME(channel)	 (channel->destination.file.name)
  ------------------
  524|      4|		FILE_STREAM(channel) = destination->file.stream;
  ------------------
  |  |  316|      4|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
  525|      4|		FILE_MAXSIZE(channel) = 0;
  ------------------
  |  |  319|      4|#define FILE_MAXSIZE(channel)	 (channel->destination.file.maximum_size)
  ------------------
  526|      4|		FILE_VERSIONS(channel) = ISC_LOG_ROLLNEVER;
  ------------------
  |  |  317|      4|#define FILE_VERSIONS(channel)	 (channel->destination.file.versions)
  ------------------
              		FILE_VERSIONS(channel) = ISC_LOG_ROLLNEVER;
  ------------------
  |  |   87|      4|#define ISC_LOG_ROLLNEVER    (-2)
  ------------------
  527|      4|		FILE_SUFFIX(channel) = isc_log_rollsuffix_increment;
  ------------------
  |  |  318|      4|#define FILE_SUFFIX(channel)	 (channel->destination.file.suffix)
  ------------------
  528|      4|		break;
  529|       |
  530|      2|	case ISC_LOG_TONULL:
  ------------------
  |  |   53|      2|#define ISC_LOG_TONULL	   1
  ------------------
  |  Branch (530:2): [True: 2, False: 6]
  ------------------
  531|       |		/* Nothing. */
  532|      2|		break;
  533|       |
  534|      0|	default:
  ------------------
  |  Branch (534:2): [True: 0, False: 8]
  ------------------
  535|      0|		UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  536|      8|	}
  537|       |
  538|      8|	ISC_LIST_PREPEND(lcfg->channels, channel, link);
  ------------------
  |  |   79|      8|	do {                                                  \
  |  |   80|      8|		ISC_LINK_INSIST(!ISC_LINK_LINKED(elt, link)); \
  |  |   81|      8|		__ISC_LIST_PREPENDUNSAFE(list, elt, link);    \
  |  |  ------------------
  |  |  |  |   67|      8|	do {                                            \
  |  |  |  |   68|      8|		if ((list).head != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (68:7): [True: 6, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   69|      6|			(list).head->link.prev = (elt); \
  |  |  |  |   70|      6|		} else {                                \
  |  |  |  |   71|      2|			(list).tail = (elt);            \
  |  |  |  |   72|      2|		}                                       \
  |  |  |  |   73|      8|		(elt)->link.prev = NULL;                \
  |  |  |  |   74|      8|		(elt)->link.next = (list).head;         \
  |  |  |  |   75|      8|		(list).head = (elt);                    \
  |  |  |  |   76|      8|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (76:11): [Folded, False: 8]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   82|      8|	} while (0)
  |  |  ------------------
  |  |  |  Branch (82:11): [Folded, False: 8]
  |  |  ------------------
  ------------------
  539|       |
  540|       |	/*
  541|       |	 * If default_stderr was redefined, make the default category
  542|       |	 * point to the new default_stderr.
  543|       |	 */
  544|      8|	if (strcmp(name, "default_stderr") == 0) {
  ------------------
  |  Branch (544:6): [True: 2, False: 6]
  ------------------
  545|      2|		default_channel.channel = channel;
  546|      2|	}
  547|      8|}
isc_log_write:
  612|  1.84k|	      const char *format, ...) {
  613|  1.84k|	va_list args;
  614|       |
  615|       |	/*
  616|       |	 * Contract checking is done in isc_log_doit().
  617|       |	 */
  618|       |
  619|  1.84k|	va_start(args, format);
  620|  1.84k|	isc_log_doit(category, module, level, format, args);
  621|       |	va_end(args);
  622|  1.84k|}
isc_log_wouldlog:
 1197|  1.84k|isc_log_wouldlog(int level) {
 1198|       |	/*
 1199|       |	 * Try to avoid locking the mutex for messages which can't
 1200|       |	 * possibly be logged to any channels -- primarily debugging
 1201|       |	 * messages that the debug level is not high enough to print.
 1202|       |	 *
 1203|       |	 * If the level is (mathematically) less than or equal to the
 1204|       |	 * highest_level, or if there is a dynamic channel and the level is
 1205|       |	 * less than or equal to the debug level, the main loop must be
 1206|       |	 * entered to see if the message should really be output.
 1207|       |	 */
 1208|  1.84k|	if (isc__lctx == NULL) {
  ------------------
  |  Branch (1208:6): [True: 0, False: 1.84k]
  ------------------
 1209|      0|		return false;
 1210|      0|	}
 1211|  1.84k|	if (forcelog) {
  ------------------
  |  Branch (1211:6): [True: 0, False: 1.84k]
  ------------------
 1212|      0|		return true;
 1213|      0|	}
 1214|       |
 1215|  1.84k|	int highest_level = atomic_load_acquire(&isc__lctx->highest_level);
  ------------------
  |  |   50|  1.84k|#define atomic_load_acquire(o) atomic_load_explicit((o), memory_order_acquire)
  ------------------
 1216|  1.84k|	if (level <= highest_level) {
  ------------------
  |  Branch (1216:6): [True: 0, False: 1.84k]
  ------------------
 1217|      0|		return true;
 1218|      0|	}
 1219|  1.84k|	if (atomic_load_acquire(&isc__lctx->dynamic)) {
  ------------------
  |  |   50|  1.84k|#define atomic_load_acquire(o) atomic_load_explicit((o), memory_order_acquire)
  |  |  ------------------
  |  |  |  Branch (50:32): [True: 0, False: 1.84k]
  |  |  ------------------
  ------------------
 1220|      0|		int debug_level = atomic_load_acquire(&isc__lctx->debug_level);
  ------------------
  |  |   50|      0|#define atomic_load_acquire(o) atomic_load_explicit((o), memory_order_acquire)
  ------------------
 1221|      0|		if (level <= debug_level) {
  ------------------
  |  Branch (1221:7): [True: 0, False: 0]
  ------------------
 1222|      0|			return true;
 1223|      0|		}
 1224|      0|	}
 1225|       |
 1226|  1.84k|	return false;
 1227|  1.84k|}
isc__log_initialize:
 1532|      2|isc__log_initialize(void) {
 1533|      2|	REQUIRE(isc__lctx == NULL);
  ------------------
  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      2|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1534|       |
 1535|      2|	isc_mem_t *mctx = NULL;
 1536|       |
 1537|      2|	isc_mem_create("log", &mctx);
  ------------------
  |  |  236|      2|#define isc_mem_create(name, cp) isc__mem_create((name), (cp)_ISC_MEM_FILELINE)
  ------------------
 1538|      2|	isc_mem_setdebugging(mctx, 0);
 1539|       |
 1540|      2|	isc__lctx = isc_mem_get(mctx, sizeof(*isc__lctx));
  ------------------
  |  |  144|      2|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
 1541|      2|	*isc__lctx = (isc_log_t){
 1542|      2|		.magic = LCTX_MAGIC,
  ------------------
  |  |   40|      2|#define LCTX_MAGIC	    ISC_MAGIC('L', 'c', 't', 'x')
  |  |  ------------------
  |  |  |  |   31|      2|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
 1543|      2|		.mctx = mctx, /* implicit attach */
 1544|      2|	};
 1545|       |
 1546|      2|	isc_mutex_init(&isc__lctx->lock);
  ------------------
  |  |   68|      2|#define isc_mutex_init(mp)    isc__mutex_init(mp)
  |  |  ------------------
  |  |  |  |   79|      2|	{                                                                 \
  |  |  |  |   80|      2|		int _ret = pthread_mutex_init(mp, &isc__mutex_init_attr); \
  |  |  |  |   81|      2|		PTHREADS_RUNTIME_CHECK(pthread_mutex_init, _ret);         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  288|      2|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  ------------------
  |  |  |  |   82|      2|	}
  |  |  ------------------
  ------------------
 1547|       |
 1548|       |	/* Create default logging configuration */
 1549|      2|	isc_logconfig_t *lcfg = NULL;
 1550|      2|	isc_logconfig_create(&lcfg);
 1551|       |
 1552|      2|	atomic_init(&isc__lctx->highest_level, lcfg->highest_level);
 1553|      2|	atomic_init(&isc__lctx->dynamic, lcfg->dynamic);
 1554|       |
 1555|      2|	isc__lctx->logconfig = lcfg;
 1556|      2|}
log.c:isc_log_doit:
 1231|  1.84k|	     const char *format, va_list args) {
 1232|  1.84k|	int syslog_level;
 1233|  1.84k|	const char *time_string;
 1234|  1.84k|	char local_time[64] = { 0 };
 1235|  1.84k|	char iso8601z_string[64] = { 0 };
 1236|  1.84k|	char iso8601l_string[64] = { 0 };
 1237|  1.84k|	char iso8601tz_string[64] = { 0 };
 1238|  1.84k|	char level_string[24] = { 0 };
 1239|  1.84k|	struct stat statbuf;
 1240|  1.84k|	bool matched = false;
 1241|  1.84k|	bool printtime, iso8601, utc, tzinfo, printtag, printcolon;
 1242|  1.84k|	bool printcategory, printmodule, printlevel, buffered;
 1243|  1.84k|	isc_logchannel_t *channel;
 1244|  1.84k|	isc_logchannellist_t *category_channels;
 1245|  1.84k|	int_fast32_t dlevel;
 1246|  1.84k|	isc_result_t result;
 1247|       |
 1248|  1.84k|	REQUIRE(isc__lctx == NULL || VALID_CONTEXT(isc__lctx));
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  7.38k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.84k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.84k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 0, False: 1.84k]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1249|  1.84k|	REQUIRE(category > ISC_LOGCATEGORY_DEFAULT &&
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.69k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.84k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1250|  1.84k|		category < ISC_LOGCATEGORY_MAX);
 1251|  1.84k|	REQUIRE(module > ISC_LOGMODULE_DEFAULT && module < ISC_LOGMODULE_MAX);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  3.69k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 1.84k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1252|  1.84k|	REQUIRE(level != ISC_LOG_DYNAMIC);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1253|  1.84k|	REQUIRE(format != NULL);
  ------------------
  |  |  198|  1.84k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.84k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 1.84k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  1.84k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1254|       |
 1255|  1.84k|	if (!isc_log_wouldlog(level)) {
  ------------------
  |  Branch (1255:6): [True: 1.84k, False: 0]
  ------------------
 1256|  1.84k|		return;
 1257|  1.84k|	}
 1258|       |
 1259|  1.84k|	rcu_read_lock();
 1260|      0|	LOCK(&isc__lctx->lock);
  ------------------
  |  |   26|      0|	{                                                                  \
  |  |   27|      0|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", (lp), \
  |  |   28|      0|				       __FILE__, __LINE__));               \
  |  |   29|      0|		isc_mutex_lock((lp));                                      \
  |  |  ------------------
  |  |  |  |   69|      0|#define isc_mutex_lock(mp)    isc__mutex_lock(mp)
  |  |  |  |  ------------------
  |  |  |  |  |  |   85|      0|	{                                                         \
  |  |  |  |  |  |   86|      0|		int _ret = pthread_mutex_lock(mp);                \
  |  |  |  |  |  |   87|      0|		PTHREADS_RUNTIME_CHECK(pthread_mutex_lock, _ret); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  288|      0|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   88|      0|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   30|      0|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", (lp),  \
  |  |   31|      0|				       __FILE__, __LINE__));               \
  |  |   32|      0|	}
  ------------------
 1261|       |
 1262|      0|	isc__lctx->buffer[0] = '\0';
 1263|       |
 1264|      0|	isc_logconfig_t *lcfg = rcu_dereference(isc__lctx->logconfig);
 1265|      0|	if (lcfg == NULL) {
  ------------------
  |  Branch (1265:6): [True: 0, False: 0]
  ------------------
 1266|      0|		goto unlock;
 1267|      0|	}
 1268|       |
 1269|      0|	category_channels = ISC_LIST_HEAD(lcfg->channellists[category]);
  ------------------
  |  |   62|      0|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1270|       |
 1271|      0|	do {
 1272|       |		/*
 1273|       |		 * If the channel list end was reached and a match was
 1274|       |		 * made, everything is finished.
 1275|       |		 */
 1276|      0|		if (category_channels == NULL && matched) {
  ------------------
  |  Branch (1276:7): [True: 0, False: 0]
  |  Branch (1276:36): [True: 0, False: 0]
  ------------------
 1277|      0|			break;
 1278|      0|		}
 1279|       |
 1280|      0|		if (category_channels == NULL && !matched &&
  ------------------
  |  Branch (1280:7): [True: 0, False: 0]
  |  Branch (1280:36): [True: 0, False: 0]
  ------------------
 1281|      0|		    category_channels != ISC_LIST_HEAD(lcfg->channellists[0]))
  ------------------
  |  |   62|      0|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
  |  Branch (1281:7): [True: 0, False: 0]
  ------------------
 1282|      0|		{
 1283|       |			/*
 1284|       |			 * No category/module pair was explicitly
 1285|       |			 * configured. Try the category named "default".
 1286|       |			 */
 1287|      0|			category_channels =
 1288|      0|				ISC_LIST_HEAD(lcfg->channellists[0]);
  ------------------
  |  |   62|      0|#define ISC_LIST_HEAD(list)  ((list).head)
  ------------------
 1289|      0|		}
 1290|       |
 1291|      0|		if (category_channels == NULL && !matched) {
  ------------------
  |  Branch (1291:7): [True: 0, False: 0]
  |  Branch (1291:36): [True: 0, False: 0]
  ------------------
 1292|       |			/*
 1293|       |			 * No matching module was explicitly configured
 1294|       |			 * for the category named "default".  Use the
 1295|       |			 * internal default channel.
 1296|       |			 */
 1297|      0|			category_channels = &default_channel;
 1298|      0|		}
 1299|       |
 1300|      0|		if (category_channels->module != ISC_LOGMODULE_DEFAULT &&
  ------------------
  |  Branch (1300:7): [True: 0, False: 0]
  ------------------
 1301|      0|		    category_channels->module != module)
  ------------------
  |  Branch (1301:7): [True: 0, False: 0]
  ------------------
 1302|      0|		{
 1303|      0|			category_channels = ISC_LIST_NEXT(category_channels,
  ------------------
  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
 1304|      0|							  link);
 1305|      0|			continue;
 1306|      0|		}
 1307|       |
 1308|      0|		matched = true;
 1309|       |
 1310|      0|		channel = category_channels->channel;
 1311|      0|		category_channels = ISC_LIST_NEXT(category_channels, link);
  ------------------
  |  |  140|      0|#define ISC_LIST_NEXT(elt, link) ((elt)->link.next)
  ------------------
 1312|       |
 1313|      0|		if (!forcelog) {
  ------------------
  |  Branch (1313:7): [True: 0, False: 0]
  ------------------
 1314|      0|			dlevel = atomic_load_acquire(&isc__lctx->debug_level);
  ------------------
  |  |   50|      0|#define atomic_load_acquire(o) atomic_load_explicit((o), memory_order_acquire)
  ------------------
 1315|      0|			if (((channel->flags & ISC_LOG_DEBUGONLY) != 0) &&
  ------------------
  |  |   71|      0|#define ISC_LOG_DEBUGONLY     0x01000
  ------------------
  |  Branch (1315:8): [True: 0, False: 0]
  ------------------
 1316|      0|			    dlevel == 0)
  ------------------
  |  Branch (1316:8): [True: 0, False: 0]
  ------------------
 1317|      0|			{
 1318|      0|				continue;
 1319|      0|			}
 1320|       |
 1321|      0|			if (channel->level == ISC_LOG_DYNAMIC) {
  ------------------
  |  |   41|      0|#define ISC_LOG_DYNAMIC	 0
  ------------------
  |  Branch (1321:8): [True: 0, False: 0]
  ------------------
 1322|      0|				if (dlevel < level) {
  ------------------
  |  Branch (1322:9): [True: 0, False: 0]
  ------------------
 1323|      0|					continue;
 1324|      0|				}
 1325|      0|			} else if (channel->level < level) {
  ------------------
  |  Branch (1325:15): [True: 0, False: 0]
  ------------------
 1326|      0|				continue;
 1327|      0|			}
 1328|      0|		}
 1329|       |
 1330|      0|		if ((channel->flags & ISC_LOG_PRINTTIME) != 0 &&
  ------------------
  |  |   63|      0|#define ISC_LOG_PRINTTIME     0x00001
  ------------------
  |  Branch (1330:7): [True: 0, False: 0]
  ------------------
 1331|      0|		    local_time[0] == '\0')
  ------------------
  |  Branch (1331:7): [True: 0, False: 0]
  ------------------
 1332|      0|		{
 1333|      0|			isc_time_t isctime;
 1334|       |
 1335|      0|			isctime = isc_time_now();
 1336|       |
 1337|      0|			isc_time_formattimestamp(&isctime, local_time,
 1338|      0|						 sizeof(local_time));
 1339|      0|			isc_time_formatISO8601ms(&isctime, iso8601z_string,
 1340|      0|						 sizeof(iso8601z_string));
 1341|      0|			isc_time_formatISO8601Lms(&isctime, iso8601l_string,
 1342|      0|						  sizeof(iso8601l_string));
 1343|      0|			isc_time_formatISO8601TZms(&isctime, iso8601tz_string,
 1344|      0|						   sizeof(iso8601tz_string));
 1345|      0|		}
 1346|       |
 1347|      0|		if ((channel->flags & ISC_LOG_PRINTLEVEL) != 0 &&
  ------------------
  |  |   64|      0|#define ISC_LOG_PRINTLEVEL    0x00002
  ------------------
  |  Branch (1347:7): [True: 0, False: 0]
  ------------------
 1348|      0|		    level_string[0] == '\0')
  ------------------
  |  Branch (1348:7): [True: 0, False: 0]
  ------------------
 1349|      0|		{
 1350|      0|			if (level < ISC_LOG_CRITICAL) {
  ------------------
  |  |   46|      0|#define ISC_LOG_CRITICAL (-5)
  ------------------
  |  Branch (1350:8): [True: 0, False: 0]
  ------------------
 1351|      0|				snprintf(level_string, sizeof(level_string),
 1352|      0|					 "level %d: ", level);
 1353|      0|			} else if (level > ISC_LOG_DYNAMIC) {
  ------------------
  |  |   41|      0|#define ISC_LOG_DYNAMIC	 0
  ------------------
  |  Branch (1353:15): [True: 0, False: 0]
  ------------------
 1354|      0|				snprintf(level_string, sizeof(level_string),
 1355|      0|					 "%s %d: ", log_level_strings[0],
 1356|      0|					 level);
 1357|      0|			} else {
 1358|      0|				snprintf(level_string, sizeof(level_string),
 1359|      0|					 "%s: ", log_level_strings[-level]);
 1360|      0|			}
 1361|      0|		}
 1362|       |
 1363|       |		/*
 1364|       |		 * Only format the message once.
 1365|       |		 */
 1366|      0|		if (isc__lctx->buffer[0] == '\0') {
  ------------------
  |  Branch (1366:7): [True: 0, False: 0]
  ------------------
 1367|      0|			(void)vsnprintf(isc__lctx->buffer,
 1368|      0|					sizeof(isc__lctx->buffer), format,
 1369|      0|					args);
 1370|      0|		}
 1371|       |
 1372|      0|		utc = ((channel->flags & ISC_LOG_UTC) != 0);
  ------------------
  |  |   74|      0|#define ISC_LOG_UTC	      0x20000 /* if PRINTTIME, use UTC */
  ------------------
 1373|      0|		tzinfo = ((channel->flags & ISC_LOG_TZINFO) != 0);
  ------------------
  |  |   75|      0|#define ISC_LOG_TZINFO	      0x40000 /* if PRINTTIME, output TZ info */
  ------------------
 1374|      0|		iso8601 = ((channel->flags & ISC_LOG_ISO8601) != 0);
  ------------------
  |  |   73|      0|#define ISC_LOG_ISO8601	      0x10000 /* if PRINTTIME, use ISO8601 */
  ------------------
 1375|      0|		printtime = ((channel->flags & ISC_LOG_PRINTTIME) != 0);
  ------------------
  |  |   63|      0|#define ISC_LOG_PRINTTIME     0x00001
  ------------------
 1376|      0|		printtag = ((channel->flags &
  ------------------
  |  Branch (1376:15): [True: 0, False: 0]
  ------------------
 1377|      0|			     (ISC_LOG_PRINTTAG | ISC_LOG_PRINTPREFIX)) != 0 &&
  ------------------
  |  |   67|      0|#define ISC_LOG_PRINTTAG      0x00010 /* tag and ":" */
  ------------------
              			     (ISC_LOG_PRINTTAG | ISC_LOG_PRINTPREFIX)) != 0 &&
  ------------------
  |  |   68|      0|#define ISC_LOG_PRINTPREFIX   0x00020 /* tag only, no colon */
  ------------------
 1378|      0|			    lcfg->tag != NULL);
  ------------------
  |  Branch (1378:8): [True: 0, False: 0]
  ------------------
 1379|      0|		printcolon = ((channel->flags & ISC_LOG_PRINTTAG) != 0 &&
  ------------------
  |  |   67|      0|#define ISC_LOG_PRINTTAG      0x00010 /* tag and ":" */
  ------------------
  |  Branch (1379:17): [True: 0, False: 0]
  ------------------
 1380|      0|			      lcfg->tag != NULL);
  ------------------
  |  Branch (1380:10): [True: 0, False: 0]
  ------------------
 1381|      0|		printcategory = ((channel->flags & ISC_LOG_PRINTCATEGORY) != 0);
  ------------------
  |  |   65|      0|#define ISC_LOG_PRINTCATEGORY 0x00004
  ------------------
 1382|      0|		printmodule = ((channel->flags & ISC_LOG_PRINTMODULE) != 0);
  ------------------
  |  |   66|      0|#define ISC_LOG_PRINTMODULE   0x00008
  ------------------
 1383|      0|		printlevel = ((channel->flags & ISC_LOG_PRINTLEVEL) != 0);
  ------------------
  |  |   64|      0|#define ISC_LOG_PRINTLEVEL    0x00002
  ------------------
 1384|      0|		buffered = ((channel->flags & ISC_LOG_BUFFERED) != 0);
  ------------------
  |  |   70|      0|#define ISC_LOG_BUFFERED      0x00040
  ------------------
 1385|       |
 1386|      0|		if (printtime) {
  ------------------
  |  Branch (1386:7): [True: 0, False: 0]
  ------------------
 1387|      0|			if (iso8601) {
  ------------------
  |  Branch (1387:8): [True: 0, False: 0]
  ------------------
 1388|      0|				if (utc) {
  ------------------
  |  Branch (1388:9): [True: 0, False: 0]
  ------------------
 1389|      0|					time_string = iso8601z_string;
 1390|      0|				} else if (tzinfo) {
  ------------------
  |  Branch (1390:16): [True: 0, False: 0]
  ------------------
 1391|      0|					time_string = iso8601tz_string;
 1392|      0|				} else {
 1393|      0|					time_string = iso8601l_string;
 1394|      0|				}
 1395|      0|			} else {
 1396|      0|				time_string = local_time;
 1397|      0|			}
 1398|      0|		} else {
 1399|      0|			time_string = "";
 1400|      0|		}
 1401|       |
 1402|      0|		switch (channel->type) {
  ------------------
  |  Branch (1402:11): [True: 0, False: 0]
  ------------------
 1403|      0|		case ISC_LOG_TOFILE:
  ------------------
  |  |   55|      0|#define ISC_LOG_TOFILE	   3
  ------------------
  |  Branch (1403:3): [True: 0, False: 0]
  ------------------
 1404|      0|			if (FILE_MAXREACHED(channel)) {
  ------------------
  |  |  320|      0|#define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
  |  |  ------------------
  |  |  |  Branch (320:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1405|       |				/*
 1406|       |				 * If the file can be rolled, OR
 1407|       |				 * If the file no longer exists, OR
 1408|       |				 * If the file is less than the maximum
 1409|       |				 * size, (such as if it had been renamed
 1410|       |				 * and a new one touched, or it was
 1411|       |				 * truncated in place)
 1412|       |				 * ... then close it to trigger
 1413|       |				 * reopening.
 1414|       |				 */
 1415|      0|				if (FILE_VERSIONS(channel) !=
  ------------------
  |  |  317|      0|#define FILE_VERSIONS(channel)	 (channel->destination.file.versions)
  ------------------
  |  Branch (1415:9): [True: 0, False: 0]
  ------------------
 1416|      0|					    ISC_LOG_ROLLNEVER ||
  ------------------
  |  |   87|      0|#define ISC_LOG_ROLLNEVER    (-2)
  ------------------
 1417|      0|				    (stat(FILE_NAME(channel), &statbuf) != 0 &&
  ------------------
  |  |  315|      0|#define FILE_NAME(channel)	 (channel->destination.file.name)
  ------------------
  |  Branch (1417:10): [True: 0, False: 0]
  ------------------
 1418|      0|				     errno == ENOENT) ||
  ------------------
  |  Branch (1418:10): [True: 0, False: 0]
  ------------------
 1419|      0|				    statbuf.st_size < FILE_MAXSIZE(channel))
  ------------------
  |  |  319|      0|#define FILE_MAXSIZE(channel)	 (channel->destination.file.maximum_size)
  ------------------
  |  Branch (1419:9): [True: 0, False: 0]
  ------------------
 1420|      0|				{
 1421|      0|					if (FILE_STREAM(channel) != NULL) {
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
  |  Branch (1421:10): [True: 0, False: 0]
  ------------------
 1422|      0|						(void)fclose(
 1423|      0|							FILE_STREAM(channel));
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
 1424|      0|						FILE_STREAM(channel) = NULL;
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
 1425|      0|					}
 1426|      0|					FILE_MAXREACHED(channel) = false;
  ------------------
  |  |  320|      0|#define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
  ------------------
 1427|      0|				} else {
 1428|       |					/*
 1429|       |					 * Eh, skip it.
 1430|       |					 */
 1431|      0|					break;
 1432|      0|				}
 1433|      0|			}
 1434|       |
 1435|      0|			if (FILE_STREAM(channel) == NULL) {
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
  |  Branch (1435:8): [True: 0, False: 0]
  ------------------
 1436|      0|				result = isc_log_open(channel);
 1437|      0|				if (result != ISC_R_SUCCESS &&
  ------------------
  |  Branch (1437:9): [True: 0, False: 0]
  ------------------
 1438|      0|				    result != ISC_R_MAXSIZE &&
  ------------------
  |  Branch (1438:9): [True: 0, False: 0]
  ------------------
 1439|      0|				    (channel->flags & ISC_LOG_OPENERR) == 0)
  ------------------
  |  |   72|      0|#define ISC_LOG_OPENERR	      0x08000 /* internal */
  ------------------
  |  Branch (1439:9): [True: 0, False: 0]
  ------------------
 1440|      0|				{
 1441|      0|					syslog(LOG_ERR,
 1442|      0|					       "isc_log_open '%s' "
 1443|      0|					       "failed: %s",
 1444|      0|					       FILE_NAME(channel),
  ------------------
  |  |  315|      0|#define FILE_NAME(channel)	 (channel->destination.file.name)
  ------------------
 1445|      0|					       isc_result_totext(result));
 1446|      0|					channel->flags |= ISC_LOG_OPENERR;
  ------------------
  |  |   72|      0|#define ISC_LOG_OPENERR	      0x08000 /* internal */
  ------------------
 1447|      0|				}
 1448|      0|				if (result != ISC_R_SUCCESS) {
  ------------------
  |  Branch (1448:9): [True: 0, False: 0]
  ------------------
 1449|      0|					break;
 1450|      0|				}
 1451|      0|				channel->flags &= ~ISC_LOG_OPENERR;
  ------------------
  |  |   72|      0|#define ISC_LOG_OPENERR	      0x08000 /* internal */
  ------------------
 1452|      0|			}
 1453|      0|			FALLTHROUGH;
  ------------------
  |  |  105|      0|#define FALLTHROUGH [[fallthrough]]
  ------------------
 1454|       |
 1455|      0|		case ISC_LOG_TOFILEDESC:
  ------------------
  |  |   56|      0|#define ISC_LOG_TOFILEDESC 4
  ------------------
  |  Branch (1455:3): [True: 0, False: 0]
  ------------------
 1456|      0|			fprintf(FILE_STREAM(channel), "%s%s%s%s%s%s%s%s%s%s\n",
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
 1457|      0|				printtime ? time_string : "",
  ------------------
  |  Branch (1457:5): [True: 0, False: 0]
  ------------------
 1458|      0|				printtime ? " " : "", printtag ? lcfg->tag : "",
  ------------------
  |  Branch (1458:5): [True: 0, False: 0]
  |  Branch (1458:27): [True: 0, False: 0]
  ------------------
 1459|      0|				printcolon ? ": " : "",
  ------------------
  |  Branch (1459:5): [True: 0, False: 0]
  ------------------
 1460|      0|				printcategory ? categories_description[category]
  ------------------
  |  Branch (1460:5): [True: 0, False: 0]
  ------------------
 1461|      0|					      : "",
 1462|      0|				printcategory ? ": " : "",
  ------------------
  |  Branch (1462:5): [True: 0, False: 0]
  ------------------
 1463|      0|				printmodule ? modules_description[module] : "",
  ------------------
  |  Branch (1463:5): [True: 0, False: 0]
  ------------------
 1464|      0|				printmodule ? ": " : "",
  ------------------
  |  Branch (1464:5): [True: 0, False: 0]
  ------------------
 1465|      0|				printlevel ? level_string : "",
  ------------------
  |  Branch (1465:5): [True: 0, False: 0]
  ------------------
 1466|      0|				isc__lctx->buffer);
 1467|       |
 1468|      0|			if (!buffered) {
  ------------------
  |  Branch (1468:8): [True: 0, False: 0]
  ------------------
 1469|      0|				fflush(FILE_STREAM(channel));
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
 1470|      0|			}
 1471|       |
 1472|       |			/*
 1473|       |			 * If the file now exceeds its maximum size
 1474|       |			 * threshold, note it so that it will not be
 1475|       |			 * logged to any more.
 1476|       |			 */
 1477|      0|			if (FILE_MAXSIZE(channel) > 0) {
  ------------------
  |  |  319|      0|#define FILE_MAXSIZE(channel)	 (channel->destination.file.maximum_size)
  ------------------
  |  Branch (1477:8): [True: 0, False: 0]
  ------------------
 1478|      0|				INSIST(channel->type == ISC_LOG_TOFILE);
  ------------------
  |  |  202|      0|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      0|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      0|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1479|       |
 1480|       |				/* XXXDCL NT fstat/fileno */
 1481|       |				/* XXXDCL complain if fstat fails? */
 1482|      0|				if (fstat(fileno(FILE_STREAM(channel)),
  ------------------
  |  |  316|      0|#define FILE_STREAM(channel)	 (channel->destination.file.stream)
  ------------------
  |  Branch (1482:9): [True: 0, False: 0]
  ------------------
 1483|      0|					  &statbuf) >= 0 &&
 1484|      0|				    statbuf.st_size > FILE_MAXSIZE(channel))
  ------------------
  |  |  319|      0|#define FILE_MAXSIZE(channel)	 (channel->destination.file.maximum_size)
  ------------------
  |  Branch (1484:9): [True: 0, False: 0]
  ------------------
 1485|      0|				{
 1486|      0|					FILE_MAXREACHED(channel) = true;
  ------------------
  |  |  320|      0|#define FILE_MAXREACHED(channel) (channel->destination.file.maximum_reached)
  ------------------
 1487|      0|				}
 1488|      0|			}
 1489|       |
 1490|      0|			break;
 1491|       |
 1492|      0|		case ISC_LOG_TOSYSLOG:
  ------------------
  |  |   54|      0|#define ISC_LOG_TOSYSLOG   2
  ------------------
  |  Branch (1492:3): [True: 0, False: 0]
  ------------------
 1493|      0|			if (level > 0) {
  ------------------
  |  Branch (1493:8): [True: 0, False: 0]
  ------------------
 1494|      0|				syslog_level = LOG_DEBUG;
 1495|      0|			} else if (level < ISC_LOG_CRITICAL) {
  ------------------
  |  |   46|      0|#define ISC_LOG_CRITICAL (-5)
  ------------------
  |  Branch (1495:15): [True: 0, False: 0]
  ------------------
 1496|      0|				syslog_level = LOG_CRIT;
 1497|      0|			} else {
 1498|      0|				syslog_level = syslog_map[-level];
 1499|      0|			}
 1500|       |
 1501|      0|			(void)syslog(
 1502|      0|				FACILITY(channel) | syslog_level,
  ------------------
  |  |  314|      0|#define FACILITY(channel)	 (channel->destination.facility)
  ------------------
 1503|      0|				"%s%s%s%s%s%s%s%s%s%s",
 1504|      0|				printtime ? time_string : "",
  ------------------
  |  Branch (1504:5): [True: 0, False: 0]
  ------------------
 1505|      0|				printtime ? " " : "", printtag ? lcfg->tag : "",
  ------------------
  |  Branch (1505:5): [True: 0, False: 0]
  |  Branch (1505:27): [True: 0, False: 0]
  ------------------
 1506|      0|				printcolon ? ": " : "",
  ------------------
  |  Branch (1506:5): [True: 0, False: 0]
  ------------------
 1507|      0|				printcategory ? categories_description[category]
  ------------------
  |  Branch (1507:5): [True: 0, False: 0]
  ------------------
 1508|      0|					      : "",
 1509|      0|				printcategory ? ": " : "",
  ------------------
  |  Branch (1509:5): [True: 0, False: 0]
  ------------------
 1510|      0|				printmodule ? modules_description[module] : "",
  ------------------
  |  Branch (1510:5): [True: 0, False: 0]
  ------------------
 1511|      0|				printmodule ? ": " : "",
  ------------------
  |  Branch (1511:5): [True: 0, False: 0]
  ------------------
 1512|      0|				printlevel ? level_string : "",
  ------------------
  |  Branch (1512:5): [True: 0, False: 0]
  ------------------
 1513|      0|				isc__lctx->buffer);
 1514|      0|			break;
 1515|       |
 1516|      0|		case ISC_LOG_TONULL:
  ------------------
  |  |   53|      0|#define ISC_LOG_TONULL	   1
  ------------------
  |  Branch (1516:3): [True: 0, False: 0]
  ------------------
 1517|      0|			break;
 1518|      0|		}
 1519|      0|	} while (1);
  ------------------
  |  Branch (1519:11): [True: 0, Folded]
  ------------------
 1520|       |
 1521|      0|unlock:
 1522|      0|	UNLOCK(&isc__lctx->lock);
  ------------------
  |  |   34|      0|	{                                                                   \
  |  |   35|      0|		isc_mutex_unlock((lp));                                     \
  |  |  ------------------
  |  |  |  |   70|      0|#define isc_mutex_unlock(mp)  isc__mutex_unlock(mp)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|	{                                                           \
  |  |  |  |  |  |   92|      0|		int _ret = pthread_mutex_unlock(mp);                \
  |  |  |  |  |  |   93|      0|		PTHREADS_RUNTIME_CHECK(pthread_mutex_unlock, _ret); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  288|      0|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   36|      0|		ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \
  |  |   37|      0|				       __FILE__, __LINE__));                \
  |  |   38|      0|	}
  ------------------
 1523|       |	rcu_read_unlock();
 1524|      0|}

isc__mem_initialize:
  508|      2|isc__mem_initialize(void) {
  509|       |	/*
  510|       |	 * Check if the values copied from jemalloc still match; the
  511|       |	 * shim defines the MALLOCX_* macros too, so this holds on
  512|       |	 * every allocator path.
  513|       |	 */
  514|      2|	RUNTIME_CHECK(ISC_MEM_ZERO == MALLOCX_ZERO);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, Folded]
  |  |  ------------------
  ------------------
  515|      2|	RUNTIME_CHECK(ISC_MEM_ALIGN(sizeof(void *)) ==
  ------------------
  |  |  245|      8|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  |  Branch (245:4): [True: 2, Folded]
  |  |  |  Branch (245:4): [True: 2, Folded]
  |  |  ------------------
  ------------------
  516|      2|		      MALLOCX_ALIGN(sizeof(void *)));
  517|      2|	RUNTIME_CHECK(ISC_MEM_ALIGN(ISC_OS_CACHELINE_SIZE) ==
  ------------------
  |  |  245|      8|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  |  Branch (245:4): [True: 2, Folded]
  |  |  |  Branch (245:4): [True: 2, Folded]
  |  |  ------------------
  ------------------
  518|      2|		      MALLOCX_ALIGN(ISC_OS_CACHELINE_SIZE));
  519|       |
  520|       |#ifdef JEMALLOC_API_SUPPORTED
  521|       |	/*
  522|       |	 * ignore errors — volumetric-based purge in mem_put handles the rest
  523|       |	 * regardless
  524|       |	 */
  525|       |
  526|       |	(void)mallctl("background_thread", NULL, NULL, &(bool){ true },
  527|       |		      sizeof(bool));
  528|       |
  529|       |	(void)mallctl("arenas.dirty_decay_ms", NULL, NULL,
  530|       |		      &default_dirty_decay_ms, sizeof(default_dirty_decay_ms));
  531|       |
  532|       |	(void)mallctl("arena." STRINGIFY(MALLCTL_ARENAS_ALL) ".dirty_decay_ms",
  533|       |		      NULL, NULL, &default_dirty_decay_ms,
  534|       |		      sizeof(default_dirty_decay_ms));
  535|       |
  536|       |#endif /* JEMALLOC_API_SUPPORTED */
  537|       |
  538|      2|	isc_mutex_init(&contextslock);
  ------------------
  |  |   68|      2|#define isc_mutex_init(mp)    isc__mutex_init(mp)
  |  |  ------------------
  |  |  |  |   79|      2|	{                                                                 \
  |  |  |  |   80|      2|		int _ret = pthread_mutex_init(mp, &isc__mutex_init_attr); \
  |  |  |  |   81|      2|		PTHREADS_RUNTIME_CHECK(pthread_mutex_init, _ret);         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  288|      2|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  ------------------
  |  |  |  |   82|      2|	}
  |  |  ------------------
  ------------------
  539|      2|	ISC_LIST_INIT(contexts);
  ------------------
  |  |   43|      2|	do {                        \
  |  |   44|      2|		(list).head = NULL; \
  |  |   45|      2|		(list).tail = NULL; \
  |  |   46|      2|	} while (0)
  |  |  ------------------
  |  |  |  Branch (46:11): [Folded, False: 2]
  |  |  ------------------
  ------------------
  540|       |
  541|      2|	if (debugging_enabled("ISC_MEM_DEBUGTRACE")) {
  ------------------
  |  Branch (541:6): [True: 0, False: 2]
  ------------------
  542|      0|		mem_debugging |= ISC_MEM_DEBUGTRACE;
  ------------------
  |  |   41|      0|#define ISC_MEM_DEBUGTRACE  0x00000001U
  ------------------
  543|      0|	}
  544|       |
  545|      2|	if (debugging_enabled("ISC_MEM_DEBUGRECORD")) {
  ------------------
  |  Branch (545:6): [True: 0, False: 2]
  ------------------
  546|      0|		mem_debugging |= ISC_MEM_DEBUGRECORD;
  ------------------
  |  |   42|      0|#define ISC_MEM_DEBUGRECORD 0x00000002U
  ------------------
  547|      0|	}
  548|       |
  549|      2|	if (debugging_enabled("ISC_MEM_DEBUGUSAGE")) {
  ------------------
  |  Branch (549:6): [True: 0, False: 2]
  ------------------
  550|      0|		mem_debugging |= ISC_MEM_DEBUGUSAGE;
  ------------------
  |  |   43|      0|#define ISC_MEM_DEBUGUSAGE  0x00000004U
  ------------------
  551|      0|	}
  552|       |
  553|      2|	isc_mem_create("default", &isc_g_mctx);
  ------------------
  |  |  236|      2|#define isc_mem_create(name, cp) isc__mem_create((name), (cp)_ISC_MEM_FILELINE)
  ------------------
  554|      2|}
isc_mem_setdebugging:
  576|      4|isc_mem_setdebugging(isc_mem_t *ctx, unsigned int debugging) {
  577|      4|	REQUIRE(VALID_CONTEXT(ctx));
  ------------------
  |  |  198|      4|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 4, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      4|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  578|      4|	REQUIRE(isc_mem_inuse(ctx) == 0);
  ------------------
  |  |  198|      4|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      4|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      4|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  579|       |
  580|      4|	ctx->debugging = debugging;
  581|      4|}
isc__mem_putanddetach:
  741|  94.6k|		      int flags FLARG) {
  742|  94.6k|	REQUIRE(ctxp != NULL && VALID_CONTEXT(*ctxp));
  ------------------
  |  |  198|  94.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   378k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 94.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 94.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 94.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  94.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  743|  94.6k|	REQUIRE(ptr != NULL);
  ------------------
  |  |  198|  94.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  94.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 94.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  94.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  744|  94.6k|	REQUIRE(size != 0);
  ------------------
  |  |  198|  94.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  94.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 94.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  94.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  745|       |
  746|  94.6k|	isc_mem_t *ctx = *ctxp;
  747|  94.6k|	*ctxp = NULL;
  748|       |
  749|  94.6k|	isc__mem_put(ctx, ptr, size, flags FLARG_PASS);
  750|       |#if ISC_MEM_TRACE
  751|       |	isc_mem__detach(&ctx, func, file, line);
  752|       |#else
  753|  94.6k|	isc_mem_detach(&ctx);
  754|  94.6k|#endif
  755|  94.6k|}
isc__mem_get:
  758|   332k|isc__mem_get(isc_mem_t *ctx, size_t size, int flags FLARG) {
  759|   332k|	void *ptr = NULL;
  760|       |
  761|   332k|	REQUIRE(VALID_CONTEXT(ctx));
  ------------------
  |  |  198|   332k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   664k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 332k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 332k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   332k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  762|       |
  763|   332k|	ptr = mem_get(ctx, size, flags);
  764|       |
  765|   332k|	mem_getstats(ctx, size);
  766|   332k|	ADD_TRACE(ctx, ptr, size, func, file, line);
  767|       |
  768|   332k|	return ptr;
  769|   332k|}
isc__mem_put:
  772|   332k|isc__mem_put(isc_mem_t *ctx, void *ptr, size_t size, int flags FLARG) {
  773|   332k|	REQUIRE(VALID_CONTEXT(ctx));
  ------------------
  |  |  198|   332k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   664k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 332k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 332k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   332k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  774|       |
  775|   332k|	DELETE_TRACE(ctx, ptr, size, func, file, line);
  776|       |
  777|   332k|	mem_putstats(ctx, size);
  778|   332k|	mem_put(ctx, ptr, size, flags);
  779|   332k|}
isc__mem_allocate:
  850|      8|isc__mem_allocate(isc_mem_t *ctx, size_t size, int flags FLARG) {
  851|      8|	void *ptr = NULL;
  852|       |
  853|      8|	REQUIRE(VALID_CONTEXT(ctx));
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     16|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  854|       |
  855|      8|	ptr = mem_get(ctx, size, flags);
  856|       |
  857|       |	/* Recalculate the real allocated size */
  858|      8|	size = sallocx(ptr, flags | ctx->jemalloc_flags);
  859|       |
  860|      8|	mem_getstats(ctx, size);
  861|      8|	ADD_TRACE(ctx, ptr, size, func, file, line);
  862|       |
  863|      8|	return ptr;
  864|      8|}
isc__mem_strdup:
  946|      8|isc__mem_strdup(isc_mem_t *mctx, const char *s FLARG) {
  947|      8|	size_t len;
  948|      8|	char *ns = NULL;
  949|       |
  950|      8|	REQUIRE(VALID_CONTEXT(mctx));
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     16|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  951|      8|	REQUIRE(s != NULL);
  ------------------
  |  |  198|      8|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      8|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  952|       |
  953|      8|	len = strlen(s) + 1;
  954|       |
  955|      8|	ns = isc__mem_allocate(mctx, len, 0 FLARG_PASS);
  956|       |
  957|      8|	strlcpy(ns, s, len);
  958|       |
  959|      8|	return ns;
  960|      8|}
isc_mem_setdestroycheck:
  963|      2|isc_mem_setdestroycheck(isc_mem_t *ctx, bool flag) {
  964|      2|	REQUIRE(VALID_CONTEXT(ctx));
  ------------------
  |  |  198|      2|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      4|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      2|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  965|       |
  966|      2|	MCTXLOCK(ctx);
  ------------------
  |  |   69|      2|#define MCTXLOCK(m)   LOCK(&m->lock)
  |  |  ------------------
  |  |  |  |   26|      2|	{                                                                  \
  |  |  |  |   27|      2|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", (lp), \
  |  |  |  |   28|      2|				       __FILE__, __LINE__));               \
  |  |  |  |   29|      2|		isc_mutex_lock((lp));                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |   69|      2|#define isc_mutex_lock(mp)    isc__mutex_lock(mp)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   85|      2|	{                                                         \
  |  |  |  |  |  |  |  |   86|      2|		int _ret = pthread_mutex_lock(mp);                \
  |  |  |  |  |  |  |  |   87|      2|		PTHREADS_RUNTIME_CHECK(pthread_mutex_lock, _ret); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  288|      2|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   88|      2|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   30|      2|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", (lp),  \
  |  |  |  |   31|      2|				       __FILE__, __LINE__));               \
  |  |  |  |   32|      2|	}
  |  |  ------------------
  ------------------
  967|       |
  968|      2|	ctx->checkfree = flag;
  969|       |
  970|      2|	MCTXUNLOCK(ctx);
  ------------------
  |  |   70|      2|#define MCTXUNLOCK(m) UNLOCK(&m->lock)
  |  |  ------------------
  |  |  |  |   34|      2|	{                                                                   \
  |  |  |  |   35|      2|		isc_mutex_unlock((lp));                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      2|#define isc_mutex_unlock(mp)  isc__mutex_unlock(mp)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      2|	{                                                           \
  |  |  |  |  |  |  |  |   92|      2|		int _ret = pthread_mutex_unlock(mp);                \
  |  |  |  |  |  |  |  |   93|      2|		PTHREADS_RUNTIME_CHECK(pthread_mutex_unlock, _ret); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  288|      2|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 2]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      2|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|      2|		ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \
  |  |  |  |   37|      2|				       __FILE__, __LINE__));                \
  |  |  |  |   38|      2|	}
  |  |  ------------------
  ------------------
  971|      2|}
isc_mem_inuse:
  974|      4|isc_mem_inuse(isc_mem_t *ctx) {
  975|      4|	REQUIRE(VALID_CONTEXT(ctx));
  ------------------
  |  |  198|      4|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|      8|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 4, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|      4|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  976|       |
  977|      4|	int_fast64_t inuse = 0;
  978|       |
  979|      8|	for (ssize_t i = -1; i < isc_tid_count(); i++) {
  ------------------
  |  Branch (979:23): [True: 4, False: 4]
  ------------------
  980|      4|		inuse += atomic_load_relaxed(&ctx->stat[i].inuse);
  ------------------
  |  |   28|      4|#define atomic_load_relaxed(o) atomic_load_explicit((o), memory_order_relaxed)
  ------------------
  981|      4|	}
  982|      4|	INSIST(inuse >= 0);
  ------------------
  |  |  202|      4|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|      4|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|      4|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
  983|       |
  984|      4|	return (size_t)inuse;
  985|      4|}
isc__mempool_create:
 1050|  44.6k|		    const char *name, isc_mempool_t **restrict mpctxp FLARG) {
 1051|  44.6k|	isc_mempool_t *restrict mpctx = NULL;
 1052|  44.6k|	size_t size = element_size;
 1053|       |
 1054|  44.6k|	REQUIRE(VALID_CONTEXT(mctx));
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  89.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1055|  44.6k|	REQUIRE(size > 0U);
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1056|  44.6k|	REQUIRE(mpctxp != NULL && *mpctxp == NULL);
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  89.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1057|  44.6k|	REQUIRE(name != NULL);
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1058|       |
 1059|       |	/*
 1060|       |	 * Mempools are stored as a linked list of element.
 1061|       |	 */
 1062|  44.6k|	if (size < sizeof(element)) {
  ------------------
  |  Branch (1062:6): [True: 0, False: 44.6k]
  ------------------
 1063|      0|		size = sizeof(element);
 1064|      0|	}
 1065|       |
 1066|       |	/*
 1067|       |	 * Allocate space for this pool, initialize values, and if all
 1068|       |	 * works well, attach to the memory context.
 1069|       |	 */
 1070|  44.6k|	mpctx = isc_mem_get(mctx, sizeof(isc_mempool_t));
  ------------------
  |  |  144|  44.6k|#define isc_mem_get(c, s) isc__mem_get((c), (s), 0 _ISC_MEM_FILELINE)
  ------------------
 1071|       |
 1072|  44.6k|	*mpctx = (isc_mempool_t){
 1073|  44.6k|		.size = size,
 1074|  44.6k|		.freemax = 1,
 1075|  44.6k|		.fillcount = 1,
 1076|  44.6k|		.name = strdup(name),
 1077|  44.6k|	};
 1078|       |
 1079|       |#if ISC_MEM_TRACKLINES
 1080|       |	if ((mctx->debugging & ISC_MEM_DEBUGTRACE) != 0) {
 1081|       |		fprintf(stderr,
 1082|       |			"create pool %p func %s file %s line %u mctx %p\n",
 1083|       |			mpctx, func, file, line, mctx);
 1084|       |	}
 1085|       |#endif /* ISC_MEM_TRACKLINES */
 1086|       |
 1087|  44.6k|	isc_mem_attach(mctx, &mpctx->mctx);
 1088|  44.6k|	mpctx->magic = MEMPOOL_MAGIC;
  ------------------
  |  |  161|  44.6k|#define MEMPOOL_MAGIC	 ISC_MAGIC('M', 'E', 'M', 'p')
  |  |  ------------------
  |  |  |  |   31|  44.6k|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
 1089|       |
 1090|  44.6k|	*mpctxp = (isc_mempool_t *)mpctx;
 1091|       |
 1092|  44.6k|	MCTXLOCK(mctx);
  ------------------
  |  |   69|  44.6k|#define MCTXLOCK(m)   LOCK(&m->lock)
  |  |  ------------------
  |  |  |  |   26|  44.6k|	{                                                                  \
  |  |  |  |   27|  44.6k|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", (lp), \
  |  |  |  |   28|  44.6k|				       __FILE__, __LINE__));               \
  |  |  |  |   29|  44.6k|		isc_mutex_lock((lp));                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |   69|  44.6k|#define isc_mutex_lock(mp)    isc__mutex_lock(mp)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   85|  44.6k|	{                                                         \
  |  |  |  |  |  |  |  |   86|  44.6k|		int _ret = pthread_mutex_lock(mp);                \
  |  |  |  |  |  |  |  |   87|  44.6k|		PTHREADS_RUNTIME_CHECK(pthread_mutex_lock, _ret); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  288|  44.6k|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 44.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   88|  44.6k|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   30|  44.6k|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", (lp),  \
  |  |  |  |   31|  44.6k|				       __FILE__, __LINE__));               \
  |  |  |  |   32|  44.6k|	}
  |  |  ------------------
  ------------------
 1093|  44.6k|	ISC_LIST_INITANDAPPEND(mctx->pools, mpctx, link);
  ------------------
  |  |  106|  44.6k|	__ISC_LIST_APPENDUNSAFE(list, elt, link)
  |  |  ------------------
  |  |  |  |   88|  44.6k|	do {                                            \
  |  |  |  |   89|  44.6k|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 22.3k, False: 22.3k]
  |  |  |  |  ------------------
  |  |  |  |   90|  22.3k|			(list).tail->link.next = (elt); \
  |  |  |  |   91|  22.3k|		} else {                                \
  |  |  |  |   92|  22.3k|			(list).head = (elt);            \
  |  |  |  |   93|  22.3k|		}                                       \
  |  |  |  |   94|  44.6k|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|  44.6k|		(elt)->link.next = NULL;                \
  |  |  |  |   96|  44.6k|		(list).tail = (elt);                    \
  |  |  |  |   97|  44.6k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 44.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1094|  44.6k|	mctx->poolcnt++;
 1095|  44.6k|	MCTXUNLOCK(mctx);
  ------------------
  |  |   70|  44.6k|#define MCTXUNLOCK(m) UNLOCK(&m->lock)
  |  |  ------------------
  |  |  |  |   34|  44.6k|	{                                                                   \
  |  |  |  |   35|  44.6k|		isc_mutex_unlock((lp));                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|  44.6k|#define isc_mutex_unlock(mp)  isc__mutex_unlock(mp)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|  44.6k|	{                                                           \
  |  |  |  |  |  |  |  |   92|  44.6k|		int _ret = pthread_mutex_unlock(mp);                \
  |  |  |  |  |  |  |  |   93|  44.6k|		PTHREADS_RUNTIME_CHECK(pthread_mutex_unlock, _ret); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  288|  44.6k|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 44.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  44.6k|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|  44.6k|		ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \
  |  |  |  |   37|  44.6k|				       __FILE__, __LINE__));                \
  |  |  |  |   38|  44.6k|	}
  |  |  ------------------
  ------------------
 1096|  44.6k|}
isc__mempool_destroy:
 1099|  44.6k|isc__mempool_destroy(isc_mempool_t **restrict mpctxp FLARG) {
 1100|  44.6k|	isc_mempool_t *restrict mpctx = NULL;
 1101|  44.6k|	isc_mem_t *mctx = NULL;
 1102|  44.6k|	element *restrict item = NULL;
 1103|       |
 1104|  44.6k|	REQUIRE(mpctxp != NULL);
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1105|  44.6k|	REQUIRE(VALID_MEMPOOL(*mpctxp));
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  89.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1106|       |
 1107|  44.6k|	mpctx = *mpctxp;
 1108|  44.6k|	*mpctxp = NULL;
 1109|       |
 1110|  44.6k|	mctx = mpctx->mctx;
 1111|       |
 1112|       |#if ISC_MEM_TRACKLINES
 1113|       |	if ((mctx->debugging & ISC_MEM_DEBUGTRACE) != 0) {
 1114|       |		fprintf(stderr,
 1115|       |			"destroy pool %p func %s file %s line %u mctx %p\n",
 1116|       |			mpctx, func, file, line, mctx);
 1117|       |	}
 1118|       |#endif
 1119|       |
 1120|  44.6k|	if (mpctx->allocated > 0) {
  ------------------
  |  Branch (1120:6): [True: 0, False: 44.6k]
  ------------------
 1121|      0|		UNEXPECTED_ERROR("mempool %s leaked memory", mpctx->name);
  ------------------
  |  |  217|      0|	isc_error_unexpected(__FILE__, __LINE__, __func__, __VA_ARGS__)
  ------------------
 1122|      0|	}
 1123|  44.6k|	REQUIRE(mpctx->allocated == 0);
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1124|       |
 1125|       |	/*
 1126|       |	 * Return any items on the free list
 1127|       |	 */
 1128|  43.5M|	while (mpctx->items != NULL) {
  ------------------
  |  Branch (1128:9): [True: 43.4M, False: 44.6k]
  ------------------
 1129|  43.4M|		INSIST(mpctx->freecount > 0);
  ------------------
  |  |  202|  43.4M|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  43.4M|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 43.4M, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  43.4M|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1130|  43.4M|		mpctx->freecount--;
 1131|       |
 1132|  43.4M|		item = mpctx->items;
 1133|  43.4M|		mpctx->items = item->next;
 1134|       |
 1135|  43.4M|		mem_putstats(mctx, mpctx->size);
 1136|  43.4M|		mem_put(mctx, item, mpctx->size, 0);
 1137|  43.4M|	}
 1138|       |
 1139|       |	/*
 1140|       |	 * Remove our linked list entry from the memory context.
 1141|       |	 */
 1142|  44.6k|	MCTXLOCK(mctx);
  ------------------
  |  |   69|  44.6k|#define MCTXLOCK(m)   LOCK(&m->lock)
  |  |  ------------------
  |  |  |  |   26|  44.6k|	{                                                                  \
  |  |  |  |   27|  44.6k|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", (lp), \
  |  |  |  |   28|  44.6k|				       __FILE__, __LINE__));               \
  |  |  |  |   29|  44.6k|		isc_mutex_lock((lp));                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |   69|  44.6k|#define isc_mutex_lock(mp)    isc__mutex_lock(mp)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   85|  44.6k|	{                                                         \
  |  |  |  |  |  |  |  |   86|  44.6k|		int _ret = pthread_mutex_lock(mp);                \
  |  |  |  |  |  |  |  |   87|  44.6k|		PTHREADS_RUNTIME_CHECK(pthread_mutex_lock, _ret); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  288|  44.6k|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 44.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   88|  44.6k|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   30|  44.6k|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", (lp),  \
  |  |  |  |   31|  44.6k|				       __FILE__, __LINE__));               \
  |  |  |  |   32|  44.6k|	}
  |  |  ------------------
  ------------------
 1143|  44.6k|	ISC_LIST_UNLINK(mctx->pools, mpctx, link);
  ------------------
  |  |  137|  44.6k|	ISC_LIST_UNLINK_TYPE(list, elt, link, void)
  |  |  ------------------
  |  |  |  |  132|  44.6k|	do {                                                         \
  |  |  |  |  133|  44.6k|		ISC_LINK_INSIST(ISC_LINK_LINKED(elt, link));         \
  |  |  |  |  134|  44.6k|		__ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type); \
  |  |  |  |  ------------------
  |  |  |  |  |  |  109|  44.6k|	do {                                                            \
  |  |  |  |  |  |  110|  44.6k|		if ((elt)->link.next != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (110:7): [True: 0, False: 44.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  111|      0|			(elt)->link.next->link.prev = (elt)->link.prev; \
  |  |  |  |  |  |  112|  44.6k|		} else {                                                \
  |  |  |  |  |  |  113|  44.6k|			ISC_INSIST((list).tail == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  44.6k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 44.6k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  44.6k|			(list).tail = (elt)->link.prev;                 \
  |  |  |  |  |  |  115|  44.6k|		}                                                       \
  |  |  |  |  |  |  116|  44.6k|		if ((elt)->link.prev != NULL) {                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:7): [True: 22.3k, False: 22.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  117|  22.3k|			(elt)->link.prev->link.next = (elt)->link.next; \
  |  |  |  |  |  |  118|  22.3k|		} else {                                                \
  |  |  |  |  |  |  119|  22.3k|			ISC_INSIST((list).head == (elt));               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  22.3k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 22.3k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  22.3k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  120|  22.3k|			(list).head = (elt)->link.next;                 \
  |  |  |  |  |  |  121|  22.3k|		}                                                       \
  |  |  |  |  |  |  122|  44.6k|		(elt)->link.prev = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  44.6k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  123|  44.6k|		(elt)->link.next = ISC_LINK_TOMBSTONE(type);            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   18|  44.6k|#define ISC_LINK_TOMBSTONE(type) ((type *)-1)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  124|  44.6k|		ISC_INSIST((list).head != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  44.6k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 44.6k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  125|  44.6k|		ISC_INSIST((list).tail != (elt));                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   54|  44.6k|	((void)((cond) ||                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (54:10): [True: 44.6k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   55|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |  |  |  |  |   57|      0|		 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  126|  44.6k|	} while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (126:11): [Folded, False: 44.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  135|  44.6k|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (135:11): [Folded, False: 44.6k]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1144|  44.6k|	mctx->poolcnt--;
 1145|  44.6k|	MCTXUNLOCK(mctx);
  ------------------
  |  |   70|  44.6k|#define MCTXUNLOCK(m) UNLOCK(&m->lock)
  |  |  ------------------
  |  |  |  |   34|  44.6k|	{                                                                   \
  |  |  |  |   35|  44.6k|		isc_mutex_unlock((lp));                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|  44.6k|#define isc_mutex_unlock(mp)  isc__mutex_unlock(mp)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|  44.6k|	{                                                           \
  |  |  |  |  |  |  |  |   92|  44.6k|		int _ret = pthread_mutex_unlock(mp);                \
  |  |  |  |  |  |  |  |   93|  44.6k|		PTHREADS_RUNTIME_CHECK(pthread_mutex_unlock, _ret); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  288|  44.6k|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 44.6k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|  44.6k|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   36|  44.6k|		ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \
  |  |  |  |   37|  44.6k|				       __FILE__, __LINE__));                \
  |  |  |  |   38|  44.6k|	}
  |  |  ------------------
  ------------------
 1146|       |
 1147|  44.6k|	free(mpctx->name);
 1148|       |
 1149|  44.6k|	mpctx->magic = 0;
 1150|       |
 1151|       |	isc_mem_putanddetach(&mpctx->mctx, mpctx, sizeof(isc_mempool_t));
  ------------------
  |  |  187|  44.6k|	do {                                                               \
  |  |  188|  44.6k|		isc__mem_putanddetach((c), (p), (s), 0 _ISC_MEM_FILELINE); \
  |  |  189|  44.6k|		(p) = NULL;                                                \
  |  |  190|  44.6k|	} while (0)
  |  |  ------------------
  |  |  |  Branch (190:11): [Folded, False: 44.6k]
  |  |  ------------------
  ------------------
 1152|  44.6k|}
isc__mempool_get:
 1155|   776k|isc__mempool_get(isc_mempool_t *restrict mpctx FLARG) {
 1156|   776k|	element *restrict item = NULL;
 1157|       |
 1158|   776k|	REQUIRE(VALID_MEMPOOL(mpctx));
  ------------------
  |  |  198|   776k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.55M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 776k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 776k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   776k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1159|       |
 1160|   776k|	mpctx->allocated++;
 1161|       |
 1162|   776k|	if (mpctx->items == NULL) {
  ------------------
  |  Branch (1162:6): [True: 42.4k, False: 734k]
  ------------------
 1163|  42.4k|		isc_mem_t *mctx = mpctx->mctx;
 1164|  42.4k|#if !__SANITIZE_ADDRESS__
 1165|  42.4k|		const size_t fillcount = mpctx->fillcount;
 1166|       |#else
 1167|       |		const size_t fillcount = 1;
 1168|       |#endif
 1169|       |		/*
 1170|       |		 * We need to dip into the well.  Fill up our free list.
 1171|       |		 */
 1172|  43.5M|		for (size_t i = 0; i < fillcount; i++) {
  ------------------
  |  Branch (1172:22): [True: 43.4M, False: 42.4k]
  ------------------
 1173|  43.4M|			item = mem_get(mctx, mpctx->size, 0);
 1174|  43.4M|			mem_getstats(mctx, mpctx->size);
 1175|  43.4M|			item->next = mpctx->items;
 1176|  43.4M|			mpctx->items = item;
 1177|  43.4M|			mpctx->freecount++;
 1178|  43.4M|		}
 1179|  42.4k|	}
 1180|       |
 1181|   776k|	INSIST(mpctx->items != NULL);
  ------------------
  |  |  202|   776k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   776k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 776k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   776k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1182|   776k|	item = mpctx->items;
 1183|       |
 1184|   776k|	mpctx->items = item->next;
 1185|       |
 1186|   776k|	INSIST(mpctx->freecount > 0);
  ------------------
  |  |  202|   776k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   776k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 776k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   776k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1187|   776k|	mpctx->freecount--;
 1188|   776k|	mpctx->gets++;
 1189|       |
 1190|   776k|	ADD_TRACE(mpctx->mctx, item, mpctx->size, func, file, line);
 1191|       |
 1192|   776k|	return item;
 1193|   776k|}
isc__mempool_put:
 1197|   776k|isc__mempool_put(isc_mempool_t *restrict mpctx, void *mem FLARG) {
 1198|   776k|	element *restrict item = NULL;
 1199|       |
 1200|   776k|	REQUIRE(VALID_MEMPOOL(mpctx));
  ------------------
  |  |  198|   776k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  1.55M|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 776k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 776k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   776k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1201|   776k|	REQUIRE(mem != NULL);
  ------------------
  |  |  198|   776k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|   776k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 776k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|   776k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1202|       |
 1203|   776k|	isc_mem_t *mctx = mpctx->mctx;
 1204|   776k|	const size_t freecount = mpctx->freecount;
 1205|   776k|#if !__SANITIZE_ADDRESS__
 1206|   776k|	const size_t freemax = mpctx->freemax;
 1207|       |#else
 1208|       |	const size_t freemax = 0;
 1209|       |#endif
 1210|       |
 1211|   776k|	INSIST(mpctx->allocated > 0);
  ------------------
  |  |  202|   776k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|   776k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:10): [True: 776k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|   776k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
 1212|   776k|	mpctx->allocated--;
 1213|       |
 1214|   776k|	DELETE_TRACE(mctx, mem, mpctx->size, func, file, line);
 1215|       |
 1216|       |	/*
 1217|       |	 * If our free list is full, return this to the mctx directly.
 1218|       |	 */
 1219|   776k|	if (freecount >= freemax) {
  ------------------
  |  Branch (1219:6): [True: 16.3k, False: 760k]
  ------------------
 1220|  16.3k|		mem_putstats(mctx, mpctx->size);
 1221|  16.3k|		mem_put(mctx, mem, mpctx->size, 0);
 1222|  16.3k|		return;
 1223|  16.3k|	}
 1224|       |
 1225|       |	/*
 1226|       |	 * Otherwise, attach it to our free list and bump the counter.
 1227|       |	 */
 1228|   760k|	item = (element *)mem;
 1229|   760k|	item->next = mpctx->items;
 1230|   760k|	mpctx->items = item;
 1231|   760k|	mpctx->freecount++;
 1232|   760k|}
isc_mempool_setfreemax:
 1240|  44.6k|		       const unsigned int limit) {
 1241|  44.6k|	REQUIRE(VALID_MEMPOOL(mpctx));
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  89.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1242|  44.6k|	mpctx->freemax = limit;
 1243|  44.6k|}
isc_mempool_getallocated:
 1260|  44.6k|isc_mempool_getallocated(isc_mempool_t *restrict mpctx) {
 1261|  44.6k|	REQUIRE(VALID_MEMPOOL(mpctx));
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  89.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1262|       |
 1263|  44.6k|	return mpctx->allocated;
 1264|  44.6k|}
isc_mempool_setfillcount:
 1268|  44.6k|			 unsigned int const limit) {
 1269|  44.6k|	REQUIRE(VALID_MEMPOOL(mpctx));
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  89.3k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1270|  44.6k|	REQUIRE(limit > 0);
  ------------------
  |  |  198|  44.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  44.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 44.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  44.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
 1271|       |
 1272|  44.6k|	mpctx->fillcount = limit;
 1273|  44.6k|}
isc__mem_create:
 1535|     10|isc__mem_create(const char *name, isc_mem_t **mctxp FLARG) {
 1536|     10|	mem_create(name, mctxp, mem_debugging, 0);
 1537|       |#if ISC_MEM_TRACKLINES
 1538|       |	if ((mem_debugging & ISC_MEM_DEBUGTRACE) != 0) {
 1539|       |		fprintf(stderr, "create mctx %p func %s file %s line %u\n",
 1540|       |			*mctxp, func, file, line);
 1541|       |	}
 1542|       |#endif /* ISC_MEM_TRACKLINES */
 1543|     10|}
mem.c:debugging_enabled:
  491|      6|debugging_enabled(const char *name) {
  492|      6|	char env_buf[256];
  493|      6|	size_t env_size = sizeof(env_buf);
  494|       |
  495|      6|	int r = uv_os_getenv(name, env_buf, &env_size);
  496|      6|	switch (r) {
  497|      0|	case 0:
  ------------------
  |  Branch (497:2): [True: 0, False: 6]
  ------------------
  498|      0|		return true;
  499|      6|	case UV_ENOENT:
  ------------------
  |  Branch (499:2): [True: 6, False: 0]
  ------------------
  500|      6|		return false;
  501|      0|	default:
  ------------------
  |  Branch (501:2): [True: 0, False: 6]
  ------------------
  502|      0|		UV_RUNTIME_CHECK(uv_os_getenv, r);
  ------------------
  |  |   50|      0|	if (ret != 0) {                                                  \
  |  |  ------------------
  |  |  |  Branch (50:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|		FATAL_ERROR("%s failed: %s\n", #func, uv_strerror(ret)); \
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |   52|      0|	}
  ------------------
  503|      0|		UNREACHABLE();
  ------------------
  |  |  206|      0|#define UNREACHABLE() ISC_UNREACHABLE()
  |  |  ------------------
  |  |  |  |   66|      0|	(isc_assertion_failed(__FILE__, __LINE__, isc_assertiontype_insist, \
  |  |  |  |   67|      0|			      "unreachable"),                               \
  |  |  |  |   68|      0|	 __builtin_unreachable())
  |  |  ------------------
  ------------------
  504|      6|	}
  505|      6|}
mem.c:mem_get:
  398|  43.8M|mem_get(isc_mem_t *ctx, size_t size, int flags) {
  399|  43.8M|	ADJUST_ZERO_ALLOCATION_SIZE(size);
  ------------------
  |  |  390|  43.8M|	if (s == 0) {                     \
  |  |  ------------------
  |  |  |  Branch (390:6): [True: 0, False: 43.8M]
  |  |  ------------------
  |  |  391|      0|		s = ZERO_ALLOCATION_SIZE; \
  |  |  ------------------
  |  |  |  |   86|      0|#define ZERO_ALLOCATION_SIZE sizeof(void *)
  |  |  ------------------
  |  |  392|      0|	}
  ------------------
  400|       |
  401|  43.8M|	void *ptr = mallocx(size, flags | ctx->jemalloc_flags);
  402|  43.8M|	CHECK_OOM(ptr, size);
  ------------------
  |  |  244|  43.8M|#define CHECK_OOM(ptr, size) (void)((ptr != NULL) || (oom(size), false))
  |  |  ------------------
  |  |  |  Branch (244:37): [True: 43.8M, False: 0]
  |  |  |  Branch (244:54): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  403|       |
  404|  43.8M|	return ptr;
  405|  43.8M|}
mem.c:mem_getstats:
  474|  43.8M|mem_getstats(isc_mem_t *ctx, size_t size) {
  475|       |	atomic_fetch_add_relaxed(&ctx->stat[isc_tid()].inuse, size);
  ------------------
  |  |   30|  43.8M|	atomic_fetch_add_explicit((o), (v), memory_order_relaxed)
  ------------------
  476|  43.8M|}
mem.c:mem_putstats:
  482|  43.8M|mem_putstats(isc_mem_t *ctx, size_t size) {
  483|       |	atomic_fetch_sub_relaxed(&ctx->stat[isc_tid()].inuse, size);
  ------------------
  |  |   32|  43.8M|	atomic_fetch_sub_explicit((o), (v), memory_order_relaxed)
  ------------------
  484|  43.8M|}
mem.c:mem_put:
  445|  43.8M|mem_put(isc_mem_t *ctx, void *mem, size_t size, int flags) {
  446|  43.8M|	ADJUST_ZERO_ALLOCATION_SIZE(size);
  ------------------
  |  |  390|  43.8M|	if (s == 0) {                     \
  |  |  ------------------
  |  |  |  Branch (390:6): [True: 0, False: 43.8M]
  |  |  ------------------
  |  |  391|      0|		s = ZERO_ALLOCATION_SIZE; \
  |  |  ------------------
  |  |  |  |   86|      0|#define ZERO_ALLOCATION_SIZE sizeof(void *)
  |  |  ------------------
  |  |  392|      0|	}
  ------------------
  447|       |
  448|  43.8M|	sdallocx(mem, size, flags | ctx->jemalloc_flags);
  449|       |
  450|  43.8M|	freed_bytes += size;
  451|       |
  452|  43.8M|	if (freed_bytes >= purge_threshold) {
  ------------------
  |  Branch (452:6): [True: 659, False: 43.8M]
  ------------------
  453|    659|		freed_bytes = 0;
  454|    659|		mem_purge();
  455|    659|	}
  456|  43.8M|}
mem.c:mem_purge:
  416|    659|mem_purge(void) {
  417|    659|	isc_stdtime_t now = isc_stdtime_now();
  418|    659|	isc_stdtime_t last = atomic_load_relaxed(&last_purge);
  ------------------
  |  |   28|    659|#define atomic_load_relaxed(o) atomic_load_explicit((o), memory_order_relaxed)
  ------------------
  419|       |
  420|    659|	if (now > last &&
  ------------------
  |  Branch (420:6): [True: 13, False: 646]
  ------------------
  421|    659|	    atomic_compare_exchange_strong_acq_rel(&last_purge, &last, now))
  ------------------
  |  |   71|    659|	atomic_compare_exchange_strong_explicit(        \
  |  |  ------------------
  |  |  |  Branch (71:2): [True: 13, False: 0]
  |  |  ------------------
  |  |   72|     13|		(o), (e), (d), memory_order_acq_rel, memory_order_acquire)
  ------------------
  422|     13|	{
  423|       |#if defined(JEMALLOC_API_SUPPORTED)
  424|       |		(void)mallctl("arena." STRINGIFY(MALLCTL_ARENAS_ALL) ".decay",
  425|       |			      NULL, NULL, NULL, 0);
  426|       |#elif defined(__GLIBC__)
  427|       |		(void)malloc_trim(0);
  428|     13|#endif
  429|     13|	}
  430|    659|}
mem.c:mem_create:
  611|     10|	   unsigned int jemalloc_flags) {
  612|     10|	isc_mem_t *ctx = NULL;
  613|       |
  614|     10|	REQUIRE(ctxp != NULL && *ctxp == NULL);
  ------------------
  |  |  198|     10|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     20|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 10, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     10|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  615|     10|	REQUIRE(name != NULL);
  ------------------
  |  |  198|     10|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     10|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     10|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  616|       |
  617|     10|	ctx = mallocx(sizeof(*ctx),
  618|     10|		      jemalloc_flags | ISC_MEM_ALIGN(isc_os_cacheline()));
  ------------------
  |  |  138|     10|	((int)(((size_t)(a) < (size_t)INT_MAX) \
  |  |  ------------------
  |  |  |  Branch (138:9): [True: 10, False: 0]
  |  |  ------------------
  |  |  139|     10|		       ? ffs((int)(a)) - 1     \
  |  |  140|     10|		       : ffs((int)(((size_t)(a)) >> 32)) + 31))
  ------------------
  619|     10|	CHECK_OOM(ctx, sizeof(*ctx));
  ------------------
  |  |  244|     10|#define CHECK_OOM(ptr, size) (void)((ptr != NULL) || (oom(size), false))
  |  |  ------------------
  |  |  |  Branch (244:37): [True: 10, False: 0]
  |  |  |  Branch (244:54): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  620|       |
  621|     10|	*ctx = (isc_mem_t){
  622|     10|		.magic = MEM_MAGIC,
  ------------------
  |  |  121|     10|#define MEM_MAGIC	 ISC_MAGIC('M', 'e', 'm', 'C')
  |  |  ------------------
  |  |  |  |   31|     10|#define ISC_MAGIC(a, b, c, d) ((a) << 24 | (b) << 16 | (c) << 8 | (d))
  |  |  ------------------
  ------------------
  623|     10|		.debugging = debugging,
  624|     10|		.jemalloc_flags = jemalloc_flags,
  625|     10|		.checkfree = true,
  626|     10|		.name = strdup(name),
  627|     10|	};
  628|       |
  629|     10|	isc_mutex_init(&ctx->lock);
  ------------------
  |  |   68|     10|#define isc_mutex_init(mp)    isc__mutex_init(mp)
  |  |  ------------------
  |  |  |  |   79|     10|	{                                                                 \
  |  |  |  |   80|     10|		int _ret = pthread_mutex_init(mp, &isc__mutex_init_attr); \
  |  |  |  |   81|     10|		PTHREADS_RUNTIME_CHECK(pthread_mutex_init, _ret);         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  288|     10|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 10]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  ------------------
  |  |  |  |   82|     10|	}
  |  |  ------------------
  ------------------
  630|     10|	isc_refcount_init(&ctx->references, 1);
  ------------------
  |  |   44|     10|#define isc_refcount_init(target, value) atomic_init(target, value)
  ------------------
  631|       |
  632|  5.14k|	for (size_t i = 0; i < ARRAY_SIZE(ctx->stat_s); i++) {
  ------------------
  |  |   98|  5.14k|#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))
  ------------------
  |  Branch (632:21): [True: 5.13k, False: 10]
  ------------------
  633|  5.13k|		atomic_init(&ctx->stat_s[i].inuse, 0);
  634|  5.13k|	}
  635|       |
  636|       |	/* Reserve the [-1] index for ISC_TID_UNKNOWN */
  637|     10|	ctx->stat = &ctx->stat_s[1];
  638|       |
  639|     10|	atomic_init(&ctx->hi_water, 0);
  640|     10|	atomic_init(&ctx->lo_water, 0);
  641|       |
  642|     10|	ISC_LIST_INIT(ctx->pools);
  ------------------
  |  |   43|     10|	do {                        \
  |  |   44|     10|		(list).head = NULL; \
  |  |   45|     10|		(list).tail = NULL; \
  |  |   46|     10|	} while (0)
  |  |  ------------------
  |  |  |  Branch (46:11): [Folded, False: 10]
  |  |  ------------------
  ------------------
  643|       |
  644|       |#if ISC_MEM_TRACKLINES
  645|       |	if ((ctx->debugging & ISC_MEM_DEBUGRECORD) != 0) {
  646|       |		unsigned int i;
  647|       |		size_t debuglist_size = ISC_CHECKED_MUL(DEBUG_TABLE_COUNT,
  648|       |							sizeof(debuglist_t));
  649|       |
  650|       |		ctx->debuglist = mallocx(debuglist_size, jemalloc_flags);
  651|       |		CHECK_OOM(ctx->debuglist, debuglist_size);
  652|       |
  653|       |		for (i = 0; i < DEBUG_TABLE_COUNT; i++) {
  654|       |			ISC_LIST_INIT(ctx->debuglist[i]);
  655|       |		}
  656|       |	}
  657|       |#endif /* if ISC_MEM_TRACKLINES */
  658|       |
  659|     10|	LOCK(&contextslock);
  ------------------
  |  |   26|     10|	{                                                                  \
  |  |   27|     10|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKING %p %s %d\n", (lp), \
  |  |   28|     10|				       __FILE__, __LINE__));               \
  |  |   29|     10|		isc_mutex_lock((lp));                                      \
  |  |  ------------------
  |  |  |  |   69|     10|#define isc_mutex_lock(mp)    isc__mutex_lock(mp)
  |  |  |  |  ------------------
  |  |  |  |  |  |   85|     10|	{                                                         \
  |  |  |  |  |  |   86|     10|		int _ret = pthread_mutex_lock(mp);                \
  |  |  |  |  |  |   87|     10|		PTHREADS_RUNTIME_CHECK(pthread_mutex_lock, _ret); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  288|     10|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 10]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   88|     10|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   30|     10|		ISC_UTIL_TRACE(fprintf(stderr, "LOCKED %p %s %d\n", (lp),  \
  |  |   31|     10|				       __FILE__, __LINE__));               \
  |  |   32|     10|	}
  ------------------
  660|     10|	ISC_LIST_INITANDAPPEND(contexts, ctx, link);
  ------------------
  |  |  106|     10|	__ISC_LIST_APPENDUNSAFE(list, elt, link)
  |  |  ------------------
  |  |  |  |   88|     10|	do {                                            \
  |  |  |  |   89|     10|		if ((list).tail != NULL) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (89:7): [True: 8, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   90|      8|			(list).tail->link.next = (elt); \
  |  |  |  |   91|      8|		} else {                                \
  |  |  |  |   92|      2|			(list).head = (elt);            \
  |  |  |  |   93|      2|		}                                       \
  |  |  |  |   94|     10|		(elt)->link.prev = (list).tail;         \
  |  |  |  |   95|     10|		(elt)->link.next = NULL;                \
  |  |  |  |   96|     10|		(list).tail = (elt);                    \
  |  |  |  |   97|     10|	} while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:11): [Folded, False: 10]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  661|     10|	UNLOCK(&contextslock);
  ------------------
  |  |   34|     10|	{                                                                   \
  |  |   35|     10|		isc_mutex_unlock((lp));                                     \
  |  |  ------------------
  |  |  |  |   70|     10|#define isc_mutex_unlock(mp)  isc__mutex_unlock(mp)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     10|	{                                                           \
  |  |  |  |  |  |   92|     10|		int _ret = pthread_mutex_unlock(mp);                \
  |  |  |  |  |  |   93|     10|		PTHREADS_RUNTIME_CHECK(pthread_mutex_unlock, _ret); \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  288|     10|	if ((ret) != 0) {                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (288:6): [True: 0, False: 10]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  290|      0|	}
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   94|     10|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   36|     10|		ISC_UTIL_TRACE(fprintf(stderr, "UNLOCKED %p %s %d\n", (lp), \
  |  |   37|     10|				       __FILE__, __LINE__));                \
  |  |   38|     10|	}
  ------------------
  662|       |
  663|     10|	*ctxp = ctx;
  664|     10|}

isc__mutex_initialize:
   33|      2|isc__mutex_initialize(void) {
   34|      2|	RUNTIME_CHECK(pthread_mutexattr_init(&isc__mutex_init_attr) == 0);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
   35|       |#if ISC_MUTEX_ERROR_CHECK
   36|       |	RUNTIME_CHECK(pthread_mutexattr_settype(&isc__mutex_init_attr,
   37|       |						PTHREAD_MUTEX_ERRORCHECK) == 0);
   38|       |#elif HAVE_PTHREAD_MUTEX_ADAPTIVE_NP
   39|      2|	RUNTIME_CHECK(pthread_mutexattr_settype(&isc__mutex_init_attr,
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
   40|      2|						PTHREAD_MUTEX_ADAPTIVE_NP) ==
   41|      2|		      0);
   42|      2|#endif
   43|      2|}

isc_os_ncpus:
  199|      2|isc_os_ncpus(void) {
  200|      2|	return isc__os_ncpus;
  201|      2|}
isc_os_cacheline:
  204|     20|isc_os_cacheline(void) {
  205|     20|	return isc__os_cacheline;
  206|     20|}
isc__os_initialize:
  222|      2|isc__os_initialize(void) {
  223|      2|	umask_initialize();
  224|      2|	ncpus_initialize();
  225|      2|	kernel_initialize();
  226|      2|#if defined(_SC_LEVEL1_DCACHE_LINESIZE)
  227|      2|	long s = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
  228|      2|	if (s > 0 && (unsigned long)s > isc__os_cacheline) {
  ------------------
  |  Branch (228:6): [True: 2, False: 0]
  |  Branch (228:15): [True: 0, False: 2]
  ------------------
  229|      0|		isc__os_cacheline = s;
  230|      0|	}
  231|      2|#endif
  232|       |
  233|      2|	pthread_attr_init(&isc__thread_attr);
  234|       |
  235|      2|	size_t stacksize = isc_thread_getstacksize();
  236|      2|	if (stacksize != 0 && stacksize < THREAD_MINSTACKSIZE) {
  ------------------
  |  |   29|      2|#define THREAD_MINSTACKSIZE (1U * 1024 * 1024)
  ------------------
  |  Branch (236:6): [True: 2, False: 0]
  |  Branch (236:24): [True: 0, False: 2]
  ------------------
  237|      0|		isc_thread_setstacksize(THREAD_MINSTACKSIZE);
  ------------------
  |  |   29|      0|#define THREAD_MINSTACKSIZE (1U * 1024 * 1024)
  ------------------
  238|      0|	}
  239|      2|}
os.c:umask_initialize:
  180|      2|umask_initialize(void) {
  181|      2|	isc__os_umask = umask(0);
  182|      2|	(void)umask(isc__os_umask);
  183|      2|}
os.c:ncpus_initialize:
   42|      2|ncpus_initialize(void) {
   43|      2|	isc__os_ncpus = uv_available_parallelism();
   44|      2|}
os.c:kernel_initialize:
  186|      2|kernel_initialize(void) {
  187|      2|	struct utsname buffer;
  188|       |
  189|      2|	if (uname(&buffer) == -1) {
  ------------------
  |  Branch (189:6): [True: 0, False: 2]
  ------------------
  190|      0|		return;
  191|      0|	}
  192|       |
  193|      2|	(void)sscanf(buffer.release, "%d.%d.%d", &kernel_major, &kernel_minor,
  194|      2|		     &kernel_patch);
  195|      2|	(void)strlcpy(kernel_name, buffer.sysname, sizeof(kernel_name));
  196|      2|}

isc_ossl_wrap_load_rsa_public_from_components:
  727|     12|					      EVP_PKEY **pkeyp) {
  728|     12|	OSSL_PARAM_BLD *bld = NULL;
  729|     12|	EVP_PKEY_CTX *pctx = NULL;
  730|     12|	OSSL_PARAM *params = NULL;
  731|     12|	isc_result_t result;
  732|       |
  733|     12|	REQUIRE(pkeyp != NULL && *pkeyp == NULL);
  ------------------
  |  |  198|     12|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     24|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 12, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     12|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  734|     12|	REQUIRE(c != NULL && c->n != NULL && c->e != NULL);
  ------------------
  |  |  198|     12|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     48|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:11): [True: 12, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 12, False: 0]
  |  |  |  |  |  Branch (42:11): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     12|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  735|       |
  736|     12|	bld = OSSL_PARAM_BLD_new();
  737|     12|	if (bld == NULL) {
  ------------------
  |  Branch (737:6): [True: 0, False: 12]
  ------------------
  738|      0|		CLEANUP(OSSL_WRAP_ERROR("OSSL_PARAM_BLD_new"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  739|      0|	}
  740|       |
  741|     12|	if (OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_N, c->n) != 1) {
  ------------------
  |  Branch (741:6): [True: 0, False: 12]
  ------------------
  742|      0|		CLEANUP(OSSL_WRAP_ERROR("OSSL_PARAM_BLD_push_BN"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  743|      0|	}
  744|       |
  745|     12|	if (OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_RSA_E, c->e) != 1) {
  ------------------
  |  Branch (745:6): [True: 0, False: 12]
  ------------------
  746|      0|		CLEANUP(OSSL_WRAP_ERROR("OSSL_PARAM_BLD_push_BN"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  747|      0|	}
  748|       |
  749|     12|	params = OSSL_PARAM_BLD_to_param(bld);
  750|     12|	if (params == NULL) {
  ------------------
  |  Branch (750:6): [True: 0, False: 12]
  ------------------
  751|      0|		CLEANUP(OSSL_WRAP_ERROR("OSSL_PARAM_BLD_to_param"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  752|      0|	}
  753|       |
  754|     12|	pctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL);
  755|     12|	if (pctx == NULL) {
  ------------------
  |  Branch (755:6): [True: 0, False: 12]
  ------------------
  756|      0|		CLEANUP(OSSL_WRAP_ERROR("EVP_PKEY_CTX_new_from_name"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  757|      0|	}
  758|       |
  759|     12|	if (EVP_PKEY_fromdata_init(pctx) != 1) {
  ------------------
  |  Branch (759:6): [True: 0, False: 12]
  ------------------
  760|      0|		CLEANUP(OSSL_WRAP_ERROR("EVP_PKEY_fromdata_init"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  761|      0|	}
  762|       |
  763|     12|	if (EVP_PKEY_fromdata(pctx, pkeyp, EVP_PKEY_PUBLIC_KEY, params) != 1) {
  ------------------
  |  Branch (763:6): [True: 0, False: 12]
  ------------------
  764|      0|		CLEANUP(OSSL_WRAP_ERROR("EVP_PKEY_fromdata"));
  ------------------
  |  |  266|      0|	{                     \
  |  |  267|      0|		result = (r); \
  |  |  268|      0|		goto cleanup; \
  |  |  269|      0|	}
  ------------------
  765|      0|	}
  766|       |
  767|     12|	result = ISC_R_SUCCESS;
  768|       |
  769|     12|cleanup:
  770|     12|	EVP_PKEY_CTX_free(pctx);
  771|     12|	OSSL_PARAM_free(params);
  772|     12|	OSSL_PARAM_BLD_free(bld);
  773|     12|	return result;
  774|     12|}

isc_ossl_wrap_rsa_components_cleanup:
   23|     12|isc_ossl_wrap_rsa_components_cleanup(isc_ossl_wrap_rsa_components_t *c) {
   24|     12|	REQUIRE(c != NULL);
  ------------------
  |  |  198|     12|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|     12|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|     12|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   25|       |
   26|     12|	if (!c->needs_cleanup) {
  ------------------
  |  Branch (26:6): [True: 0, False: 12]
  ------------------
   27|      0|		return;
   28|      0|	}
   29|       |
   30|       |	/*
   31|       |	 * NOTE: BN_free() frees the components of the BIGNUM, and if it was
   32|       |	 * created by BN_new(), also the structure itself. BN_clear_free()
   33|       |	 * additionally overwrites the data before the memory is returned to the
   34|       |	 * system. If a is NULL, nothing is done.
   35|       |	 */
   36|     12|	BN_free(c->e);
   37|     12|	BN_free(c->n);
   38|     12|	BN_clear_free(c->d);
   39|     12|	BN_clear_free(c->p);
   40|     12|	BN_clear_free(c->q);
   41|     12|	BN_clear_free(c->dmp1);
   42|     12|	BN_clear_free(c->dmq1);
   43|     12|	BN_clear_free(c->iqmp);
   44|       |
   45|       |	c->needs_cleanup = false;
   46|     12|}

isc_regex_validate:
   34|  6.39k|isc_regex_validate(const char *c) {
   35|  6.39k|	enum {
   36|  6.39k|		none,
   37|  6.39k|		parse_bracket,
   38|  6.39k|		parse_bound,
   39|  6.39k|		parse_ce,
   40|  6.39k|		parse_ec,
   41|  6.39k|		parse_cc
   42|  6.39k|	} state = none;
   43|       |	/* Well known character classes. */
   44|  6.39k|	const char *cc[] = { ":alnum:", ":digit:", ":punct:", ":alpha:",
   45|  6.39k|			     ":graph:", ":space:", ":blank:", ":lower:",
   46|  6.39k|			     ":upper:", ":cntrl:", ":print:", ":xdigit:" };
   47|  6.39k|	bool seen_comma = false;
   48|  6.39k|	bool seen_high = false;
   49|  6.39k|	bool seen_char = false;
   50|  6.39k|	bool seen_ec = false;
   51|  6.39k|	bool seen_ce = false;
   52|  6.39k|	bool have_atom = false;
   53|  6.39k|	int group = 0;
   54|  6.39k|	int range = 0;
   55|  6.39k|	int sub = 0;
   56|  6.39k|	bool empty_ok = false;
   57|  6.39k|	bool neg = false;
   58|  6.39k|	bool was_multiple = false;
   59|  6.39k|	unsigned int low = 0;
   60|  6.39k|	unsigned int high = 0;
   61|  6.39k|	const char *ccname = NULL;
   62|  6.39k|	int range_start = 0;
   63|       |#if VALREGEX_REPORT_REASON
   64|       |	const char *reason = "";
   65|       |#endif /* if VALREGEX_REPORT_REASON */
   66|       |
   67|  6.39k|	if (c == NULL || *c == 0) {
  ------------------
  |  Branch (67:6): [True: 0, False: 6.39k]
  |  Branch (67:19): [True: 5, False: 6.39k]
  ------------------
   68|      5|		FAIL("empty string");
  ------------------
  |  |   27|      5|#define FAIL(x) goto error
  ------------------
   69|      5|	}
   70|       |
   71|   353k|	while (c != NULL && *c != 0) {
  ------------------
  |  Branch (71:9): [True: 353k, False: 0]
  |  Branch (71:22): [True: 347k, False: 6.30k]
  ------------------
   72|   347k|		switch (state) {
  ------------------
  |  Branch (72:11): [True: 347k, False: 0]
  ------------------
   73|   210k|		case none:
  ------------------
  |  Branch (73:3): [True: 210k, False: 137k]
  ------------------
   74|   210k|			switch (*c) {
   75|  9.40k|			case '\\': /* make literal */
  ------------------
  |  Branch (75:4): [True: 9.40k, False: 200k]
  ------------------
   76|  9.40k|				++c;
   77|  9.40k|				switch (*c) {
   78|    661|				case '1':
  ------------------
  |  Branch (78:5): [True: 661, False: 8.74k]
  ------------------
   79|  1.04k|				case '2':
  ------------------
  |  Branch (79:5): [True: 388, False: 9.01k]
  ------------------
   80|  1.73k|				case '3':
  ------------------
  |  Branch (80:5): [True: 685, False: 8.71k]
  ------------------
   81|  2.58k|				case '4':
  ------------------
  |  Branch (81:5): [True: 854, False: 8.54k]
  ------------------
   82|  3.48k|				case '5':
  ------------------
  |  Branch (82:5): [True: 897, False: 8.50k]
  ------------------
   83|  3.78k|				case '6':
  ------------------
  |  Branch (83:5): [True: 301, False: 9.10k]
  ------------------
   84|  3.95k|				case '7':
  ------------------
  |  Branch (84:5): [True: 173, False: 9.22k]
  ------------------
   85|  4.55k|				case '8':
  ------------------
  |  Branch (85:5): [True: 600, False: 8.80k]
  ------------------
   86|  5.59k|				case '9':
  ------------------
  |  Branch (86:5): [True: 1.03k, False: 8.36k]
  ------------------
   87|  5.59k|					if ((*c - '0') > sub) {
  ------------------
  |  Branch (87:10): [True: 9, False: 5.58k]
  ------------------
   88|      9|						FAIL("bad back reference");
  ------------------
  |  |   27|      9|#define FAIL(x) goto error
  ------------------
   89|      9|					}
   90|  5.58k|					have_atom = true;
   91|  5.58k|					was_multiple = false;
   92|  5.58k|					break;
   93|      0|				case 0:
  ------------------
  |  Branch (93:5): [True: 0, False: 9.40k]
  ------------------
   94|      0|					FAIL("escaped end-of-string");
  ------------------
  |  |   27|      0|#define FAIL(x) goto error
  ------------------
   95|  3.81k|				default:
  ------------------
  |  Branch (95:5): [True: 3.81k, False: 5.59k]
  ------------------
   96|  3.81k|					goto literal;
   97|  9.40k|				}
   98|  5.58k|				++c;
   99|  5.58k|				break;
  100|  10.0k|			case '[': /* bracket start */
  ------------------
  |  Branch (100:4): [True: 10.0k, False: 200k]
  ------------------
  101|  10.0k|				++c;
  102|  10.0k|				neg = false;
  103|  10.0k|				was_multiple = false;
  104|  10.0k|				seen_char = false;
  105|  10.0k|				state = parse_bracket;
  106|  10.0k|				break;
  107|  7.92k|			case '{': /* bound start */
  ------------------
  |  Branch (107:4): [True: 7.92k, False: 202k]
  ------------------
  108|  7.92k|				switch (c[1]) {
  109|    397|				case '0':
  ------------------
  |  Branch (109:5): [True: 397, False: 7.52k]
  ------------------
  110|  1.45k|				case '1':
  ------------------
  |  Branch (110:5): [True: 1.05k, False: 6.86k]
  ------------------
  111|  1.59k|				case '2':
  ------------------
  |  Branch (111:5): [True: 143, False: 7.78k]
  ------------------
  112|  1.98k|				case '3':
  ------------------
  |  Branch (112:5): [True: 385, False: 7.54k]
  ------------------
  113|  2.09k|				case '4':
  ------------------
  |  Branch (113:5): [True: 110, False: 7.81k]
  ------------------
  114|  2.39k|				case '5':
  ------------------
  |  Branch (114:5): [True: 302, False: 7.62k]
  ------------------
  115|  2.62k|				case '6':
  ------------------
  |  Branch (115:5): [True: 232, False: 7.69k]
  ------------------
  116|  3.11k|				case '7':
  ------------------
  |  Branch (116:5): [True: 487, False: 7.43k]
  ------------------
  117|  3.20k|				case '8':
  ------------------
  |  Branch (117:5): [True: 88, False: 7.83k]
  ------------------
  118|  3.29k|				case '9':
  ------------------
  |  Branch (118:5): [True: 88, False: 7.83k]
  ------------------
  119|  3.29k|					if (!have_atom) {
  ------------------
  |  Branch (119:10): [True: 2, False: 3.28k]
  ------------------
  120|      2|						FAIL("no atom");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  121|      2|					}
  122|  3.28k|					if (was_multiple) {
  ------------------
  |  Branch (122:10): [True: 1, False: 3.28k]
  ------------------
  123|      1|						FAIL("was multiple");
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  124|      1|					}
  125|  3.28k|					seen_comma = false;
  126|  3.28k|					seen_high = false;
  127|  3.28k|					low = high = 0;
  128|  3.28k|					state = parse_bound;
  129|  3.28k|					break;
  130|  4.63k|				default:
  ------------------
  |  Branch (130:5): [True: 4.63k, False: 3.29k]
  ------------------
  131|  4.63k|					goto literal;
  132|  7.92k|				}
  133|  3.28k|				++c;
  134|  3.28k|				have_atom = true;
  135|  3.28k|				was_multiple = true;
  136|  3.28k|				break;
  137|  3.13k|			case '}':
  ------------------
  |  Branch (137:4): [True: 3.13k, False: 207k]
  ------------------
  138|  3.13k|				goto literal;
  139|  28.9k|			case '(': /* group start */
  ------------------
  |  Branch (139:4): [True: 28.9k, False: 181k]
  ------------------
  140|  28.9k|				have_atom = false;
  141|  28.9k|				was_multiple = false;
  142|  28.9k|				empty_ok = true;
  143|  28.9k|				++group;
  144|  28.9k|				++sub;
  145|  28.9k|				++c;
  146|  28.9k|				break;
  147|  38.0k|			case ')': /* group end */
  ------------------
  |  Branch (147:4): [True: 38.0k, False: 172k]
  ------------------
  148|  38.0k|				if (group && !have_atom && !empty_ok) {
  ------------------
  |  Branch (148:9): [True: 28.6k, False: 9.44k]
  |  Branch (148:18): [True: 13.9k, False: 14.6k]
  |  Branch (148:32): [True: 1, False: 13.9k]
  ------------------
  149|      1|					FAIL("empty alternative");
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  150|      1|				}
  151|  38.0k|				have_atom = true;
  152|  38.0k|				was_multiple = false;
  153|  38.0k|				if (group != 0) {
  ------------------
  |  Branch (153:9): [True: 28.6k, False: 9.44k]
  ------------------
  154|  28.6k|					--group;
  155|  28.6k|				}
  156|  38.0k|				++c;
  157|  38.0k|				break;
  158|  1.04k|			case '|': /* alternative separator */
  ------------------
  |  Branch (158:4): [True: 1.04k, False: 209k]
  ------------------
  159|  1.04k|				if (!have_atom) {
  ------------------
  |  Branch (159:9): [True: 2, False: 1.04k]
  ------------------
  160|      2|					FAIL("no atom");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  161|      2|				}
  162|  1.04k|				have_atom = false;
  163|  1.04k|				empty_ok = false;
  164|  1.04k|				was_multiple = false;
  165|  1.04k|				++c;
  166|  1.04k|				break;
  167|  1.42k|			case '^':
  ------------------
  |  Branch (167:4): [True: 1.42k, False: 208k]
  ------------------
  168|  3.04k|			case '$':
  ------------------
  |  Branch (168:4): [True: 1.61k, False: 208k]
  ------------------
  169|  3.04k|				have_atom = true;
  170|  3.04k|				was_multiple = true;
  171|  3.04k|				++c;
  172|  3.04k|				break;
  173|  2.19k|			case '+':
  ------------------
  |  Branch (173:4): [True: 2.19k, False: 208k]
  ------------------
  174|  4.19k|			case '*':
  ------------------
  |  Branch (174:4): [True: 1.99k, False: 208k]
  ------------------
  175|  7.90k|			case '?':
  ------------------
  |  Branch (175:4): [True: 3.70k, False: 206k]
  ------------------
  176|  7.90k|				if (was_multiple) {
  ------------------
  |  Branch (176:9): [True: 7, False: 7.89k]
  ------------------
  177|      7|					FAIL("was multiple");
  ------------------
  |  |   27|      7|#define FAIL(x) goto error
  ------------------
  178|      7|				}
  179|  7.89k|				if (!have_atom) {
  ------------------
  |  Branch (179:9): [True: 4, False: 7.88k]
  ------------------
  180|      4|					FAIL("no atom");
  ------------------
  |  |   27|      4|#define FAIL(x) goto error
  ------------------
  181|      4|				}
  182|  7.88k|				have_atom = true;
  183|  7.88k|				was_multiple = true;
  184|  7.88k|				++c;
  185|  7.88k|				break;
  186|  3.15k|			case '.':
  ------------------
  |  Branch (186:4): [True: 3.15k, False: 207k]
  ------------------
  187|   100k|			default:
  ------------------
  |  Branch (187:4): [True: 97.6k, False: 112k]
  ------------------
  188|   112k|			literal:
  189|   112k|				have_atom = true;
  190|   112k|				was_multiple = false;
  191|   112k|				++c;
  192|   112k|				break;
  193|   210k|			}
  194|   210k|			break;
  195|   210k|		case parse_bound:
  ------------------
  |  Branch (195:3): [True: 12.0k, False: 335k]
  ------------------
  196|  12.0k|			switch (*c) {
  197|  1.02k|			case '0':
  ------------------
  |  Branch (197:4): [True: 1.02k, False: 11.0k]
  ------------------
  198|  2.33k|			case '1':
  ------------------
  |  Branch (198:4): [True: 1.30k, False: 10.7k]
  ------------------
  199|  2.66k|			case '2':
  ------------------
  |  Branch (199:4): [True: 335, False: 11.7k]
  ------------------
  200|  3.28k|			case '3':
  ------------------
  |  Branch (200:4): [True: 622, False: 11.4k]
  ------------------
  201|  3.67k|			case '4':
  ------------------
  |  Branch (201:4): [True: 388, False: 11.6k]
  ------------------
  202|  4.45k|			case '5':
  ------------------
  |  Branch (202:4): [True: 774, False: 11.2k]
  ------------------
  203|  5.08k|			case '6':
  ------------------
  |  Branch (203:4): [True: 639, False: 11.4k]
  ------------------
  204|  6.86k|			case '7':
  ------------------
  |  Branch (204:4): [True: 1.77k, False: 10.2k]
  ------------------
  205|  7.54k|			case '8':
  ------------------
  |  Branch (205:4): [True: 687, False: 11.3k]
  ------------------
  206|  7.98k|			case '9':
  ------------------
  |  Branch (206:4): [True: 436, False: 11.6k]
  ------------------
  207|  7.98k|				if (!seen_comma) {
  ------------------
  |  Branch (207:9): [True: 6.54k, False: 1.43k]
  ------------------
  208|  6.54k|					low = low * 10 + *c - '0';
  209|  6.54k|					if (low > 255) {
  ------------------
  |  Branch (209:10): [True: 7, False: 6.53k]
  ------------------
  210|      7|						FAIL("lower bound too big");
  ------------------
  |  |   27|      7|#define FAIL(x) goto error
  ------------------
  211|      7|					}
  212|  6.54k|				} else {
  213|  1.43k|					seen_high = true;
  214|  1.43k|					high = high * 10 + *c - '0';
  215|  1.43k|					if (high > 255) {
  ------------------
  |  Branch (215:10): [True: 2, False: 1.43k]
  ------------------
  216|      2|						FAIL("upper bound too big");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  217|      2|					}
  218|  1.43k|				}
  219|  7.97k|				++c;
  220|  7.97k|				break;
  221|    810|			case ',':
  ------------------
  |  Branch (221:4): [True: 810, False: 11.2k]
  ------------------
  222|    810|				if (seen_comma) {
  ------------------
  |  Branch (222:9): [True: 1, False: 809]
  ------------------
  223|      1|					FAIL("multiple commas");
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  224|      1|				}
  225|    809|				seen_comma = true;
  226|    809|				++c;
  227|    809|				break;
  228|      2|			default:
  ------------------
  |  Branch (228:4): [True: 2, False: 12.0k]
  ------------------
  229|      2|			case '{':
  ------------------
  |  Branch (229:4): [True: 0, False: 12.0k]
  ------------------
  230|      2|				FAIL("non digit/comma");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  231|  3.24k|			case '}':
  ------------------
  |  Branch (231:4): [True: 3.24k, False: 8.79k]
  ------------------
  232|  3.24k|				if (seen_high && low > high) {
  ------------------
  |  Branch (232:9): [True: 767, False: 2.47k]
  |  Branch (232:22): [True: 5, False: 762]
  ------------------
  233|      5|					FAIL("bad parse bound");
  ------------------
  |  |   27|      5|#define FAIL(x) goto error
  ------------------
  234|      5|				}
  235|  3.23k|				seen_comma = false;
  236|  3.23k|				state = none;
  237|  3.23k|				++c;
  238|  3.23k|				break;
  239|  12.0k|			}
  240|  12.0k|			break;
  241|  93.2k|		case parse_bracket:
  ------------------
  |  Branch (241:3): [True: 93.2k, False: 254k]
  ------------------
  242|  93.2k|			switch (*c) {
  243|  3.28k|			case '^':
  ------------------
  |  Branch (243:4): [True: 3.28k, False: 89.9k]
  ------------------
  244|  3.28k|				if (seen_char || neg) {
  ------------------
  |  Branch (244:9): [True: 1.29k, False: 1.99k]
  |  Branch (244:22): [True: 599, False: 1.39k]
  ------------------
  245|  1.89k|					goto inside;
  246|  1.89k|				}
  247|  1.39k|				neg = true;
  248|  1.39k|				++c;
  249|  1.39k|				break;
  250|  7.35k|			case '-':
  ------------------
  |  Branch (250:4): [True: 7.35k, False: 85.9k]
  ------------------
  251|  7.35k|				if (range == 2) {
  ------------------
  |  Branch (251:9): [True: 578, False: 6.77k]
  ------------------
  252|    578|					goto inside;
  253|    578|				}
  254|  6.77k|				if (!seen_char) {
  ------------------
  |  Branch (254:9): [True: 884, False: 5.88k]
  ------------------
  255|    884|					goto inside;
  256|    884|				}
  257|  5.88k|				if (range == 1) {
  ------------------
  |  Branch (257:9): [True: 2, False: 5.88k]
  ------------------
  258|      2|					FAIL("bad range");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  259|      2|				}
  260|  5.88k|				range = 2;
  261|  5.88k|				++c;
  262|  5.88k|				break;
  263|  12.4k|			case '[':
  ------------------
  |  Branch (263:4): [True: 12.4k, False: 80.8k]
  ------------------
  264|  12.4k|				++c;
  265|  12.4k|				switch (*c) {
  ------------------
  |  Branch (265:13): [True: 3.63k, False: 8.77k]
  ------------------
  266|  2.57k|				case '.': /* collating element */
  ------------------
  |  Branch (266:5): [True: 2.57k, False: 9.83k]
  ------------------
  267|  2.57k|					if (range != 0) {
  ------------------
  |  Branch (267:10): [True: 1.33k, False: 1.23k]
  ------------------
  268|  1.33k|						--range;
  269|  1.33k|					}
  270|  2.57k|					++c;
  271|  2.57k|					state = parse_ce;
  272|  2.57k|					seen_ce = false;
  273|  2.57k|					break;
  274|     91|				case '=': /* equivalence class */
  ------------------
  |  Branch (274:5): [True: 91, False: 12.3k]
  ------------------
  275|     91|					if (range == 2) {
  ------------------
  |  Branch (275:10): [True: 1, False: 90]
  ------------------
  276|      1|						FAIL("equivalence class in "
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  277|      1|						     "range");
  278|      1|					}
  279|     90|					++c;
  280|     90|					state = parse_ec;
  281|     90|					seen_ec = false;
  282|     90|					break;
  283|    969|				case ':': /* character class */
  ------------------
  |  Branch (283:5): [True: 969, False: 11.4k]
  ------------------
  284|    969|					if (range == 2) {
  ------------------
  |  Branch (284:10): [True: 1, False: 968]
  ------------------
  285|      1|						FAIL("character class in "
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  286|      1|						     "range");
  287|      1|					}
  288|    968|					ccname = c;
  289|    968|					++c;
  290|    968|					state = parse_cc;
  291|    968|					break;
  292|  12.4k|				}
  293|  12.4k|				seen_char = true;
  294|  12.4k|				break;
  295|  11.4k|			case ']':
  ------------------
  |  Branch (295:4): [True: 11.4k, False: 81.8k]
  ------------------
  296|  11.4k|				if (!c[1] && !seen_char) {
  ------------------
  |  Branch (296:9): [True: 941, False: 10.4k]
  |  Branch (296:18): [True: 2, False: 939]
  ------------------
  297|      2|					FAIL("unfinished brace");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  298|      2|				}
  299|  11.4k|				if (!seen_char) {
  ------------------
  |  Branch (299:9): [True: 1.55k, False: 9.86k]
  ------------------
  300|  1.55k|					goto inside;
  301|  1.55k|				}
  302|  9.86k|				++c;
  303|  9.86k|				range = 0;
  304|  9.86k|				have_atom = true;
  305|  9.86k|				state = none;
  306|  9.86k|				break;
  307|  58.8k|			default:
  ------------------
  |  Branch (307:4): [True: 58.8k, False: 34.4k]
  ------------------
  308|  63.7k|			inside:
  309|  63.7k|				seen_char = true;
  310|  63.7k|				if (range == 2 && (*c & 0xff) < range_start) {
  ------------------
  |  Branch (310:9): [True: 5.11k, False: 58.5k]
  |  Branch (310:23): [True: 2, False: 5.11k]
  ------------------
  311|      2|					FAIL("out of order range");
  ------------------
  |  |   27|      2|#define FAIL(x) goto error
  ------------------
  312|      2|				}
  313|  63.7k|				if (range != 0) {
  ------------------
  |  Branch (313:9): [True: 9.31k, False: 54.3k]
  ------------------
  314|  9.31k|					--range;
  315|  9.31k|				}
  316|  63.7k|				range_start = *c & 0xff;
  317|  63.7k|				++c;
  318|  63.7k|				break;
  319|  93.2k|			}
  320|  93.2k|			break;
  321|  93.2k|		case parse_ce:
  ------------------
  |  Branch (321:3): [True: 23.5k, False: 323k]
  ------------------
  322|  23.5k|			switch (*c) {
  323|  7.76k|			case '.':
  ------------------
  |  Branch (323:4): [True: 7.76k, False: 15.7k]
  ------------------
  324|  7.76k|				++c;
  325|  7.76k|				switch (*c) {
  326|  2.55k|				case ']':
  ------------------
  |  Branch (326:5): [True: 2.55k, False: 5.21k]
  ------------------
  327|  2.55k|					if (!seen_ce) {
  ------------------
  |  Branch (327:10): [True: 1, False: 2.54k]
  ------------------
  328|      1|						FAIL("empty ce");
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  329|      1|					}
  330|  2.54k|					++c;
  331|  2.54k|					state = parse_bracket;
  332|  2.54k|					break;
  333|  5.21k|				default:
  ------------------
  |  Branch (333:5): [True: 5.21k, False: 2.55k]
  ------------------
  334|  5.21k|					if (seen_ce) {
  ------------------
  |  Branch (334:10): [True: 3.95k, False: 1.25k]
  ------------------
  335|  3.95k|						range_start = 256;
  336|  3.95k|					} else {
  337|  1.25k|						range_start = '.';
  338|  1.25k|					}
  339|  5.21k|					seen_ce = true;
  340|  5.21k|					break;
  341|  7.76k|				}
  342|  7.76k|				break;
  343|  15.7k|			default:
  ------------------
  |  Branch (343:4): [True: 15.7k, False: 7.76k]
  ------------------
  344|  15.7k|				if (seen_ce) {
  ------------------
  |  Branch (344:9): [True: 14.4k, False: 1.31k]
  ------------------
  345|  14.4k|					range_start = 256;
  346|  14.4k|				} else {
  347|  1.31k|					range_start = *c;
  348|  1.31k|				}
  349|  15.7k|				seen_ce = true;
  350|  15.7k|				++c;
  351|  15.7k|				break;
  352|  23.5k|			}
  353|  23.5k|			break;
  354|  23.5k|		case parse_ec:
  ------------------
  |  Branch (354:3): [True: 2.05k, False: 345k]
  ------------------
  355|  2.05k|			switch (*c) {
  356|    337|			case '=':
  ------------------
  |  Branch (356:4): [True: 337, False: 1.72k]
  ------------------
  357|    337|				++c;
  358|    337|				switch (*c) {
  359|     71|				case ']':
  ------------------
  |  Branch (359:5): [True: 71, False: 266]
  ------------------
  360|     71|					if (!seen_ec) {
  ------------------
  |  Branch (360:10): [True: 1, False: 70]
  ------------------
  361|      1|						FAIL("no ec");
  ------------------
  |  |   27|      1|#define FAIL(x) goto error
  ------------------
  362|      1|					}
  363|     70|					++c;
  364|     70|					state = parse_bracket;
  365|     70|					break;
  366|    266|				default:
  ------------------
  |  Branch (366:5): [True: 266, False: 71]
  ------------------
  367|    266|					seen_ec = true;
  368|    266|					break;
  369|    337|				}
  370|    336|				break;
  371|  1.72k|			default:
  ------------------
  |  Branch (371:4): [True: 1.72k, False: 337]
  ------------------
  372|  1.72k|				seen_ec = true;
  373|  1.72k|				++c;
  374|  1.72k|				break;
  375|  2.05k|			}
  376|  2.05k|			break;
  377|  6.24k|		case parse_cc:
  ------------------
  |  Branch (377:3): [True: 6.24k, False: 341k]
  ------------------
  378|  6.24k|			switch (*c) {
  379|  1.19k|			case ':':
  ------------------
  |  Branch (379:4): [True: 1.19k, False: 5.05k]
  ------------------
  380|  1.19k|				++c;
  381|  1.19k|				switch (*c) {
  382|    941|				case ']': {
  ------------------
  |  Branch (382:5): [True: 941, False: 251]
  ------------------
  383|    941|					unsigned int i;
  384|    941|					bool found = false;
  385|    941|					for (i = 0;
  386|  12.2k|					     i < sizeof(cc) / sizeof(*cc); i++)
  ------------------
  |  Branch (386:11): [True: 11.2k, False: 941]
  ------------------
  387|  11.2k|					{
  388|  11.2k|						unsigned int len;
  389|  11.2k|						len = strlen(cc[i]);
  390|  11.2k|						if (len !=
  ------------------
  |  Branch (390:11): [True: 1.30k, False: 9.98k]
  ------------------
  391|  11.2k|						    (unsigned int)(c - ccname))
  392|  1.30k|						{
  393|  1.30k|							continue;
  394|  1.30k|						}
  395|  9.98k|						if (strncmp(cc[i], ccname, len))
  ------------------
  |  Branch (395:11): [True: 9.08k, False: 906]
  ------------------
  396|  9.08k|						{
  397|  9.08k|							continue;
  398|  9.08k|						}
  399|    906|						found = true;
  400|    906|					}
  401|    941|					if (!found) {
  ------------------
  |  Branch (401:10): [True: 35, False: 906]
  ------------------
  402|     35|						FAIL("unknown cc");
  ------------------
  |  |   27|     35|#define FAIL(x) goto error
  ------------------
  403|     35|					}
  404|    906|					++c;
  405|    906|					state = parse_bracket;
  406|    906|					break;
  407|    941|				}
  408|    251|				default:
  ------------------
  |  Branch (408:5): [True: 251, False: 941]
  ------------------
  409|    251|					break;
  410|  1.19k|				}
  411|  1.15k|				break;
  412|  5.05k|			default:
  ------------------
  |  Branch (412:4): [True: 5.05k, False: 1.19k]
  ------------------
  413|  5.05k|				++c;
  414|  5.05k|				break;
  415|  6.24k|			}
  416|  6.20k|			break;
  417|   347k|		}
  418|   347k|	}
  419|  6.30k|	if (group != 0) {
  ------------------
  |  Branch (419:6): [True: 39, False: 6.26k]
  ------------------
  420|     39|		FAIL("group open");
  ------------------
  |  |   27|     39|#define FAIL(x) goto error
  ------------------
  421|     39|	}
  422|  6.26k|	if (state != none) {
  ------------------
  |  Branch (422:6): [True: 149, False: 6.11k]
  ------------------
  423|    149|		FAIL("incomplete");
  ------------------
  |  |   27|    149|#define FAIL(x) goto error
  ------------------
  424|    149|	}
  425|  6.11k|	if (!have_atom) {
  ------------------
  |  Branch (425:6): [True: 3, False: 6.11k]
  ------------------
  426|      3|		FAIL("no atom");
  ------------------
  |  |   27|      3|#define FAIL(x) goto error
  ------------------
  427|      3|	}
  428|  6.11k|	return sub;
  429|       |
  430|    284|error:
  431|       |#if VALREGEX_REPORT_REASON
  432|       |	fprintf(stderr, "%s\n", reason);
  433|       |#endif /* if VALREGEX_REPORT_REASON */
  434|    284|	return -1;
  435|  6.11k|}

isc_region_compare:
   23|  5.64k|isc_region_compare(isc_region_t *r1, isc_region_t *r2) {
   24|  5.64k|	unsigned int l;
   25|  5.64k|	int result;
   26|       |
   27|  5.64k|	REQUIRE(r1 != NULL);
  ------------------
  |  |  198|  5.64k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.64k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.64k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   28|  5.64k|	REQUIRE(r2 != NULL);
  ------------------
  |  |  198|  5.64k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.64k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.64k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   29|  5.64k|	REQUIRE(r1->base != NULL);
  ------------------
  |  |  198|  5.64k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.64k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.64k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   30|  5.64k|	REQUIRE(r2->base != NULL);
  ------------------
  |  |  198|  5.64k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  5.64k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 5.64k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  5.64k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   31|       |
   32|  5.64k|	l = (r1->length < r2->length) ? r1->length : r2->length;
  ------------------
  |  Branch (32:6): [True: 665, False: 4.98k]
  ------------------
   33|       |
   34|  5.64k|	if ((result = memcmp(r1->base, r2->base, l)) != 0) {
  ------------------
  |  Branch (34:6): [True: 2.53k, False: 3.11k]
  ------------------
   35|  2.53k|		return (result < 0) ? -1 : 1;
  ------------------
  |  Branch (35:10): [True: 1.27k, False: 1.26k]
  ------------------
   36|  3.11k|	} else {
   37|  3.11k|		return (r1->length == r2->length)  ? 0
  ------------------
  |  Branch (37:10): [True: 2.27k, False: 839]
  ------------------
   38|  3.11k|		       : (r1->length < r2->length) ? -1
  ------------------
  |  Branch (38:12): [True: 606, False: 233]
  ------------------
   39|    839|						   : 1;
   40|  3.11k|	}
   41|  5.64k|}

isc_rwlock_init:
  315|  2.05k|isc_rwlock_init(isc_rwlock_t *rwl) {
  316|  2.05k|	REQUIRE(rwl != NULL);
  ------------------
  |  |  198|  2.05k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  2.05k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 2.05k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  2.05k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  317|       |
  318|  2.05k|	atomic_init(&rwl->writers_lock, ISC_RWLOCK_UNLOCKED);
  ------------------
  |  |   69|  2.05k|#define ISC_RWLOCK_UNLOCKED false
  ------------------
  319|  2.05k|	atomic_init(&rwl->writers_barrier, 0);
  320|  2.05k|	atomic_init(&rwl->readers_ingress, 0);
  321|       |	atomic_init(&rwl->readers_egress, 0);
  322|  2.05k|	LIBISC_RWLOCK_INIT(rwl);
  323|  2.05k|}

isc_serial_gt:
   33|  16.1k|isc_serial_gt(uint32_t a, uint32_t b) {
   34|  16.1k|	return ((int32_t)(a - b) > 0) ? true : false;
  ------------------
  |  Branch (34:9): [True: 2.52k, False: 13.6k]
  ------------------
   35|  16.1k|}

isc_stdtime_now:
   37|  16.8k|isc_stdtime_now(void) {
   38|  16.8k|	struct timespec ts;
   39|       |
   40|  16.8k|	if (clock_gettime(CLOCKSOURCE, &ts) == -1) {
  ------------------
  |  |   29|  16.8k|#define CLOCKSOURCE CLOCK_REALTIME_COARSE
  ------------------
  |  Branch (40:6): [True: 0, False: 16.8k]
  ------------------
   41|      0|		FATAL_SYSERROR(errno, "clock_gettime()");
  ------------------
  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  ------------------
  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  ------------------
  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  ------------------
  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  228|      0|	}
  |  |  ------------------
  ------------------
   42|      0|	}
   43|  16.8k|	INSIST(ts.tv_sec > 0 && ts.tv_nsec >= 0 &&
  ------------------
  |  |  202|  16.8k|#define INSIST(e)    ISC_INSIST(e)
  |  |  ------------------
  |  |  |  |   54|  67.3k|	((void)((cond) ||                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (54:11): [True: 16.8k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 16.8k, False: 0]
  |  |  |  |  |  Branch (54:11): [True: 16.8k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   55|  16.8k|		((isc_assertion_failed)(__FILE__, __LINE__,               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (55:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   56|      0|					isc_assertiontype_insist, #cond), \
  |  |  |  |   57|      0|		 0)))
  |  |  ------------------
  ------------------
   44|  16.8k|	       ts.tv_nsec < (long)NS_PER_SEC);
   45|       |
   46|  16.8k|	return (isc_stdtime_t)ts.tv_sec;
   47|  16.8k|}

isc_thread_getstacksize:
  171|      2|isc_thread_getstacksize(void) {
  172|      2|	size_t stacksize = 0;
  173|       |
  174|      2|#if HAVE_PTHREAD_ATTR_GETSTACKSIZE
  175|      2|	int ret = pthread_attr_getstacksize(&isc__thread_attr, &stacksize);
  176|      2|	PTHREADS_RUNTIME_CHECK(pthread_attr_getstacksize, ret);
  ------------------
  |  |  288|      2|	if ((ret) != 0) {                           \
  |  |  ------------------
  |  |  |  Branch (288:6): [True: 0, False: 2]
  |  |  ------------------
  |  |  289|      0|		FATAL_SYSERROR(ret, "%s()", #func); \
  |  |  ------------------
  |  |  |  |  234|      0|	REPORT_SYSERROR(isc_error_fatal, err, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |  223|      0|	{                                                            \
  |  |  |  |  |  |  224|      0|		char strerr[ISC_STRERRORSIZE];                       \
  |  |  |  |  |  |  225|      0|		strerror_r(err, strerr, sizeof(strerr));             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|      0|#define strerror_r isc_string_strerror_r
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  226|      0|		report(__FILE__, __LINE__, __func__,                 \
  |  |  |  |  |  |  227|      0|		       fmt ": %s (%d)", ##__VA_ARGS__, strerr, err); \
  |  |  |  |  |  |  228|      0|	}
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  290|      0|	}
  ------------------
  177|      2|#endif /* HAVE_PTHREAD_ATTR_GETSTACKSIZE */
  178|       |
  179|      2|	return stacksize;
  180|      2|}

isc_tid_count:
   57|      8|isc_tid_count(void) {
   58|      8|	return tid_count;
   59|      8|}

isc_utf8_valid:
   32|  21.6k|isc_utf8_valid(const unsigned char *buf, size_t len) {
   33|  21.6k|	REQUIRE(buf != NULL);
  ------------------
  |  |  198|  21.6k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  21.6k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 21.6k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  21.6k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
   34|       |
   35|   143k|	for (size_t i = 0; i < len; i++) {
  ------------------
  |  Branch (35:21): [True: 121k, False: 21.6k]
  ------------------
   36|       |		/*
   37|       |		 * ASCII character range (first row).
   38|       |		 */
   39|   121k|		if (buf[i] <= 0x7f) {
  ------------------
  |  Branch (39:7): [True: 117k, False: 3.95k]
  ------------------
   40|   117k|			continue;
   41|   117k|		}
   42|       |
   43|       |		/*
   44|       |		 * 0x80 -> 1000 0000
   45|       |		 * 0xC0 -> 1100 0000
   46|       |		 * 0xE0 -> 1110 0000
   47|       |		 *
   48|       |		 * Is unicode character is encoded using 2 bytes (second row).
   49|       |		 */
   50|  3.95k|		if ((i + 1) < len && (buf[i] & 0xe0) == 0xc0 &&
  ------------------
  |  Branch (50:7): [True: 3.94k, False: 7]
  |  Branch (50:24): [True: 2.11k, False: 1.83k]
  ------------------
   51|  2.11k|		    (buf[i + 1] & 0xc0) == 0x80)
  ------------------
  |  Branch (51:7): [True: 2.10k, False: 9]
  ------------------
   52|  2.10k|		{
   53|  2.10k|			unsigned int w;
   54|  2.10k|			w = (buf[i] & 0x1f) << 6;
   55|  2.10k|			w |= (buf[++i] & 0x3f);
   56|  2.10k|			if (w < 0x80) {
  ------------------
  |  Branch (56:8): [True: 1, False: 2.10k]
  ------------------
   57|      1|				return false;
   58|      1|			}
   59|  2.10k|			continue;
   60|  2.10k|		}
   61|       |
   62|       |		/*
   63|       |		 * 0x80 -> 1000 0000
   64|       |		 * 0xC0 -> 1100 0000
   65|       |		 * 0xE0 -> 1110 0000
   66|       |		 * 0xF0 -> 1111 0000
   67|       |		 *
   68|       |		 * Is unicode character is encoded within 3 bytes (third row).
   69|       |		 */
   70|  1.84k|		if ((i + 2) < len && (buf[i] & 0xf0) == 0xe0 &&
  ------------------
  |  Branch (70:7): [True: 1.82k, False: 17]
  |  Branch (70:24): [True: 781, False: 1.04k]
  ------------------
   71|    781|		    (buf[i + 1] & 0xc0) == 0x80 && (buf[i + 2] & 0xc0) == 0x80)
  ------------------
  |  Branch (71:7): [True: 772, False: 9]
  |  Branch (71:38): [True: 764, False: 8]
  ------------------
   72|    764|		{
   73|    764|			unsigned int w;
   74|    764|			w = (buf[i] & 0x0f) << 12;
   75|    764|			w |= (buf[++i] & 0x3f) << 6;
   76|    764|			w |= (buf[++i] & 0x3f);
   77|    764|			if (w < 0x0800) {
  ------------------
  |  Branch (77:8): [True: 2, False: 762]
  ------------------
   78|      2|				return false;
   79|      2|			}
   80|       |
   81|       |			/*
   82|       |			 * Unicode range 0xD800..0xDFFF is reserved (UTF16
   83|       |			 * surrogates)
   84|       |			 */
   85|    762|			if (w >= 0xD800 && w <= 0xDFFF) {
  ------------------
  |  Branch (85:8): [True: 482, False: 280]
  |  Branch (85:23): [True: 1, False: 481]
  ------------------
   86|      1|				return false;
   87|      1|			}
   88|    761|			continue;
   89|    762|		}
   90|       |
   91|       |		/*
   92|       |		 * 0x80 -> 1000 0000
   93|       |		 * 0xC0 -> 1100 0000
   94|       |		 * 0xE0 -> 1110 0000
   95|       |		 * 0xF0 -> 1111 0000
   96|       |		 * 0xF8 -> 1111 1000
   97|       |		 *
   98|       |		 * Is unicode character is encoded within 4 bytes (fourth row).
   99|       |		 */
  100|  1.08k|		if ((i + 3) < len && (buf[i] & 0xf8) == 0xf0 &&
  ------------------
  |  Branch (100:7): [True: 1.04k, False: 35]
  |  Branch (100:24): [True: 1.02k, False: 23]
  ------------------
  101|  1.02k|		    (buf[i + 1] & 0xc0) == 0x80 &&
  ------------------
  |  Branch (101:7): [True: 1.02k, False: 3]
  ------------------
  102|  1.02k|		    (buf[i + 2] & 0xc0) == 0x80 && (buf[i + 3] & 0xc0) == 0x80)
  ------------------
  |  Branch (102:7): [True: 1.02k, False: 1]
  |  Branch (102:38): [True: 1.01k, False: 2]
  ------------------
  103|  1.01k|		{
  104|  1.01k|			unsigned int w;
  105|  1.01k|			w = (buf[i] & 0x07) << 18;
  106|  1.01k|			w |= (buf[++i] & 0x3f) << 12;
  107|  1.01k|			w |= (buf[++i] & 0x3f) << 6;
  108|  1.01k|			w |= (buf[++i] & 0x3f);
  109|  1.01k|			if (w < 0x10000 || w > 0x10FFFF) {
  ------------------
  |  Branch (109:8): [True: 5, False: 1.01k]
  |  Branch (109:23): [True: 2, False: 1.01k]
  ------------------
  110|      7|				return false;
  111|      7|			}
  112|  1.01k|			continue;
  113|  1.01k|		}
  114|     64|		return false;
  115|  1.08k|	}
  116|  21.6k|	return true;
  117|  21.6k|}
isc_utf8_bom:
  120|  14.2k|isc_utf8_bom(const unsigned char *buf, size_t len) {
  121|  14.2k|	REQUIRE(buf != NULL);
  ------------------
  |  |  198|  14.2k|#define REQUIRE(e)   ISC_REQUIRE(e)
  |  |  ------------------
  |  |  |  |   42|  14.2k|	((void)((cond) ||                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (42:10): [True: 14.2k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   43|  14.2k|		((isc_assertion_failed)(__FILE__, __LINE__,                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:3): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   44|      0|					isc_assertiontype_require, #cond), \
  |  |  |  |   45|      0|		 0)))
  |  |  ------------------
  ------------------
  122|       |
  123|  14.2k|	if (len >= 3U && !memcmp(buf, "\xef\xbb\xbf", 3)) {
  ------------------
  |  Branch (123:6): [True: 1.01k, False: 13.2k]
  |  Branch (123:19): [True: 1, False: 1.01k]
  ------------------
  124|      1|		return true;
  125|      1|	}
  126|  14.2k|	return false;
  127|  14.2k|}

isc__uv_initialize:
  132|      2|isc__uv_initialize(void) {
  133|       |	/*
  134|       |	 * Ensure the first 3 file descriptors are open
  135|       |	 * otherwise, libuv may use one and trigger abort
  136|       |	 * when closing it.
  137|       |	 *
  138|       |	 * See https://github.com/libuv/libuv/pull/4559
  139|       |	 */
  140|      2|	do {
  141|      2|		int fd = open("/dev/null", O_RDWR, 0);
  142|      2|		RUNTIME_CHECK(fd >= 0);
  ------------------
  |  |  245|      2|	((cond) ? (void)0 : FATAL_ERROR("RUNTIME_CHECK(%s) failed", #cond))
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |  |  Branch (245:3): [True: 2, False: 0]
  |  |  ------------------
  ------------------
  143|      2|		if (fd > STDERR_FILENO) {
  ------------------
  |  Branch (143:7): [True: 2, False: 0]
  ------------------
  144|      2|			close(fd);
  145|      2|			break;
  146|      2|		}
  147|      2|	} while (true);
  ------------------
  |  Branch (147:11): [True: 0, Folded]
  ------------------
  148|      2|#if UV_VERSION_HEX >= UV_VERSION(1, 38, 0)
  149|      2|	int r;
  150|      2|	isc_mem_create("uv", &isc__uv_mctx);
  ------------------
  |  |  236|      2|#define isc_mem_create(name, cp) isc__mem_create((name), (cp)_ISC_MEM_FILELINE)
  ------------------
  151|      2|	isc_mem_setdebugging(isc__uv_mctx, 0);
  152|      2|	isc_mem_setdestroycheck(isc__uv_mctx, false);
  153|       |
  154|      2|	r = uv_replace_allocator(isc__uv_malloc, isc__uv_realloc,
  155|      2|				 isc__uv_calloc, isc__uv_free);
  156|      2|	UV_RUNTIME_CHECK(uv_replace_allocator, r);
  ------------------
  |  |   50|      2|	if (ret != 0) {                                                  \
  |  |  ------------------
  |  |  |  Branch (50:6): [True: 0, False: 2]
  |  |  ------------------
  |  |   51|      0|		FATAL_ERROR("%s failed: %s\n", #func, uv_strerror(ret)); \
  |  |  ------------------
  |  |  |  |  220|      0|	isc_error_fatal(__FILE__, __LINE__, __func__, __VA_ARGS__)
  |  |  ------------------
  |  |   52|      0|	}
  ------------------
  157|      2|#endif /* UV_VERSION_HEX >= UV_VERSION(1, 38, 0) */
  158|      2|}

isc__xml_initialize:
   52|      2|isc__xml_initialize(void) {
   53|       |#ifdef HAVE_LIBXML2
   54|       |#ifndef LIBXML_HAS_DEPRECATED_MEMORY_ALLOCATION_FUNCTIONS
   55|       |	isc_mem_create("libxml2", &isc__xml_mctx);
   56|       |	isc_mem_setdebugging(isc__xml_mctx, 0);
   57|       |	isc_mem_setdestroycheck(isc__xml_mctx, false);
   58|       |
   59|       |	RUNTIME_CHECK(xmlMemSetup(isc__xml_free, isc__xml_malloc,
   60|       |				  isc__xml_realloc, isc__xml_strdup) == 0);
   61|       |#endif /* !LIBXML_HAS_DEPRECATED_MEMORY_ALLOCATION_FUNCTIONS */
   62|       |
   63|       |	xmlInitParser();
   64|       |#endif /* HAVE_LIBXML2 */
   65|      2|}

