Date: Mon, 7 Oct 2013 10:49:11 -0500 From: Eric van Gyzen <eric_van_gyzen@dell.com> To: freebsd-net@freebsd.org Cc: Eric van Gyzen <eric@vangyzen.net> Subject: sys/net/radix.h: #define Free(p) for user-land Message-ID: <5252D7F7.3030709@dell.com>
next in thread | raw e-mail | index | archive | help
The user-land definition of the Free() macro in sys/net/radix.h is rather inconvenient. I work on a large C++ code-base, where several classes define Free() functions. This header file gets indirectly included in a few modules (via nested #includes), so we have to #undef Free to work around this macro definition. Ideally, radix.h would define a more unique name, such as R_Free(). If I were using a C code-base, you could say the same about my code, but it's C++, and Free() is already well qualified by classes and/or namespaces. Is this Free() macro considered a well-defined, widely known, and therefore mandatory part of the API, or could it be renamed to something more unique? Alternatively, could it be changed to an inline function definition, so as not to conflict with declarations in other namespaces? If any of these is possible, I'll gladly provide the blindingly trivial patch, although I don't have a commit bit. Finding in-tree consumers of this macro is difficult, due to its generic name. Its counterparts--R_Malloc and R_Zalloc--only appear in sys/net/{radix,route,rtsock}.c (on head). The recent ipfilter update removed the only [potential] in-tree user-land consumer. Eric -- *Eric van Gyzen* Senior Software Development Engineer *Dell* | Compellent *office* +1 952 562 3197 Cube J-732, 7615 Smetana Lane Eden Prairie, MN 55344 eric_van_gyzen@dell.com <mailto:eric_van_gyzen@dell.com>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5252D7F7.3030709>