Subject: BIND 9 vs NetBSD 1.4U
To: None <tech-net@netbsd.org>
From: Michael Graff <Michael.Graff@nominum.com>
List: tech-net
Date: 03/13/2000 13:06:15
Are the CMSG_SPACE() macros no longer usable to allocate space for various
buffer bits?

------- Start of forwarded message -------

Michael,

I upgraded trebuchet to the latest -current, and now BIND 9 no longer
compiles:

  socket.c:186: variable-size type declared outside of any function

This is because BIND 9 declares a struct field "unsigned char
cmsg[TOTAL_SPACE];", and the definition of TOTAL_SPACE involves the
CMSG_SPACE() macro from <sys/socket.h>.  In 1.4U, CMSG_SPACE() does
not expand to a compile-time constant but to an expression involving a
function call, making it unsuitable for use as an array size.

------- End of forwarded message -------