On Sep 7, 2013, at 9:46 AM, Gerald Combs <[email protected]> wrote:
> On 9/7/13 5:53 AM, Evan Huus wrote:
>> The usual trick in this situation is to wrap the macro in a "do { MY
>> CODE } while (0)" so that it behaves syntactically like a normal
>> function call. I have done this in r51819, so it should work now.
>
> Is there any reason we shouldn't convert the macros in address.h (and
> proto.h and packet.h and ...) to inline functions?
The only reason to would be "caring about compilers that don't handle inline
functions", but that may be significantly less important now than when the code
was originally written, as more of the compilers with which Wireshark can be
compiled probably now support inline functions.
According to
https://developer.gnome.org/glib/stable/glib-Miscellaneous-Macros.html#G-INLINE-FUNC:CAPS
"...inline is already declared in a portable manner in the GLib headers and can
be used normally.", so if some compiler uses something *other* than just
"inline" (e.g., "__inline", as I think some compilers with which we compile
do), "inline" gets defined appropriately.
Presumably they'd be "static inline".
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <[email protected]>
Archives: http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
mailto:[email protected]?subject=unsubscribe