From d2a7dc2347c0e3cf8316c5de45fbfeed3aa650db Mon Sep 17 00:00:00 2001 From: "Richard P. Curnow" Date: Thu, 19 Jan 2006 21:56:19 +0000 Subject: [PATCH] Fix gcc-4 compilation of addrfilt.c John Hasler sent in a patch to do this (which still wouldn't make it compile for me). This reminded me that I had tackled this myself when my distro moved to gcc-4 a while back. It turned out I had never even checked in the file from the working copy I was using (!). Anyway, here it is now. --- addrfilt.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/addrfilt.c b/addrfilt.c index b3c6a59..1335638 100644 --- a/addrfilt.c +++ b/addrfilt.c @@ -6,7 +6,7 @@ chronyd/chronyc - Programs for keeping computer clocks accurate. ********************************************************************** - * Copyright (C) Richard P. Curnow 1997-2002 + * Copyright (C) Richard P. Curnow 1997,1998,1999,2000,2001,2002,2005 * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -43,15 +43,11 @@ /* Define the table size */ #define TABLE_SIZE (1UL<extended != NULL) { for (i=0; iextended))[i]); + child_node = &(node->extended[i]); close_node(child_node); } Free(node->extended); @@ -124,10 +120,10 @@ open_node(TableNode *node) if (node->extended == NULL) { - node->extended = MallocNew(ExtendedTable); + node->extended = MallocArray(struct _TableNode, TABLE_SIZE); for (i=0; iextended))[i]); + child_node = &(node->extended[i]); child_node->state = AS_PARENT; child_node->extended = NULL; } @@ -168,7 +164,7 @@ set_subnet(TableNode *start_node, if (!(node->extended)) { open_node(node); } - node = &((*(node->extended))[subnet]); + node = &(node->extended[subnet]); bits_to_go -= NBITS; } @@ -187,7 +183,7 @@ set_subnet(TableNode *start_node, if (!(node->extended)) { open_node(node); } - node = &((*(node->extended))[subnet]); + node = &(node->extended[subnet]); bits_to_go -= NBITS; } @@ -199,7 +195,7 @@ set_subnet(TableNode *start_node, } for (i=subnet, j=0; jextended))[i]); + this_node = &(node->extended[i]); if (delete_children) { close_node(this_node); } @@ -283,7 +279,7 @@ check_ip_in_node(TableNode *start_node, unsigned long ip) if (node->extended) { subnet = get_subnet(residual); residual = get_residual(residual); - node = &((*(node->extended))[subnet]); + node = &(node->extended[subnet]); } else { /* Make decision on this node */ finished = 1;