summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.diff86
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;