chiark / gitweb /
src/types.c: Rename `hunoz' (style)
[adns.git] / src / types.c
index 8b9723e1e34f3774ca9bf54fc57048f71c157017..55a7709373532421d31f4363bf7f54e3e6531f3c 100644 (file)
@@ -365,7 +365,7 @@ enum {
   addr_nrrtypes,
 #define RRTY_FLAG(ty) addr_rf_##ty = 1 << addr__ri_##ty,
   ADDR_RRTYPES(RRTY_FLAG)
-  addr__rrty_hunoz
+  addr__rrty_eat_final_comma
 #undef RRTY_FLAG
 };
 
@@ -1135,14 +1135,15 @@ static adns_status cs_inthost(vbuf *vb, const void *datap) {
 
 static adns_status ckl_ptr(adns_state ads, adns_queryflags flags,
                           union checklabel_state *cls, qcontext *ctx,
-                          int labnum, const char *label, int lablen) {
+                          int labnum, const char *dgram,
+                          int labstart, int lablen) {
   if (lablen) {
-    if (adns__revparse_label(&cls->ptr, labnum, label,lablen))
+    if (!adns__revparse_label(&cls->ptr, labnum, dgram,labstart,lablen))
       return adns_s_querydomainwrong;
   } else {
-    if (adns__revparse_done(&cls->ptr, labnum,
-                           &ctx->tinfo.ptr.rev_rrtype,
-                           &ctx->tinfo.ptr.addr))
+    if (!adns__revparse_done(&cls->ptr, dgram, labnum,
+                            &ctx->tinfo.ptr.rev_rrtype,
+                            &ctx->tinfo.ptr.addr))
       return adns_s_querydomainwrong;
   }
   return adns_s_ok;
@@ -1418,12 +1419,15 @@ static adns_status cs_soa(vbuf *vb, const void *datap) {
 
 static adns_status ckl_srv(adns_state ads, adns_queryflags flags,
                           union checklabel_state *cls, qcontext *ctx,
-                          int labnum, const char *label, int lablen) {
-  if (labnum < 2 && !(flags & adns_qf_quoteok_query)) {
+                          int labnum, const char *dgram,
+                          int labstart, int lablen) {
+  const char *label = dgram+labstart;
+  if (labnum < 2) {
+    if (flags & adns_qf_quoteok_query) return adns_s_ok;
     if (!lablen || label[0] != '_') return adns_s_querydomaininvalid;
     return adns_s_ok;
   }
-  return adns__ckl_hostname(ads, flags, cls, ctx, labnum, label, lablen);
+  return adns__ckl_hostname(ads,flags, cls,ctx, labnum, dgram,labstart,lablen);
 }
 
 static adns_status pap_srv_begin(const parseinfo *pai, int *cbyte_io, int max,