clean up FREE_CAP
The NetBSD project has a local patch for
named/os.c that converts the macro
FREE_CAP to the standard form using the do-while-0 pattern.
The current code in os.c lacks in clarity since merely writing
FREE_CAP; does not look like a function call, it doesn't look like idiomatic C at all, and it hides the fact that it accesses the local variables
The macro should either be inlined in the two places where it is used, or it should be converted to a
static function, for the benefit of human readers.
Maybe it's even better for long-term maintainability to replace the macros with ordinary functions since then a debugging version of
named includes helpful line numbers for the code in question.