I had wondered about that from a distant memory but then I saw that the end of the structure is private. Therefore if I move it to the end it's breaking the semantics of publicity instead of the ability to blindly traverse the struct's members.
Is the former deemed better? Do I need to preceed it with a "/* Public */" to counteract this? Thanks for the help, Andrew On 27/02/14 14:53, Gustavo Sverzut Barbieri wrote: > On Wed, Feb 26, 2014 at 11:37 AM, Andy Williams <a...@andywillias.me> wrote: > >> +++ b/src/lib/eina/eina_log.h >> @@ -413,6 +413,7 @@ typedef struct _Eina_Log_Domain Eina_Log_Domain; >> struct _Eina_Log_Domain >> { >> int level; /**< Max level to log */ >> + const char *color; /**< Color to use when printing in this domain */ >> const char *domain_str; /**< Formatted string with color to print */ >> const char *name; /**< Domain name */ >> size_t namelen; /**< strlen(name) */ > you can't insert color there. This is a public structure that may be > used by custom log_handlers, then you broke the structure layout, > resulting in an ABI break. > > You must add it at the end of the structure. > > (and yes, people do use this, I have some private code that overrides > the log function do send to stderr and also an elm_entry with log in > the UI, similar to Chrome's or Firebug's console). > > ------------------------------------------------------------------------------ Flow-based real-time traffic analytics software. Cisco certified tool. Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer Customize your own dashboards, set traffic alerts and generate reports. Network behavioral analysis & security monitoring. All-in-one tool. http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel