};
#define BFH(p) ((struct bfhead *) (p))
-static struct bfhead freelist = { /* List of free buffers */
- {0, 0},
- {&freelist, &freelist}
-};
+static struct bfhead freelist; /* List of free buffers */
+
+
#ifdef BufStats
assert(len - sizeof(struct bhead) <= -((bufsize) ESent + 1));
+ /* Initialize Free list since compile time static initializations appear to be broken */
+ freelist.bh.prevfree = 0;
+ freelist.bh.bsize = 0;
+ freelist.ql.flink = &freelist;
+ freelist.ql.blink = &freelist;
+
+
+
/* Clear the backpointer at the start of the block to indicate that
there is no free block prior to this one. That blocks
recombination when the first block in memory is released. */