Allows ADNS to build on MacOS X --md@hudora.de diff -ru adns-1.0/Makefile adns-1.0-osx/Makefile --- adns-1.0/Makefile Sun Sep 17 16:17:01 2000 +++ adns-1.0-osx/Makefile Tue May 13 22:17:47 2003 @@ -28,7 +28,7 @@ srcdir= . -ENABLE_DYNAMIC= elf +ENABLE_DYNAMIC= nope ifeq ($(ENABLE_DYNAMIC),elf) SUBDIRS_DYNAMIC=dynamic else diff -ru adns-1.0/configure.in adns-1.0-osx/configure.in --- adns-1.0/configure.in Sun Sep 17 02:24:24 2000 +++ adns-1.0-osx/configure.in Tue May 13 21:46:15 2003 @@ -21,7 +21,8 @@ # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -AC_INIT(src/adns.h) +AC_INIT +AC_CONFIG_SRCDIR([src/adns.h]) AC_CONFIG_HEADER(src/config.h) dnl DPKG_CACHED_TRY_COMPILE(,,,,,) @@ -141,7 +142,7 @@ MKSHLIB_2='' MKSHLIB_3='-lc' -AC_OUTPUT( - settings.make Makefile +AC_CONFIG_FILES([settings.make Makefile src/Makefile client/Makefile dynamic/Makefile regress/Makefile -) +]) +AC_OUTPUT diff -ru adns-1.0/src/check.c adns-1.0-osx/src/check.c --- adns-1.0/src/check.c Sun Sep 17 02:24:24 2000 +++ adns-1.0-osx/src/check.c Tue May 13 22:09:44 2003 @@ -51,6 +51,15 @@ } \ } while(0) +#define DLIST_ASSERTON_NOPART(node, nodevar, list) \ + do { \ + for ((nodevar)= (list).head; \ + (nodevar) != (node); \ + (nodevar)= (nodevar)-> next) { \ + assert((nodevar)); \ + } \ + } while(0) + static void checkc_query_alloc(adns_state ads, adns_query qu) { allocnode *an; @@ -181,16 +190,16 @@ if (qu) { switch (qu->state) { case query_tosend: - DLIST_ASSERTON(qu, search, ads->udpw, ); + DLIST_ASSERTON_NOPART(qu, search, ads->udpw); break; case query_tcpw: - DLIST_ASSERTON(qu, search, ads->tcpw, ); + DLIST_ASSERTON_NOPART(qu, search, ads->tcpw); break; case query_childw: - DLIST_ASSERTON(qu, search, ads->childw, ); + DLIST_ASSERTON_NOPART(qu, search, ads->childw); break; case query_done: - DLIST_ASSERTON(qu, search, ads->output, ); + DLIST_ASSERTON_NOPART(qu, search, ads->output); break; default: assert(!"specific query state"); diff -ru adns-1.0/src/dlist.h adns-1.0-osx/src/dlist.h --- adns-1.0/src/dlist.h Mon May 8 00:37:18 2000 +++ adns-1.0-osx/src/dlist.h Tue May 13 22:05:48 2003 @@ -47,7 +47,21 @@ (list).tail= (node); \ } while(0) -#define LIST_UNLINK(list,node) LIST_UNLINK_PART(list,node,) -#define LIST_LINK_TAIL(list,node) LIST_LINK_TAIL_PART(list,node,) +#define LIST_UNLINK(list,node) \ + do { \ + if ((node)-> back) (node)-> back-> next= (node)-> next; \ + else (list).head= (node)-> next; \ + if ((node)-> next) (node)-> next-> back= (node)-> back; \ + else (list).tail= (node)-> back; \ + } while(0) + + +#define LIST_LINK_TAIL(list,node) \ + do { \ + (node)-> next= 0; \ + (node)-> back= (list).tail; \ + if ((list).tail) (list).tail-> next= (node); else (list).head= (node); \ + (list).tail= (node); \ + } while(0) #endif