X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=src%2Fquery.c;h=771a985061fd8da96d0f7e8623662176c4c8271c;hp=a0723a5c41ef152d06c42ba879c1be3a097a3a37;hb=11c4794c463d5473077b21c439c96659a448f6da;hpb=b582ca0f999ffd51e26c5543d2023ea137af3bec diff --git a/src/query.c b/src/query.c index a0723a5..771a985 100644 --- a/src/query.c +++ b/src/query.c @@ -111,9 +111,10 @@ static void query_submit(adns_state ads, adns_query qu, adns_status adns__ckl_hostname(adns_state ads, adns_queryflags flags, union checklabel_state *cls, qcontext *ctx, int labnum, - const char *label, int lablen) + const char *dgram, int labstart, int lablen) { int i, c; + const char *label = dgram+labstart; if (flags & adns_qf_quoteok_query) return adns_s_ok; for (i=0; i= 0); - err= typei->checklabel(ads,flags, &cls,ctx, - labnum++, dgram+labstart,lablen); - if (err) return err; + st= adns__findlabel_next(&fls, &lablen,&labstart); + assert(!st); assert(lablen >= 0); + st= typei->checklabel(ads,flags, &cls,ctx, + labnum++, dgram,labstart,lablen); + if (st) return st; } while (lablen); return adns_s_ok; } @@ -154,12 +155,12 @@ adns_status adns__internal_submit(adns_state ads, adns_query *query_r, adns_queryflags flags, struct timeval now, qcontext *ctx) { adns_query qu; - adns_status err; + adns_status st; - err= check_domain_name(ads, flags,ctx,typei, qumsg_vb->buf,qumsg_vb->used); - if (err) goto x_err; + st= check_domain_name(ads, flags,ctx,typei, qumsg_vb->buf,qumsg_vb->used); + if (st) goto x_err; qu= query_alloc(ads,typei,type,flags,now); - if (!qu) { err = adns_s_nomemory; goto x_err; } + if (!qu) { st = adns_s_nomemory; goto x_err; } *query_r= qu; qu->parent= parent; @@ -171,7 +172,7 @@ adns_status adns__internal_submit(adns_state ads, adns_query *query_r, x_err: adns__vbuf_free(qumsg_vb); - return err; + return st; } static void query_simple(adns_state ads, adns_query qu,