ADD_STRING
ADD_STRING(&str[start], len, 0);
ADD_STRING(&str[i], len, 0);
ADD_STRING(tmp, len, 1);
ADD_STRING(buf, " ");
ADD_STRING(buf, " from server ");
ADD_STRING(buf, query->servname);
ADD_STRING(buf, store);
ADD_STRING(buf, "\n");
ADD_STRING(target, ";; ");
ADD_STRING(target, sectiontext[section]);
ADD_STRING(target, updsectiontext[section]);
ADD_STRING(target, " SECTION:\n");
ADD_STRING(target, ";");
ADD_STRING(target, "\n");
ADD_STRING(target, ": ");
ADD_STRING(target, addr_text);
ADD_STRING(target, addr_text);
ADD_STRING(target, ";; OPT PSEUDOSECTION:\n");
ADD_STRING(target, "; EDNS: version: ");
ADD_STRING(target, buf);
ADD_STRING(target, ", flags:");
ADD_STRING(target, " do");
ADD_STRING(target, "; MBZ: ");
ADD_STRING(target, buf);
ADD_STRING(target, ", udp: ");
ADD_STRING(target, "; udp: ");
ADD_STRING(target, buf);
ADD_STRING(target, "; NSID");
ADD_STRING(target, "; COOKIE");
ADD_STRING(target, "; CLIENT-SUBNET");
ADD_STRING(target, "\n");
ADD_STRING(target, "; EXPIRE: ");
ADD_STRING(target, buf);
ADD_STRING(target, " (");
ADD_STRING(target, ")\n");
ADD_STRING(target, "; EXPIRE");
ADD_STRING(target, "; PAD");
ADD_STRING(target, "; KEY-TAG");
ADD_STRING(target, buf);
ADD_STRING(target, "\n");
ADD_STRING(target, "; EDE");
ADD_STRING(target, buf);
ADD_STRING(target,
ADD_STRING(target, ")");
ADD_STRING(target, "; ZONEVERSION: ");
ADD_STRING(target, buf);
ADD_STRING(target,
ADD_STRING(target, buf);
ADD_STRING(target, " (");
ADD_STRING(target, zone);
ADD_STRING(target, ")");
ADD_STRING(target, "\")");
ADD_STRING(target, "; OPT=");
ADD_STRING(target, buf);
ADD_STRING(target, ": ");
ADD_STRING(target, buf);
ADD_STRING(target, " (good)");
ADD_STRING(target, " (bad)");
ADD_STRING(target, "\n");
ADD_STRING(target, "\n");
ADD_STRING(target, "(\"");
ADD_STRING(target, "\")");
ADD_STRING(target, "\n");
ADD_STRING(target, ";; TSIG PSEUDOSECTION:\n");
ADD_STRING(target, "\n");
ADD_STRING(target, ";; SIG0 PSEUDOSECTION:\n");
ADD_STRING(target, "\n");