]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: compat: define a new empty type empty_t for non-implemented fields
authorWilly Tarreau <w@1wt.eu>
Tue, 21 May 2019 17:48:44 +0000 (19:48 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 21 May 2019 18:03:03 +0000 (20:03 +0200)
commit9a85a1700b57c8a7fdb0f53b5b161eb6480c9de6
tree135804843724a7f66364e6d6cc5ca2a0643eedf2
parentf61782418cb008f377270b73ef498924e7faf141
MINOR: compat: define a new empty type empty_t for non-implemented fields

Some structures have optional fields which depend on availability of
certain features on certain platforms, and having to stuff lots of
ifdefs in these structs makes them unreadable. Using real values like
ints requires some initialization and adds even more confusion.

Here we take a different approach : we create an empty type called
empty_t to use as a substitute for the real type that is not implemented
and which doesn't contain any value (it's an empty struct). Thus it has
a size of zero but an address, thus a pointer may point to it. It will
not have to be initialized though. Some initialization code might even
continue to work and do nothing like initializing it using memset with
its sizeof which is zero.
include/common/compat.h