chiark / gitweb /
Test case for infinite timeouts.
[adns.git] / src / setup.c
index e29c2cf1955d2eaf5c28c3cb44a5cb4e9fbbd6c5..83526251e1ab4c22b19a497eeb9fe133f42909bb 100644 (file)
@@ -4,7 +4,12 @@
  * - management of global state
  */
 /*
- *  This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson
+ *  This file is
+ *    Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
+ *
+ *  It is part of adns, which is
+ *    Copyright (C) 1997-1999 Ian Jackson <ian@davenant.greenend.org.uk>
+ *    Copyright (C) 1999 Tony Finch <dot@dotat.at>
  *  
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -464,6 +469,7 @@ static int init_begin(adns_state *ads_r, adns_initflags flags, FILE *diagfile) {
   ads->udpsocket= ads->tcpsocket= -1;
   adns__vbuf_init(&ads->tcpsend);
   adns__vbuf_init(&ads->tcprecv);
+  ads->tcprecv_skip= 0;
   ads->nservers= ads->nsortlist= ads->nsearchlist= ads->tcpserver= 0;
   ads->searchndots= 1;
   ads->tcpstate= server_disconnected;
@@ -510,7 +516,7 @@ static void init_abort(adns_state ads) {
   free(ads);
 }
 
-int adns_init(adns_state *ads_r, adns_initflags flags, FILE *diagfile) {
+int adns_init(adns_state *ads_r, int flags, FILE *diagfile) {
   adns_state ads;
   const char *res_options, *adns_res_options;
   int r;
@@ -545,12 +551,12 @@ int adns_init(adns_state *ads_r, adns_initflags flags, FILE *diagfile) {
   r= init_finish(ads);
   if (r) return r;
 
-  adns__consistency(ads,cc_entex);
+  adns__consistency(ads,0,cc_entex);
   *ads_r= ads;
   return 0;
 }
 
-int adns_init_strcfg(adns_state *ads_r, adns_initflags flags,
+int adns_init_strcfg(adns_state *ads_r, int flags,
                     FILE *diagfile, const char *configtext) {
   adns_state ads;
   int r;
@@ -565,14 +571,14 @@ int adns_init_strcfg(adns_state *ads_r, adns_initflags flags,
   }
 
   r= init_finish(ads);  if (r) return r;
-  adns__consistency(ads,cc_entex);
+  adns__consistency(ads,0,cc_entex);
   *ads_r= ads;
   return 0;
 }
 
 
 void adns_finish(adns_state ads) {
-  adns__consistency(ads,cc_entex);
+  adns__consistency(ads,0,cc_entex);
   for (;;) {
     if (ads->timew.head) adns_cancel(ads->timew.head);
     else if (ads->childw.head) adns_cancel(ads->childw.head);
@@ -587,7 +593,7 @@ void adns_finish(adns_state ads) {
 }
 
 void adns_forallqueries_begin(adns_state ads) {
-  adns__consistency(ads,cc_entex);
+  adns__consistency(ads,0,cc_entex);
   ads->forallnext=
     ads->timew.head ? ads->timew.head :
     ads->childw.head ? ads->childw.head :
@@ -597,7 +603,7 @@ void adns_forallqueries_begin(adns_state ads) {
 adns_query adns_forallqueries_next(adns_state ads, void **context_r) {
   adns_query qu, nqu;
 
-  adns__consistency(ads,cc_entex);
+  adns__consistency(ads,0,cc_entex);
   nqu= ads->forallnext;
   for (;;) {
     qu= nqu;