-const char *adns__diag_domain(adns_state ads, int serv, vbuf *vb, int flags,
- const byte *dgram, int dglen, int cbyte) {
- adns_status st;
-
- st= adns__parse_domain(ads,serv,vb,qu->flags, dgram,dglen, &cbyte,dglen);
- if (st) {
- vb->used= 0;
- adns__vbuf_appendstr(vb,"<bad format... ");
- adns__vbuf_appendstr(vb,adns_strerror(st));
- adns__vbuf_appendstr(vb,">");
- adns__vbuf_append(vb,"",1);
- }
- if (!vb.used) {
- adns__vbuf_appendstr(vb,"<truncated ...>");
- adns__vbuf_append(vb,"",1);
- }
- return vb->buf;
-}
-
-adns_status adns__findrr(adns_state ads, int serv,
- const byte *dgram, int dglen, int *cbyte_io,
- int *type_r, int *class_r, int *rdlen_r, int *rdstart_r,
- const byte *eo_dgram, int eo_dglen, int eo_cbyte,
- int *eo_matched_r) {
- /* Finds the extent and some of the contents of an RR in a datagram
- * and does some checks. The datagram is *dgram, length dglen, and
- * the RR starts at *cbyte_io (which is updated afterwards to point
- * to the end of the RR).
- *
- * The type, class and RRdata length and start are returned iff
- * the corresponding pointer variables are not null. type_r and
- * class_r may not be null.
+static adns_status findrr_intern(adns_query qu, int serv,
+ const byte *dgram, int dglen, int *cbyte_io,
+ int *type_r, int *class_r, int *rdlen_r, int *rdstart_r,
+ const byte *eo_dgram, int eo_dglen, int eo_cbyte,
+ int *eo_matched_r) {
+ /* Like adns__findrr_checked, except that the datagram to compare
+ * with can be specified explicitly.