From 0304c75bba2a94e2ffb24fe29420c58e580decc7 Mon Sep 17 00:00:00 2001
From: "Sven M. Hallberg" <pesco@khjk.org>
Date: Thu, 17 Jan 2013 19:15:33 +0100
Subject: [PATCH] correct improper uses of H_FIELD on domain-only RDATAs

---
 examples/dns.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/examples/dns.c b/examples/dns.c
index 637b2a13..e3c8bd97 100644
--- a/examples/dns.c
+++ b/examples/dns.c
@@ -74,16 +74,16 @@ void set_rdata(struct dns_rr rr, HCountedArray *rdata) {
     rr.a = p->ast->seq->elements[0]->uint;
     break;
   case 2: // NS
-    rr.ns = *H_FIELD(dns_domain_t, 0);
+    rr.ns = *(dns_domain_t *)p->ast->user;
     break;
   case 3: // MD
-    rr.md = *H_FIELD(dns_domain_t, 0);
+    rr.md = *(dns_domain_t *)p->ast->user;
     break;
   case 4: // MF
-    rr.md = *H_FIELD(dns_domain_t, 0);
+    rr.md = *(dns_domain_t *)p->ast->user;
     break;
   case 5: // CNAME
-    rr.cname = *H_FIELD(dns_domain_t, 0);
+    rr.cname = *(dns_domain_t *)p->ast->user;
     break;
   case 6: // SOA
     rr.soa.mname = *H_FIELD(dns_domain_t, 0);
@@ -95,13 +95,13 @@ void set_rdata(struct dns_rr rr, HCountedArray *rdata) {
     rr.soa.minimum = p->ast->seq->elements[6]->uint;
     break;
   case 7: // MB
-    rr.mb = *H_FIELD(dns_domain_t, 0);
+    rr.mb = *(dns_domain_t *)p->ast->user;
     break;
   case 8: // MG
-    rr.mg = *H_FIELD(dns_domain_t, 0);
+    rr.mg = *(dns_domain_t *)p->ast->user;
     break;
   case 9: // MR
-    rr.mr = *H_FIELD(dns_domain_t, 0);
+    rr.mr = *(dns_domain_t *)p->ast->user;
     break;
   case 10: // NULL
     rr.null = h_arena_malloc(rdata->arena, sizeof(uint8_t)*p->ast->seq->used);
@@ -117,7 +117,7 @@ void set_rdata(struct dns_rr rr, HCountedArray *rdata) {
       rr.wks.bit_map[i] = p->ast->seq->elements[2]->seq->elements[i]->uint;
     break;
   case 12: // PTR
-    rr.ptr = *H_FIELD(dns_domain_t, 0);
+    rr.ptr = *(dns_domain_t *)p->ast->user;
     break;
   case 13: // HINFO
     rr.hinfo.cpu = get_cs(p->ast->seq->elements[0]->seq);
@@ -132,7 +132,7 @@ void set_rdata(struct dns_rr rr, HCountedArray *rdata) {
     rr.mx.exchange = *H_FIELD(dns_domain_t, 1);
     break;
   case 16: // TXT
-    rr.txt = *(dns_rr_txt_t *)p->ast;
+    rr.txt = *(dns_rr_txt_t *)p->ast->user;
     break;
   default:
     break;
-- 
GitLab