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

Reply via email to