* - consistency checks
*/
/*
- * This file is part of adns, which is
- * Copyright (C) 1997-2000,2003,2006 Ian Jackson
- * Copyright (C) 1999-2000,2003,2006 Tony Finch
- * Copyright (C) 1991 Massachusetts Institute of Technology
- * (See the file INSTALL for full details.)
+ * This file is part of adns, which is Copyright Ian Jackson
+ * and contributors (see the file INSTALL for full details).
*
* 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
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, write to the Free Software Foundation.
*/
#include "internal.h"
const struct sortlist *sl;
int i;
- assert(ads->udpsocket >= 0);
+ assert(ads->udpsockets >= 0);
for (i=0; i<ads->nsortlist; i++) {
sl= &ads->sortlist[i];
}
static void checkc_queue_childw(adns_state ads) {
- adns_query parent, child;
+ adns_query parent, child, search;
DLIST_CHECK(ads->childw, parent, , {
assert(parent->state == query_childw);
assert(parent->children.head);
DLIST_CHECK(parent->children, child, siblings., {
assert(child->parent == parent);
- assert(child->state != query_done);
+ if (child->state == query_done) {
+ for (search= ads->intdone.head; search; search= search->next)
+ if (search==child) goto child_done_ok;
+ assert(!"done child not on intdone");
+ child_done_ok:;
+ }
});
checkc_query(ads,parent);
checkc_query_alloc(ads,parent);
switch (cc) {
case cc_user:
break;
- case cc_entex:
+ case cc_enter:
+ if (!(ads->iflags & adns_if_checkc_entex)) return;
+ break;
+ case cc_exit:
if (!(ads->iflags & adns_if_checkc_entex)) return;
assert(!ads->intdone.head);
break;