diff options
Diffstat (limited to 'net-misc/chrony/files/chrony-1.21-addrfilt.c.diff')
-rw-r--r-- | net-misc/chrony/files/chrony-1.21-addrfilt.c.diff | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/net-misc/chrony/files/chrony-1.21-addrfilt.c.diff b/net-misc/chrony/files/chrony-1.21-addrfilt.c.diff new file mode 100644 index 000000000000..07f7cb36b511 --- /dev/null +++ b/net-misc/chrony/files/chrony-1.21-addrfilt.c.diff @@ -0,0 +1,86 @@ +Patched addrfilt.c to fix gcc 4.0 build problem. +"array type has incomplete element type" +Taken from Debian: <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=298709> +diff -ur chrony-1.21/addrfilt.c chrony-1.21/addrfilt.c +--- chrony-1.21/addrfilt.c 2005-08-11 22:32:54.000000000 +0200 ++++ chrony-1.21/addrfilt.c 2005-11-15 04:05:06.000000000 +0100 +@@ -43,17 +43,15 @@ + /* Define the table size */ + #define TABLE_SIZE (1UL<<NBITS) + +-struct _TableNode; +- +-typedef struct _TableNode ExtendedTable[TABLE_SIZE]; +- + typedef enum {DENY, ALLOW, AS_PARENT} State; + + typedef struct _TableNode { + State state; +- ExtendedTable *extended; ++ struct _TableNode *extended; + } TableNode; + ++typedef struct _TableNode ExtendedTable[TABLE_SIZE]; ++ + struct ADF_AuthTableInst { + TableNode base; + }; +@@ -101,7 +99,7 @@ + + if (node->extended != NULL) { + for (i=0; i<TABLE_SIZE; i++) { +- child_node = &((*(node->extended))[i]); ++ child_node = node->extended + i; + close_node(child_node); + } + Free(node->extended); +@@ -124,10 +122,11 @@ + + if (node->extended == NULL) { + +- node->extended = MallocNew(ExtendedTable); ++ ++ node->extended = (TableNode *) MallocArray(ExtendedTable, TABLE_SIZE); + + for (i=0; i<TABLE_SIZE; i++) { +- child_node = &((*(node->extended))[i]); ++ child_node = node->extended + i; + child_node->state = AS_PARENT; + child_node->extended = NULL; + } +@@ -168,7 +167,7 @@ + if (!(node->extended)) { + open_node(node); + } +- node = &((*(node->extended))[subnet]); ++ node = node->extended + subnet; + bits_to_go -= NBITS; + } + +@@ -187,7 +186,7 @@ + if (!(node->extended)) { + open_node(node); + } +- node = &((*(node->extended))[subnet]); ++ node = node->extended + subnet; + bits_to_go -= NBITS; + } + +@@ -199,7 +198,7 @@ + } + + for (i=subnet, j=0; j<N; i++, j++) { +- this_node = &((*(node->extended))[i]); ++ this_node = node->extended + i; + if (delete_children) { + close_node(this_node); + } +@@ -283,7 +282,7 @@ + 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; |